nagios - nevyhodnocuje spravne (delsi)

Miroslav BENES miroslav.benes na zdas.cz
Středa Květen 18 13:38:23 CEST 2005


Přeji krásný den !

Mám menší problém s nagios-em - zdá se že všechny testy vyhodnocuje jako 
špatné. Jsem asi postižen slepotou, protože mě se jeho konfigurace zdá 
být bez chyb. Prosím o nakopnutí kde jsem asi tak udělal botu.

Systém: FC3, kernel 2.6.10-1.741_FC3
balíčky: nagios-plugins-1.4-2.1.fc3.rf, nagios-1.2-2.1.fc3.rf (apt-get 
tvrdí, že novější nenašel)


konfigurace nagios-u :

Po počátečních pokusech jsem cšechno vyházel, takže zůstal jediný test 
na "životnost" jedné Win stanice. Jednodušší konfigurace už snad ani 
nemůže být.


command-plugins.cfg:
=====================
# This command checks to see if a host is "alive" by pinging it.
command[check-host-alive]=/usr/lib/nagios/plugins/check_ping -H 
$HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1

contactgroups.cfg:
===================
# 'windows-admins' contact group definition
define contactgroup{
        contactgroup_name       windows-admins
        alias                   Windows Administrators
        members                 benesm
        }

contacts.cfg:
==============
# 'mb' contact definition
define contact{
        contact_name                    benesm
        alias                           Miroslav Benes
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    c,r
        host_notification_options       d,r
        service_notification_commands   notify-by-email
        host_notification_commands      host-notify-by-email
        email                           miroslav.benes na zdas.cz
        }

escalations.cfg:
=================
# Serviceescalation definition
define serviceescalation{
        host_name               a00518
        service_description             PING
        first_notification              5
        last_notification               0
        contact_groups                  windows-admins
        notification_interval           0
        }

hostgroups.cfg:
================
# 'windows-boxes' host group definition
define hostgroup{
        hostgroup_name  windows-boxes
        alias           Windows desktops
        contact_groups  windows-admins
        members         a00518
        }

hosts.cfg:
===========
# 'a00518' host definition
define host{
        use                     generic-host            ; Name of host 
template to use

        host_name               a00518
        alias                   A00518
        address                 192.168.115.76
        check_command           check-host-alive
        max_check_attempts      2
        notification_interval   6
        notification_period     24x7
        notification_options    d,u,r
        register                1
        }


checkcommands.cfg:
===================
# 'check-host-alive' command definition
define command{
        command_name    check-host-alive
        command_line    $USER1$/check_ping -H $HOSTADDRESS$ -w 
3000.0,80% -c 5000.0,100% -p 1
        }


misccommands.cfg:
===================
# 'notify-by-email' command definition
define command{
        command_name    notify-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios  
*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService
: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: 
$SERVICESTATE$\n\nDate/Time: $DATETIME$\n\nAdditio
nal Info:\n\n$OUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - 
$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **"
$CONTACTEMAIL$
        }


services.cfg:
==============
# Service definition
define service{
        use                             generic-service         ; Name 
of service template to use

        host_name                       a00518
        service_description             PING
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           1
        retry_check_interval            1
        contact_groups                  windows-admins
        notification_interval           240
        notification_period             24x7
        notification_options            c,r
        check_command                   check_ping!100.0,20%!500.0,60%
        register                        1
        }



Po spuštění démona se objeví v logu :
magios.log:
============
[1116404523] Nagios 1.2 starting... (PID=27521)
[1116404523] Finished daemonizing... (New PID=27522)
[1116404593] HOST ALERT: a00518;DOWN;SOFT;1;/bin/ping -n -U -w 10 -c 1 
192.168.115.76
[1116404593] HOST ALERT: a00518;DOWN;HARD;2;/bin/ping -n -U -w 10 -c 1 
192.168.115.76
[1116404593] HOST NOTIFICATION: 
benesm;a00518;DOWN;host-notify-by-email;/bin/ping -n -U -w 10 -c 1 
192.168.115.76
[1116404597] SERVICE ALERT: a00518;PING;UNKNOWN;HARD;1;/bin/ping -n -U 
-w 10 -c 5 192.168.115.76
[1116404953] HOST NOTIFICATION: 
benesm;a00518;DOWN;host-notify-by-email;/bin/ping -n -U -w 10 -c 1 
192.168.115.76

status.log:
============
# Nagios 1.2 Status File
[1116404988] PROGRAM;1116404523;27522;1;0;0;1;1;1;1;0;0;1;0
[1116404988] 
HOST;a00518;DOWN;1116404943;1116404593;0;10;0;0;1116404953;2;1;1;1;1;0;0.00;0;1;1;/bin/ping 
-n -U -w 10 -c 1 192.168.115.76
[1116404988] 
SERVICE;a00518;PING;UNKNOWN;1/3;HARD;1116404943;1116405003;ACTIVE;1;1;1;1116404597;0;UNKNOWN;0;0;0;0;0;0;1;0;4;1;0;0.00;0;1;1;1;/bin/ping 
-n -U -w 10 -c 5 192.168.115.76


Jestli dobře chápu tyto výstupy, pak se "životnost" stanice nedetekovala 
jako "host" ani jako "service".
Zajímavé přitom je, že příkaz použitý na otestování hlásí že je všechno 
v pořádku :

# /bin/ping -n -U -w 10 -c 1 192.168.115.76
PING 192.168.115.76 (192.168.115.76) 56(84) bytes of data.
64 bytes from 192.168.115.76: icmp_seq=0 ttl=127 time=1.91 ms

--- 192.168.115.76 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.912/1.912/1.912/0.000 ms, pipe 2


Jediný logický závěr je, že si nagios sice vyvolá na otestování 
/bin/ping ..., ale jeho výsledku nevěří (nebo ho nepochopí) a vyhodnotí 
to jako selhání.

Tomu by odpovídal i tento výstup (dle comamnd-plugins.cfg) :

# /usr/lib/nagios/plugins/check_ping -H 192.168.17.69 -w 5000,100% -c 
5000,100% -p 1
/bin/ping -n -U -w 10 -c 1 192.168.17.69
CRITICAL - Could not interpret output from ping command


Podobný problém se řešil i zde v konferenci, ovšem týkal se Netsaint 
0.0.7-1 s doporučením přejít na /tehdy nový) Nagios.
Jiná reakce na podobný problém byla, že se "nedomluví" check_ping a 
ping, kterýžto vypisuje i údaje navíc (a pak nesedí parsování). Ze 
zdrojáků nagios-plugins je ovšem vidět, že se očekává výstup z programu 
ping i v podobě, v jaké se pak skutečně objeví. Tak nevím ...

Budu rád za každý nápad.
Předem děkuji za každou odpověď.





Další informace o konferenci Linux