Monday, September 6th 2010, 10:31pm UTC+2

You are not logged in.

  • Login
  • Register

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

1

Tuesday, February 9th 2010, 10:34am

check_multi keine Performancedaten bei SERVICESTATE

Hallo,
wir wollen mit check-multi einige Service im Windows überwachen.
Leider bekomme ich keine Performancedaten zurück:

Current Status: OK (for 1d 11h 4m 36s)
Status Information: OK - 2 plugins checked, 2 ok
-
1 C_Drive_Space c:\ - total: 50.01 Gb - used: 30.07 Gb (60%) - free 19.93 Gb (40%)
2 Service_W32Time W32Time: Started

Performance Data: check_multi::check_multi::plugins=3 time=0.184894 'C_Drive_Space::/usr/lib/nagios/plugins/check_nt::c:\ Used Space'=30.07Gb;45.01;49.01;0.00;50.01
Current Attempt: 1/4 (HARD state)

Der Service wird auch grün angezeigt. Wenn er gestoppt wird sogar rot.
Aber es findet aufgrund der fehlenden Performancedaten keine Alarmierung statt.

Hier die Dateien:
/etc/nagios3/conf.d/ex002.cfg
define service {
use srv-pnp,generic-service
host_name ex002
service_description MultiCheck Windowsperformance
check_command check_multi!-f /etc/nagios-common/check_multi/Multi_ex002.cmd -r 15
contact_groups citrix
}


/etc/nagios-common/check_multi/Multi_ex002.cmd
command[ C_Drive_Space ] = /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -s *** -v USEDDISKSPACE -l c -w 90 -c 98
command[ Service_W32Time ] = /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -s *** -v SERVICESTATE -d SHOWALL -l W32Time

state [ warning ] = C_Drive_Space == WARNING || Service_W32Time == WARNING
state [ critical ] = C_Drive_Space == CRITICAL || Service_W32Time == CRITICAL


Die Überwachung und Alarmierung vom Plattenplatz funktioniert einwandfrei.


nagserv:~# /usr/lib/nagios/plugins/check_nt -H 10.16.1.1 -p 12489 -s *** -v SERVICESTATE -d SHOWALL -l W32Time
W32Time: Started
geht ja auch.

MFG Hillenbrand

This post has been edited 2 times, last edit by "Hillenbrand" (Feb 9th 2010, 12:17pm)


mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

2

Tuesday, February 9th 2010, 2:32pm

Was ist denn jetzt dein Problem?

Wenn du beim SERVICESTATE Performancedaten vermisst - ich glaube, da gibts keine. Waere ja auch etwas langweilig: EIN / AUS ;)

Wenn es um den Gesamtstatus vom check_multi geht, zuerst mal ein HInweis: die state-Anweisungen kannst du einsparen, da sie schon als Standard in check_multi enthalten sind.

Ansonsten kannst du das eigentlich gut testen - nimm irgendeinen unwichtigen Service und ueberwach den, und dann lass mal check_multi mit einem entsprechenden Commandfile rennen. Sobald entweder die Disk oder der Service non-OK ist, geht der Gesamtstatus von check_multi auf eben diesen Childstatus. Da die Notification schon bei den Disks funktioniert, geh ich davon aus, dass es da keine Probleme gibt.
Mit fehlenden Performancedaten hat das aber auf gar keinen Fall zu tun.

Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

3

Tuesday, February 9th 2010, 2:45pm

Hallo,
es wird einfach nicht alarmiert, wenn der Service gestoppt ist.
Wenn der Plattenplatz ins Warning oder Critical fällt, dann schon.
Der Service wird sogar auf der Oberfläche rot. Aber wie gesagt keine Alarmierung.

MFG Hillenbrand

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

4

Tuesday, February 9th 2010, 2:52pm

es wird einfach nicht alarmiert, wenn der Service gestoppt ist.
Wenn der Plattenplatz ins Warning oder Critical fällt, dann schon.
Der Service wird sogar auf der Oberfläche rot. Aber wie gesagt keine Alarmierung.
Sorry, aber das glaub ich nicht :D

Bitte mal die Extended View oder den Kommandozeilenoutput dieses Checks posten.

Aus Nagios-Sicht ist der check_multi-Service wie ein ganz normaler Service - und Nagios ists wurscht, ob die Disk oder der Windows-Service fuer den Gesamtstatus CRITICAL sorgt.
Besser gesagt: Nagios weiss nicht mal was davon, was unter der Haube von check_multi ablaeuft - es bekommt nur den Gesamtstatus und den Output geliefert.

Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

5

Tuesday, February 9th 2010, 3:12pm

Wie mache ich denn den Extended View ?
Kommandozeile:
nagserv:~# /usr/lib/nagios/plugins/check_nt -H 10.16.1.1 -p 12489 -s *** -v SERVICESTATE -d SHOWALL -l W32Time
W32Time: Started


MFG Hillenbrand

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

6

Tuesday, February 9th 2010, 3:19pm

Wie mache ich denn den Extended View ?

Indem du den Link in der Service-Statusview anklickst (Link nach extinfo.cgi)

Ansonsten wollte ich von dir nicht den check_nt-Output vom SERVICESTATE / W32Time, sondern einen check_multi-Output, und zwar als Beispiel mit einem W32Time, der gestoppt ist.
Es geht ja um den Gesamtstatus von check_multi.

Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

7

Tuesday, February 9th 2010, 4:53pm

Hallo,
anbei die 3 Screenshots vom extinfo.
Hier sieht man, dass eben nur C_Drive_Space gemeldet wird.

/usr/lib/nagios/plugins/check_nt -H 172.23.5.100 -p 12489 -s Pass123 -v SERVICESTATE -l W32Time
W32Time: Stopped

/usr/lib/nagios/plugins/check_multi -f /etc/nagios-common/check_multi/Multi_Win_udo.cmd -r 1
UNKNOWN - 2 plugins checked, 2 unknown (C_Drive_Space, W32Time) [please don't run plugins as root!]
[ 1] C_Drive_Space check_nt: Argumente konnten nicht ausgewertet werden
Usage:check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params] [-d SHOWALL] [-t timeout]
[ 2] W32Time check_nt: Argumente konnten nicht ausgewertet werden
Usage:check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params] [-d SHOWALL] [-t timeout]

Warum kann ich das nicht als root ausführen?

Im Script wird es mit -r 15 aufgerufen:
check_command check_multi!-f /etc/nagios-common/check_multi/Multi_Win_udo.cmd -r 15

MFG Hillenbrand
Hillenbrand has attached the following images:
  • check_multi1.JPG
  • check_multi2.JPG
  • check_multi3.JPG

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

8

Tuesday, February 9th 2010, 6:31pm

/usr/lib/nagios/plugins/check_multi -f /etc/nagios-common/check_multi/Multi_Win_udo.cmd -r 1
UNKNOWN - 2 plugins checked, 2 unknown (C_Drive_Space, W32Time) [please don't run plugins as root!]
[ 1] C_Drive_Space check_nt: Argumente konnten nicht ausgewertet werden
Usage:check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params] [-d SHOWALL] [-t timeout]
[ 2] W32Time check_nt: Argumente konnten nicht ausgewertet werden
Usage:check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params] [-d SHOWALL] [-t timeout]

Warum kann ich das nicht als root ausführen?

Koennen schon, sollen aber nicht ;)
Plugins testet man immer als User nagios, da du sonst Aepfel mit Birnen vergleichst. root darf mehr als der User nagios.

Der Fehler oben ist aber, dass Nagios noch den Parameter HOSTADDRESS uebergibt - der fehlt hier in der Kommandozeile.
Das kannst du aber problemlos mit einem zusaetzlichen Parameter "-s HOSTADDRESS=<addr>" nachstellen.

Zum eigentlichen Problem: ich bin immer noch nicht ueberzeugt, dass du ueberhaupt eine Notification fuer den Service gesetzt hast - in beiden Extended Views steht jeweils

Quoted

Last Notification: N/A (notification 0)

Das heisst, dass es noch keine einzige Notification zu dem Service gegeben hat.

Der dritte Screenshot besagt uebrigens nur, dass du eine Custom Notification (also eine aus der GUI) gestartet hast.

Bitte mal den Service in der objects.cache suchen und die Notification ueberpruefen bzw. die Servicesettings hier posten.

Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

9

Wednesday, February 10th 2010, 9:15am

Hallo,
hier die Objekte:

define host {
host_name WDM_udo
alias Wiedemann udo.wiedemann.grp
address 172.23.5.100
check_command check-host-alive
contact_groups asp_citrix
notification_period 24x7
initial_state o
check_interval 5.000000
retry_interval 1.000000
max_check_attempts 10
active_checks_enabled 1
passive_checks_enabled 1
obsess_over_host 1
event_handler_enabled 1
low_flap_threshold 0.000000
high_flap_threshold 0.000000
flap_detection_enabled 1
flap_detection_options o,d,u
freshness_threshold 0
check_freshness 0
notification_options d,u,r
notifications_enabled 1
notification_interval 0.000000
first_notification_delay 0.000000
stalking_options n
process_perf_data 1
failure_prediction_enabled 1
retain_status_information 1
retain_nonstatus_information 1
}


define contactgroup {
contactgroup_name asp_citrix
alias Citrix Support
members u.hillenbrand
}


define contact {
contact_name u.hillenbrand
alias Udo Hillenbrand
service_notification_period 24x7
host_notification_period 24x7
service_notification_options n
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email u.hillenbrand@fis-asp.de
host_notifications_enabled 1
service_notifications_enabled 1
can_submit_commands 1
retain_status_information 1
retain_nonstatus_information 1
}

define command {
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nState: $SERVICESTATE$ for $SERVICEDURATION$\nAddress: $HOSTADDRESS$\n\nInfo:\n\n$SERVICEOUTPUT$\n\nDate/Time: $LONGDATETIME$\n\nACK by: $SERVICEACKAUTHOR$\nComment: $SERVICEACKCOMMENT$\nGraph: https://nagserv02.fis-asp.de/pnp4nagios/…$SERVICEDESC$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ alert $NOTIFICATIONNUMBER$ - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}


MFG Hillenbrand

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

10

Wednesday, February 10th 2010, 10:30am

Bitte mal den Service in der objects.cache suchen und die Notification ueberpruefen bzw. die Servicesettings hier posten.

Hmm... der Service ist aber nicht dabei ;) - egal, vermutlich liegt es schon an dieser Einstellung:
define contact {
...
service_notification_options n

Lies hier bei den Objektdefinitionen fuer den Contact mal nach - wenn die service_notification_options auf 'n' stehen, gehen gar keine Notifications raus.

Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

11

Friday, February 12th 2010, 9:30am

OK,

service_notification_options auf 'n' stehen
Das war unser Testnagios.

Ich habe den Fehler gefunden:

state [ warning ] = C_Drive_Space == WARNING || Service_W32Time == WARNING
state [ critical ] = C_Drive_Space == CRITICAL

So kann niemals der Service alarmiert werden.
Es gibt nämlich keinen Warning Status beim Service.

So gehts:
state [ warning ] = C_Drive_Space == WARNING || Service_W32Time == CRITICAL
state [ critical ] = C_Drive_Space == CRITICAL || Service_W32Time == CRITICAL

MFG Hillenbrand

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

12

Friday, February 12th 2010, 10:01am

So gehts:
state [ warning ] = C_Drive_Space == WARNING || Service_W32Time == CRITICAL
state [ critical ] = C_Drive_Space == CRITICAL || Service_W32Time == CRITICAL
Ich bleib dabei: du kannst die beiden Anweisungen komplett rausloeschen, weil sie im Default-Verhalten enthalten sind.

Und noch was: Es wird ja immer der Reihe nach von Unkritisch nach Kritisch auswertet, also in der Reihenfolge
OK -> UNKNOWN -> WARNING -> CRITICAL
Wenn du daher den Service Service_W32Time auf CRITICAL stehen hast, trifft das zuerst mal auf WARNING zu. Danach wird aber noch CRITICAL ausgewertet, das ja auch TRUE wird. Und dann gewinnt CRITICAL.

BTW - check_multi -v zeigt schoen, wie die einzelnen Stati aussehen und wer gewinnt:

Source code

1
2
3
4
5
6
7
8
9
10
--------------------------------------------------------------------------------
State    Expression                                              Evaluates to
--------------------------------------------------------------------------------
OK       1                                                       TRUE
UNKNOWN  COUNT(UNKNOWN)>0                                        FALSE
WARNING  COUNT(WARNING)>0                                        TRUE
CRITICAL COUNT(CRITICAL)>0                                       TRUE
--------------------------------------------------------------------------------
                                                Overall state => CRITICAL
--------------------------------------------------------------------------------


Gruss - Matthias

Hillenbrand

Beginner

Posts: 19

Number of Nagios server: 2

Nagios Versions: 3.0

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: 20

Number of services: 50

OS: Debian

Plugin Versions: check_multi-0.19

NDO Version: 2

13

Friday, February 12th 2010, 10:26am

Hallo,
klar, das dann das zweite trift.

Allerdings kann ich den Status vom Multicheck so von verschiedenen Services steuern:

state [ warning ] = C_Drive_Space == WARNING || Service_1 == CRITICAL
state [ critical ] = C_Drive_Space == CRITICAL || Service_2 == CRITICAL

Das war auch unser Ziel.

Ich bin leider an sowas gescheitert:
state [ warning ] = C_Drive_Space == WARNING || Service_1 == WARNING
state [ critical ] = C_Drive_Space == CRITICAL || Service_2 == CRITICAL


MFG Hillenbrand

mess

Professional

Posts: 1,662

Location: Esslingen

Number of Nagios server: 3

Nagios Versions: 3.0.5

Distributed monitoring: Nein

Redundant monitoring: Nein

Number of hosts: ~1100

Number of services: > 80 per host (check_multi)

OS: RHEL5.5, CentOS

Plugin Versions: 1.4.14

NagVis Version: 1.5x

NDO Version: livestatus ;)

Perfparse Version: PNP 0.6.x

Other Addons: Dokuwiki, Heartbeat 1, DRBD 8.2.1

14

Friday, February 12th 2010, 10:53am

klar, das dann das zweite trift.

Vorsicht - die Auswertungsreihenfolge bei State-Anweisungen ist unabhaengig von der Reihenfolge in der Command-Datei immer:
OK -> UNKNOWN -> WARNING -> CRITICAL

Ich wuerde aber in der command-Datei die o.g. Reihenfolge waehlen, damit es keine Missverstaendnisse gibt ;)

-Matthias