Notifiche script custom su Nagios
"Davide D'Amico" <[email protected]> Wed, 19 Feb 2014 12:16:36 +0100
| Newsgroups | gmane.os.freebsd.italian.aiuto |
|---|---|
| Message-ID | <CAHykR+L4kG23ek51uhvb2LYztzA=m3XvA0Lusa1+cNyKGFCb-Q@mail.gmail.com> |
Diciamoci la verità: le email inviate se (ad es.) qualcosa va storto in
qualche script non
servono a granché. Per questo ho pensato ad una alternativa utilizzando
NSCA.
Sul server dove è in funzione nagios (in seguito nagios.foo.bar) ho
installato
il port net-mgmt/nsca il cui demone richiede in /etc/rc.conf.local la
direttiva:
nsca_enable="YES"
e il cui file di configurazione /usr/local/etc/nagios/nsca.cfg è:
pid_file=/var/run/nsca.pid
server_port=5667
nsca_user=nagios
nsca_group=nagios
debug=0
command_file=/var/spool/nagios/rw/nagios.cmd
alternate_dump_file=/var/spool/nagios/rw/nsca.dump
aggregate_writes=0
append_to_file=0
max_packet_age=30
password=aiba2Eey
decryption_method=3
Sul generico server va installato il port net-mgmt/nsca-client il cui file
di configurazione
/usr/local/etc/nagios/send_nsca.cfg è:
password=aiba2Eey
encryption_method=3
In questo modo è possibile interagire con il nagios utilizzando il comando:
# printf "HOSTNAME\tSERVICE\tCODE\tMESSAGE" | \
send_nsca nagios.foo.bar -c /usr/local/etc/nagios/send_nsca.cfg
Dove:
HOSTNAME: il valore dell'attributo host_name come specificato in Nagios
SERVICE: il valore dell'attributo service_description come specificato in
Nagios
CODE: 0 per OK, 1 per WARNING, 2 per CRITICAL
MESSAGE: un messaggio che viene passato così come viene scritto
nella sezione Additional Info: della mail di notifica
Ad esempio:
fw1-bastion: # printf "fw1-bastion\tBACKUP\t0\tBackup completed
successfully." | \
send_nsca nagios.foo.bar -c /usr/local/etc/nagios/send_nsca.cfg
In Nagios occorre definire un template di servizi SOLO con passive-checks:
define service{
name passive-service
use generic-service
active_checks_enabled 0
passive_checks_enabled 1
flap_detection_enabled 0
register 0
is_volatile 0
check_period always
notification_period always
max_check_attempts 1
normal_check_interval 5
retry_check_interval 1
check_freshness 0
contact_groups admins
notification_options w,u,c,r
stalking_options w,c,u
notification_interval 30
check_command check_dummy!0
}
quindi definire un servizio che usi il template passive-service:
define service {
use passive-service
hostgroup_name fws #fw1-bastion appartiene
al gruppo
service_description BACKUP
}
--
d.
_______________________________________________
Aiuto mailing list
[email protected]
http://mailman.gufi.org/mailman/listinfo/aiuto