Настругал простенькую команду после долгого гугления и чтения о "плагинописании" для Нагиос.
Код: Выделить всё
# printf "%s\t%s\t%s\n" "localhost" "ad10_health" "OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED" | send_nsca -H 192.168.0.1 -c /usr/local/etc/nagios/send_nsca.cfg
Код: Выделить всё
localhost ad3_health OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad10. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
Настругал скриптик
Код: Выделить всё
#!/bin/sh
#ad10 health checker
WMSG="/usr/local/etc/scripts/ad10stats"
RMSG=`cat /usr/local/etc/scripts/ad10stats`
NSCA_SERVER="192.168.0.1"
NSCA_SERVICE="ad10_health"
NSCA_HOST="webserver"
nsca () {
printf "%s\t%s\t%s\t%s\n" "${NSCA_HOST}" "${NSCA_SERVICE}" "${ERROR}" "${RMSG}" | send_nsca -H $NSCA_SERVER -c /usr/local/etc/nagios/send_nsca.cfg
}
/usr/local/libexec/nagios/check_hdd_health -d /dev/ad10 > ${WMSG} && nsca
exit
Получил выхлоп: ( Отформатированный, выведенный одной строкой вывод команды, с указанным в начале хостом и службой которая шлет это сообщение)
Код: Выделить всё
localhost ad3_health OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
Я сделал дамп файл на сервере ( машине на которую установлен сервер Nagios) и ловил то что присылают ему скрипты:
Код: Выделить всё
gateway# cat /var/spool/nagios/rw/nsca.dump
[1294244203] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294244225] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294244325] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294244374] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294245932] PROCESS_HOST_CHECK_RESULT;webserver;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad10. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294245937] PROCESS_HOST_CHECK_RESULT;webserver;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad1. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294245974] PROCESS_HOST_CHECK_RESULT;webserver;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad1. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294246044] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294246050] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294246053] PROCESS_HOST_CHECK_RESULT;localhost;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALT_STATUS=PASSED for /dev/ad3. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294246062] PROCESS_HOST_CHECK_RESULT;webserver;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad1. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
[1294246070] PROCESS_HOST_CHECK_RESULT;webserver;0;OK - HDD S.M.A.R.T health: src=0, rsc=0, rec=0, cps=0, ou=0, HEALTH_STATUS=PASSED for /dev/ad10. |smart=src=0; rsc=0; rec=0; cps=0; ou=0; pass=PASSED
Может кто то из знающих, видит в чем проблема, помогите пожалуйста.