Tuesday, May 21st 2013, 12:05am 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.

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

1

Friday, June 23rd 2006, 11:35am

Check auf Inhalt eines Verz.

Hallo Profis.

Seit langer Zeit muss ich mal wieder Nagios zuwenden.

Folgende Problemstellung habe ich:

Es soll getestet werden, ob ab 06:00 Uhr in einem bestimmten Verzeichnis eine Datei [name: file+akt.Datum] liegt. Liegt eine Datei da, soll ein CRITICAl erscheinen, aber erst nach 06:00 Uhr. Daher komme ich mit check_file_age nicht weiter, da ja bei nicht "vorhanden sein" einer Datei, auch ein Fehler kommt,
was aber keine ist (in meiner Anforderung). Die Datei wird nämlich regulär um 04:00 Uhr verschoben, ich will ja testen,
ob dies geschieht.


Hoffe, ich habe mich nich allzu umständlich ausgedrückt.

Hat jemand eine Eingebung für mich?

Viele Grüße und thx.

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

2

Tuesday, June 27th 2006, 2:53pm

Kennt jemand nen Plugin, was testet, ob eine Datei vorhanden ist?

Oder hat vielleicht ein Perl-Script zufällig da.

Check_file_age wirft ja den Status UNKNOWN, wenn eine Datei nicht da ist.

Gruß

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

pitchfork

Administrator

Posts: 18,436

Location: Kassel

Occupation: Sysadmin SAP / Linux / AIX

Number of monitoring servers: 2

Hobbies: Motorrad fahren, wenns die Zeit erlaubt :-)

Nagios Version: 3.2.3 ( OMD )

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 360

Number of services: 6700

OS: Debian 6.0

Plugin Version: 1.4.x

Other Addons: SNMPTT, NagTrap, check_mk, PNP-0.6.x. Thruk

3

Tuesday, June 27th 2006, 3:02pm

#!/bin/bash
if [ -e /tmp/file.txt ];then
echo "OK: File exists"
exit 0
else
echo "CRITICAL: File does not exist"
exit 2
fi
+++ PNP Developer +++ PNP 0.6.21 ist online ! +++
Hilfreiche Infos gefunden? Dann schnell ein paar Cent flattrn
OMD - Open Monitoring Distribution

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

4

Tuesday, June 27th 2006, 3:22pm

Danke.

Habe mir das selber eben gebastelt:

[code]
#!/usr/bin/perl -w
use strict;
# use warnings;

my $file = '/home/sftpusers/cvk_user/upload/tmp/test.zip';

if (-e $file) {
print "Fehler, Datei vorhanden\n";
exit 0
}
else {
print "OK, Datei nicht vorhanden\n";
exit 3
}
[code]

Ein problem dabei habe ich aber. Die Datei hat einen dynamischen Namen, inklusive des Datums.

Gibt es in Perl Platzhalter, ähnlich wie *.zip in der shell.

DANKE Pitch!

Gruß

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

pitchfork

Administrator

Posts: 18,436

Location: Kassel

Occupation: Sysadmin SAP / Linux / AIX

Number of monitoring servers: 2

Hobbies: Motorrad fahren, wenns die Zeit erlaubt :-)

Nagios Version: 3.2.3 ( OMD )

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 360

Number of services: 6700

OS: Debian 6.0

Plugin Version: 1.4.x

Other Addons: SNMPTT, NagTrap, check_mk, PNP-0.6.x. Thruk

5

Tuesday, June 27th 2006, 3:34pm

/usr/bin/find /verzeichnis -name *.zip > /dev/null
if [ $? -gt 0 ];then
echo "NOT found"
fi

Jörg
+++ PNP Developer +++ PNP 0.6.21 ist online ! +++
Hilfreiche Infos gefunden? Dann schnell ein paar Cent flattrn
OMD - Open Monitoring Distribution

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

6

Tuesday, June 27th 2006, 3:55pm

ergibt bei mir immer keine Ausgabe.

Egal, ob die Datei da ist oder nicht.

/usr/bin/find /verzeichnis -name *.zip > /dev/null

Ergibt schon mal den Dateinamen, inklsuvien vollen Pfad. GUT.

Jetzt zur Fallunterscheidung:
if [ $? -gt 0 ]

Was fängt der da ab?

$? steht ja für die korrekte Ausgabe der letzten Anweisung, also 0, wenn die Datei vorhanden ist.

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

This post has been edited 1 times, last edit by "santec" (Jun 27th 2006, 4:04pm)


elmo

Beginner

Posts: 13

Number of monitoring servers: 2

Nagios Version: 2.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~20

Number of services: ~500

OS: SLES 10

Plugin Version: 1.4.3

Other Addons: nrpe 2.5.1, PNP, Dokuwiki

7

Tuesday, June 27th 2006, 4:06pm

Quoted

Original von santec
/usr/bin/find /verzeichnis -name *.zip > /dev/null

Ergibt schon mal den Dateinamen, inklsuvien vollen Pfad. GUT.

Jetzt zur Fallunterscheidung:
if [ $? -gt 0 ]

Was fängt der da ab?


Prüft ab, ob er ein File findet.
Findet er kein File, ist die Ausgabe 1 (größer als 0).
Findet er etwas Ausgabe 0.

This post has been edited 2 times, last edit by "elmo" (Jun 27th 2006, 4:28pm)


santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

8

Tuesday, June 27th 2006, 4:17pm

Ich dachte:
$? steht für die korrekte Ausführung des vorangegangeden Befehls.

Also wird er immer = zurückgeben, weil der Aufruf:

/usr/bin/find /home/sftpusers/cvk_user/upload/tmp/ -name *.zip

Immer ein korrekter Aufruf ist. Er findet was, oder findet nix. Die Syntax ist die gleiche.

Beweis:
[root@srv099 nagios]# lls
-bash: lls: command not found
[root@srv099 nagios]# echo $?
127
[root@srv099 nagios]#


Der Aufruf:
[root@srv099 nagios]# /usr/bin/find /home/sftpusers/cvk_user/upload/tmp/ -name *.zip
[root@srv099 nagios]# echo $?
0
[root@srv099 nagios]#

Die datei ist nicht da, sonst gäbe es ja ne Ausgabe, trotzdem ist $?=0.

Daher macht das Script so keinen Sinn. :-)


Oder, liege ich da ganz falsch?

Gruß

Santec

P.S. Mann könnte vielleicht über den Shellaufruf "/usr/bin/find /home/sftpusers/cvk_user/upload/tmp/ -name *.zip" den Dateinamn in Perl extrahieren. Das Skirpt läuft ja, bloss der Name der Datei ändert sich ja, was mein Problem ist.


Und Danke für den SUPPORT!!!! Nett von Euch.
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

This post has been edited 1 times, last edit by "santec" (Jun 27th 2006, 4:17pm)


elmo

Beginner

Posts: 13

Number of monitoring servers: 2

Nagios Version: 2.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~20

Number of services: ~500

OS: SLES 10

Plugin Version: 1.4.3

Other Addons: nrpe 2.5.1, PNP, Dokuwiki

9

Tuesday, June 27th 2006, 4:28pm

Genau anderstrum. Habe mich durch mein Script ein wenig in die Irre führne lassen.

Prüft ab, ob er ein File findet.
Findet er kein File, ist die Ausgabe 1 (größer als 0).
Findet er etwas Ausgabe 0.

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

10

Tuesday, June 27th 2006, 4:35pm

Mmhh, glaube Du hast mich missverstanden.

Die Benutzung von "$?" mach keinen Sinn.
--> Ausgabe (Snytax) des letzten Befehl war korrekt, daher Wert=0.

Bleibt also immer null, egal ob "find" was findet oder nicht.

Habe jetzt mal ne andere ösung gebastelt:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
# David Hundenborn
# Test, ob Verzeichnis leer ist.
# Nagios Test für CVK Uploads (Rechnungen)

# Verzeichnis definieren
verzeichnis=/home/sftpusers/cvk_user/upload/tmp/

# Fallunterscheidung
if [ ! "`ls -A $verzeichnis`" ]; 

# Erster Fall
then 
echo "Verzeichnis ist leer"
exit 0

# 2ter fall
else 
echo "Verzeichnis ist voll"
exit 3
fi


Viele Grüße

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

pitchfork

Administrator

Posts: 18,436

Location: Kassel

Occupation: Sysadmin SAP / Linux / AIX

Number of monitoring servers: 2

Hobbies: Motorrad fahren, wenns die Zeit erlaubt :-)

Nagios Version: 3.2.3 ( OMD )

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 360

Number of services: 6700

OS: Debian 6.0

Plugin Version: 1.4.x

Other Addons: SNMPTT, NagTrap, check_mk, PNP-0.6.x. Thruk

11

Tuesday, June 27th 2006, 6:07pm

yo , habt ja recht, bei find ist das so wie David sagt.

Pipes noch mal durch ein wc -l und zähl damit die zeilen die find liefert.

COUNT=`find /tmp -name *.zip | wc -l`
if [ $COUNT -gt 0 ];then
tu irgendwas
fi
+++ PNP Developer +++ PNP 0.6.21 ist online ! +++
Hilfreiche Infos gefunden? Dann schnell ein paar Cent flattrn
OMD - Open Monitoring Distribution

santec

Intermediate

Posts: 298

Birthday: Jun 3rd 1976 (36)

Gender: male

Location: Germany

Occupation: Systemadministrator

Number of monitoring servers: 5

Hobbies: Radfahren, Sport , Computer , Nagios

Nagios Version: 3.2.1

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 500

Number of services: ~4000

OS: Red Hat ES, CentOS

Plugin Version: Nagios Plugins >1.4

Other Addons: PNP4Nagios

12

Wednesday, June 28th 2006, 2:48pm

Danke @ Pitchfork :D

Hier übrigens die Lösung für meine erstes, oben genanntes Problem:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
# David Hundenborn
# Prueft das Alter der ausgewaehlten Datei 
# Nagios Test für CVK Uploads (Rechnungen)

# Ausgabe der letzen angelegten Datei in einer Zeile.
# -t : Ausgabe sortiert nach Alter
# -T 1 : Ausgabe in einer Zeile pro Eintrag
# head -n 1 : Selektion und Ausgabe der ersten Zeile des voherigen Aufrufes

# Schreiben in die fluechtige Variable
CVK_FILE=`(set \`ls -t -T 1 /home/sftpusers/cvk_user/upload/done | head -n 1\`; echo $1)`
# echo $CVK_FILE

# Aufruf des Plugin, um das Dateialter zu ueberpreufen
# -w : Angabe der Sekunden, ab wann der CRITICAL state erreicht ist.
# 259200 = 3 Tage
# 172800 = 2 Tage
/usr/local/nagios/libexec/check_file_age -f /home/sftpusers/cvk_user/upload/done/$CVK_FILE -c 172800 -w 290000


Gruß

Santec
Nicht die großen werden die Kleinen fressen, sondern die Schnellen die Langsamen!

This post has been edited 1 times, last edit by "santec" (Jun 28th 2006, 4:37pm)