Friday, May 24th 2013, 7:21am UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to Monitoring-Portal.
Although this is a german monitoring forum, please don't hesitate to post in English. Nearly everybody here understands you and will answer in English as well.
If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form to register here or read more information about the registration process. If you are already registered, please login here.

Ic3mAn1986

Beginner

Posts: 21

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.0

Icinga Version: 1.4.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 146

Number of services: >650

OS: Suse Enterprise Server 11 SP1

Plugin Version: 1.4.15

Other Addons: Pnp4Nagios 0.6.14, check_multi 0.25, NagiosQL

1

Tuesday, February 16th 2010, 11:03am

LogFiles auf Dateialter prüfen und an Nagios weitergeben

Hallo,

ich hoffe ich bin hier richtig.

Ich habe die Aufgabe, die LogFiles der vorhandenen HL7 Schnittstellen auf Ihr Dateialter zu prüfen.
Es handelt sich um ca. 20 Schnittstellen und daraus resultierenden LogFiles.
Diese befinden sich alle in einem Ordner, auf einem Linux Server (z.B. unter /vat/HL7).

Auf Vorschlag des Netzadmins wäre es am besten, diese Dateien per Cronjob zu prüfen und das Ergebniss dann an das Nagiossystem zu senden (send_nsca).

Da dieses mein erstes Linux Project ist und es auch mit der Programmierung nicht so besonders gestellt ist, wende ich mich an die Community.

Ich hoffe Ihr könnt mir Helfen und vlt. ein paar Denkanstöße in die richtige Richtung geben.
Man kann einen Computer nicht wie eine Frau behandeln, ein Computer braucht Liebe!
:love: :love:

This post has been edited 1 times, last edit by "Ic3mAn1986" (Feb 16th 2010, 11:27am)


dnsmichi

Super Moderator

Posts: 5,989

Birthday: May 30th 1983 (29)

Gender: male

Location: Nürnberg

Occupation: Consultant / Developer beim besten Arbeitgeber der Welt @netways

Number of monitoring servers: Icinga: 4x dev, 10++ prod, Icinga2: 2x dev

Nagios Version: s/nagios/icinga/

Icinga Version: 1.9.1 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 1000+

Number of services: 15000+

OS: RHEL, Debian, SUSE

Plugin Version: 1.4.16

IDO-Version: 1.9.1 / GIT MySQL/Postgresql/Oracle

Other Addons: Icinga Web, PNP, check_multi, inGraph, EventDB, LConf

2

Tuesday, February 16th 2010, 12:19pm

naja, das was der sysadmin vorschlaegt, waer imho auch ein richtiger weg, das so zu tun. du musst lediglich sicherstellen, dass nsca server/client zusammenarbeiten und die ergebnisse des cronjobs im richtigen format gesendet werden.
+++ Icinga / LConf Developer +++ Senior Consultant at []NETWAYS> +++
+++ Icinga 1.9 || Icinga 2 +++ Icinga Support || IRC +++

Ic3mAn1986

Beginner

Posts: 21

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.0

Icinga Version: 1.4.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 146

Number of services: >650

OS: Suse Enterprise Server 11 SP1

Plugin Version: 1.4.15

Other Addons: Pnp4Nagios 0.6.14, check_multi 0.25, NagiosQL

3

Tuesday, February 16th 2010, 12:45pm

Das mit dem NSCA dürfte kein Problem geben, bzw. sein. Da ist der Aufbau relativ simpel.

Nur der Cronjob, bzw. das das laufende Script macht mir Kopfzerbrechen.
Wie prüfe ich mehrere Dateien auf deren Alten und gebe dieses in einer übersichtlichen Form an Nagios weiter.

Eine Ausgabe á la check_multi wäre laut meines Praktikumsbetreuer nicht schlecht, aber ich denke recht schwierig umzusetzen.

Bin für Quelltexte und Beispiele jederzeit offen.
Man kann einen Computer nicht wie eine Frau behandeln, ein Computer braucht Liebe!
:love: :love:

DigiArt

Trainee

Posts: 109

Birthday: Jul 23rd 1970 (42)

Gender: male

Location: Graz

Occupation: IT-Supporter

Number of monitoring servers: 1

Nagios Version: 3.2.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 195

Number of services: 990

OS: Fedora 9

Plugin Version: 1.4.12-9

NagVis Version: 1.4.2

Other Addons: mklivestatus, NagiosGrapher, NagVis

4

Tuesday, February 16th 2010, 1:19pm

Mit stat -c %y Dateiname bekommst du das Änderungsdatum einer Datei (funktioniert auch mit date -r Dateiname +%D und date -r Dateiname +%T für Datum und Zeit).

mess

Master

Posts: 2,164

Location: Esslingen

Number of monitoring servers:

Nagios Version:

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts:

Number of services:

OS:

Plugin Version:

NagVis Version:

NDO Version:

Perfparse Version:

Other Addons:

5

Tuesday, February 16th 2010, 1:19pm

Eine Ausgabe á la check_multi wäre laut meines Praktikumsbetreuer nicht schlecht, aber ich denke recht schwierig umzusetzen.

Wieso 'a la'? Und wieso schwierig? Ein aktiver check_multi-Service macht das doch:

Source code

1
2
3
4
command [ file1 ] = check_file_age -f file1 ...
command [ file2 ] = check_file_age -f file2 ...
...
command [ fileN ] = check_file_age -f fileN ...

Dieser Check wird per NRPE oder SSH auf der Remote-Kiste aufgerufen, fettich ;)

Gruss - Matthias
-> check_multi und check_generic
Problem solved? Dann einfach mal flattrn, das hilft dem Forum!

Ic3mAn1986

Beginner

Posts: 21

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.0

Icinga Version: 1.4.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 146

Number of services: >650

OS: Suse Enterprise Server 11 SP1

Plugin Version: 1.4.15

Other Addons: Pnp4Nagios 0.6.14, check_multi 0.25, NagiosQL

6

Tuesday, February 16th 2010, 1:30pm

Dieser Check wird per NRPE oder SSH auf der Remote-Kiste aufgerufen, fettich ;)
So hatte ich es ja auch gedacht. Ein check_multi per ssh mit den dazugehörigen checks für die LogFiles :) .

Nur will das der Netzadmin nicht. Er meint es seien zu viele Logs in verschiedenen Verzeichnissen und die dann etwas komplizierte Konfig ?( .
Er findes es besser, wenn es über einen Cronjob geht und das Ergebnis an Nagios geschickt würde.

Also ist der liebe Praktikant auf der Suche nach einer Lösung per Cronjob :huh:
Nur dafür fehlen mir die Ideen.
Man kann einen Computer nicht wie eine Frau behandeln, ein Computer braucht Liebe!
:love: :love:

dnsmichi

Super Moderator

Posts: 5,989

Birthday: May 30th 1983 (29)

Gender: male

Location: Nürnberg

Occupation: Consultant / Developer beim besten Arbeitgeber der Welt @netways

Number of monitoring servers: Icinga: 4x dev, 10++ prod, Icinga2: 2x dev

Nagios Version: s/nagios/icinga/

Icinga Version: 1.9.1 / GIT

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 1000+

Number of services: 15000+

OS: RHEL, Debian, SUSE

Plugin Version: 1.4.16

IDO-Version: 1.9.1 / GIT MySQL/Postgresql/Oracle

Other Addons: Icinga Web, PNP, check_multi, inGraph, EventDB, LConf

7

Tuesday, February 16th 2010, 1:35pm

naja, wie digiart schon geschrieben hat, es gibt verschiedene moeglichkeiten, wie man sich das aenderungsdatum einer datei auslesen kann. und wenn mans mal hat, filtert mans nach bestimmten festgelegten regeln und gibt einen wert retour, der dann ins nsca reinfaellt. das scriptchen laeuft dann per cron und fertig.
+++ Icinga / LConf Developer +++ Senior Consultant at []NETWAYS> +++
+++ Icinga 1.9 || Icinga 2 +++ Icinga Support || IRC +++

Ic3mAn1986

Beginner

Posts: 21

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.0

Icinga Version: 1.4.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 146

Number of services: >650

OS: Suse Enterprise Server 11 SP1

Plugin Version: 1.4.15

Other Addons: Pnp4Nagios 0.6.14, check_multi 0.25, NagiosQL

8

Tuesday, February 16th 2010, 1:51pm

Ja, mit einer Datei ist dieses kein Problem.

Nur sind es hier ca. 20 und diese möchte ich alle mit einem mal überprüfen.

Source code

1
2
3
4
5
6
7
8
9
10
11
12
for (datei_1 to datei_n) do
{
dateialter von Datei überprüfen (WARNING, CRITICAL Wert)
  {
wenn (dateialter < WARNING)
Ausgabe alles OK ...
  wenn (dateialter >= WARNING)
Ausgabe Datei älter als ...
  wenn (dateialter >= CRITICAL)
Ausgabe Datei älter als ...
  }
Gesamtergebnis an Nagios senden


So würde ich mir das ungefähr vorstellen können. ;)
Man kann einen Computer nicht wie eine Frau behandeln, ein Computer braucht Liebe!
:love: :love:

mess

Master

Posts: 2,164

Location: Esslingen

Number of monitoring servers:

Nagios Version:

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts:

Number of services:

OS:

Plugin Version:

NagVis Version:

NDO Version:

Perfparse Version:

Other Addons:

9

Tuesday, February 16th 2010, 1:52pm

Nur will das der Netzadmin nicht. Er meint es seien zu viele Logs in verschiedenen Verzeichnissen und die dann etwas komplizierte Konfig ?( .
Er findes es besser, wenn es über einen Cronjob geht und das Ergebnis an Nagios geschickt würde.

Moment - viele Logdateien haben nix mit der Art des Monitorings zu tun, ob aktiv oder passiv.
Irgendwo muss man es schliesslich konfigurieren, entweder in einem eigenen Script oder in Nagios/check_multi/check_file_age, die Arbeit bleibt die gleiche.

Ich breche da immer eine Lanze fuer erprobte Mittel von Nagios, denn ein eigenes Script muss man erst mal so robust hinbekommen.
Und wenn Nagios aktiv an dem Prozess beteiligt ist, laufen moegliche Fehler gleich an der richtigen Stelle auf, waehrend ein cron nur Mails an irgendjemanden verschicken kann.

Gruss - Matthias
-> check_multi und check_generic
Problem solved? Dann einfach mal flattrn, das hilft dem Forum!

Ic3mAn1986

Beginner

Posts: 21

Gender: male

Number of monitoring servers: 1

Nagios Version: 3.2.0

Icinga Version: 1.4.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 146

Number of services: >650

OS: Suse Enterprise Server 11 SP1

Plugin Version: 1.4.15

Other Addons: Pnp4Nagios 0.6.14, check_multi 0.25, NagiosQL

10

Tuesday, February 16th 2010, 3:05pm

OK, Habe den Netzadmin überreden können, einen Testfall über check_multi durchführen zu können.

Nun habe ich aber ein Problem. Ich rufe folgendes per Terminal unter dem User Nagios auf:

Source code

1
nagios@linux-nagios:/usr/local/nagios/libexec> ./check_by_ssh -H xxx.xxx.xxx.xxx -C "/usr/local/nagios/libexec/check_multi -f /usr/local/nagios/libexec/check_multi_cmd/log_lxtool.cmd -r 128+8+2+1"


Und bekomme folgende Fehlermeldung:

Source code

1
Remote command execution failed: bash: line 1: /usr/local/nagios/libexec/check_multi: No such file or directory


Wenn ich aber folgendes ausführe, klappt es ohne Probleme.

Source code

1
nagios@linux-nagios:/usr/local/nagios/libexec> ./check_by_ssh -H xxx.xxx.xxx.xxx -C "/usr/local/nagios/libexec/check_disk -w 10 -c 5"


Wo habe ich hier nun wieder einmal einen Denkfehler?
Man kann einen Computer nicht wie eine Frau behandeln, ein Computer braucht Liebe!
:love: :love:

mess

Master

Posts: 2,164

Location: Esslingen

Number of monitoring servers:

Nagios Version:

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts:

Number of services:

OS:

Plugin Version:

NagVis Version:

NDO Version:

Perfparse Version:

Other Addons:

11

Tuesday, February 16th 2010, 3:11pm

Remote command execution failed: bash: line 1: /usr/local/nagios/libexec/check_multi: No such file or directory
  1. Gibt es auf der remote Maschine /usr/local/nagios/libexec/check_multi?
  2. Gibt es auf der remote Maschine ein Perl, so wie es in der ersten Zeile vom check_multi steht (#!/...)?

Gruss - Matthias
-> check_multi und check_generic
Problem solved? Dann einfach mal flattrn, das hilft dem Forum!

rachel12

Beginner

Posts: 1

Number of monitoring servers: 1

Nagios Version: nagios3

Distributed monitoring: Ja

Redundant monitoring: Ja

Number of hosts: 3

Number of services: 3

OS: 3

Plugin Version: 23

NDO Version: 1

12

Saturday, January 15th 2011, 7:12am

I am new here and have no Knowledge about it. But I would best wishes to say. My Friend does Project as you are. But he lives in the U.S.. I am TruingTo contact him and ask. If I complete information Found I will You say. Anyway You can also on Google Search and I think you will a solution find. Good luck. :thumbsup:
rachel :)

bern

Master

Posts: 2,940

Number of monitoring servers: 2-5

Nagios Version: 3.x

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 80-200

Number of services: 1400-2000

OS: Linux

Plugin Version: Whatever I can download, patch, or cobble together myself :-)

Other Addons: n2rrd, PNP, livestatus

13

Sunday, January 16th 2011, 10:55am

Ja, mit einer Datei ist dieses kein Problem.
Nur sind es hier ca. 20 und diese möchte ich alle mit einem mal überprüfen.
Und wie lang sind diese 20 Dateinamen? Passen die noch alle in einen Command Line Buffer der Shell?

Source code

1
2
3
4
5
$ OLDEST=`ls -ltr --time-style=+%s *.pdf | head -1 | awk '{ print $6; }'`
$ NOW=`date +%s`
$ DIFF=`expr $NOW - $OLDEST`
$ echo "Oldest file is about `expr $DIFF / 3600 / 2 / 365` months old"
Oldest file is about 96 months old


Source code

1
2
$ ls -ltr *.pdf | head -1
-rw-r--r-- 1 bern staff   158762 2002-12-28 08:04 ec-verf-neu-analyse.pdf


(Ich hab' in dem Verzeichnis sowas wie 130 PDFs 'rumfliegen, deren Namen zusammen nicht ganz 3300 Zeichen ausmachen.)