Титла: nagios period check Публикувано от: anakinn в Mar 05, 2015, 10:53 Здравейте,
Прегледах темите за нагиос, но не открих това, което търся. Freebsd 9.3, nagios 3.5 Това, което ме интересува е периода на проверка на дадена услуга в нагиос. Ползвам следните настройки: nagios.cfg command_check_interval=-1 в abs.cfg define host{ host_name abs use freebsd-server address 192.168.10.19 check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 7 check_command check-host-alive notification_period 24x7 notification_interval 3 notification_options d,r contact_groups admins register 1 } define service{ use generic-service host_name abs service_description HTTP check_command check_http notifications_enabled 1 contact_groups admins } Когато спря апачето на машина, нагиос проверява 3 пъти през 3 минути и чак тогава изпраща мейл. Като цяло това може би не е лоша практика, но има ли начин за определени услуги, когато те са недостъпни да направи 2,3,4,5 проверки през 30 секунди примерно? Т.е. регулярното проверяване на услуга/хост да си бъде през 5/10мин, но когато нещо падне да прави по-често проверката, с цел по-бързо известяване. Титла: Re: nagios period check Публикувано от: BRADATA в Mar 05, 2015, 13:56 Като за начало погледна ли тук? http://nagios.sourceforge.net/docs/3_0/toc.html
Щото нагиоса има милион опции за финна настройка.... Хинт: статусите биват хард и софт ( http://nagios.sourceforge.net/docs/3_0/statetypes.html ) Титла: Re: nagios period check Публикувано от: anakinn в Mar 05, 2015, 16:08 Доста съм гледал из него както и примери из нета, но или не схващам, или концептуално бъркам,
или и аз не знам вече. Така както съм настроил услугите ми харесва, просто някои искам да ги направя по-критични така да се каже. Пробвах и така: define service{ # name special-service # host_name abs# # service_description proftpd # check_command check_tcp!21 # notifications_enabled 1 # contact_groups admins # max_check_attempts 3 # check_period 24x7 # normal_check_interval 20 # retry_check_interval 3 # notification_interval 60 # } пак използва същите интервали за време на реакция. Титла: Re: nagios period check Публикувано от: BRADATA в Mar 05, 2015, 18:07 Тук http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html погледна ли?
Цитат
Титла: Re: nagios period check Публикувано от: anakinn в Mar 05, 2015, 18:32 Нещо с това unit time бъркам нещата.
Добавяйки тези в сървиса max_check_attempts 2 check_interval 30s retry_interval 1 проверява на 90секунди някъде 2 пъти. Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 05, 2015, 19:21 Нещо с това unit time бъркам нещата.Нагиос не е система за мониторинг в реално време. В зависимост от боря на пробите 30 секунди може да се окаже много малък интервал. Каква е причината да е толкова малък? И не е ли по-добре да ползвате скрипт на машината за целта (макар че как ще го пуснете на 30 секунди е отделна тема) Титла: Re: nagios period check Публикувано от: anakinn в Mar 06, 2015, 10:35 Съгласен съм.
Това искам да го ползвам за 2-3 сървиса (от сумарно 100-120), за които е ясно, че в 90% от случаите алармата е истинска и затова ми се иска тях да ги следа малко по-често отколкото другите. Точно както е описано там - услуги с висок приоритет. Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 06, 2015, 10:55 Съгласен съм.Пробвайте на минута. Или си напишете демон (но нека да не е шел скрипт), който да праща трап до пасивен чек Титла: Re: nagios period check Публикувано от: anakinn в Mar 12, 2015, 17:06 Да, така ми се струва по-правилно. Оставих нагиоса на по-голям период от
време да проверява и си написах демон на две машини за тези два сървиза. Друго да питам, че и там не ми е ясно. Плъгините на нагиос къде се слагат ? тук -> /usr/local/libexec/nagios ? Да кажем искам да ползвам това ($2) После трябва да се опише някъде и как се ползва точно, може ли пример? Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 12, 2015, 17:19 При моите инсталации нагиос си има собствено дърво (стил chroot) така че си нямам идея. Но ако пробвате да видите какви файлове са инсталирани в пакет с име подобно на nagios-plugins може да ви даде идея къде стандартно се изпълняват. Иначе може да е всякъде стига потребителя с който стартира нагиос да има права да изпълнява плъгина.
А дефинициите са нещо от рода: Код: define command { Титла: Re: nagios period check Публикувано от: anakinn в Mar 12, 2015, 18:54 В commands слагам
define command{ command_name check_smb command_line /usr/local/etc/nagios/plugins/check_smb $HOSTADDRESS$ } B abs.conf дописвам define service{ use generic-service ; Name of service template to use host_name abs service_description smb check_command check_smb notifications_enabled 1 } и резултата е (NULL) нещо пропускам ... Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 13, 2015, 09:17 Пробвайте да изпълните командата от шел и вижте какво връща. Освен това проверете дали няма някакви неизпълнени изисквания (самба библиотеки или подобно), опитайте с ИП адрес вместо име на хост
Титла: Re: nagios period check Публикувано от: anakinn в Mar 13, 2015, 10:46 В момента check_smb изглежда така:
-------------------------------------------------- REVISION=1.0 PROGNAME=`/usr/bin/basename $0` PROGPATH=`echo $0 | /usr/bin/sed -e 's,[\\/][^\\/][^\\/]*$,,'` #. $PROGPATH/utils.sh . /usr/local/libexec/nagios/utils.sh usage () { echo "\ Nagios plugin to check if (anonymous) access to SMB on host works. Usage: $PROGNAME -H <host> $PROGNAME --help $PROGNAME --version " } help () { print_revision $PROGNAME $REVISION echo; usage; echo; support } if [ $# -lt 1 ] || [ $# -gt 2 ]; then usage exit $STATE_UNKNOWN fi while test -n "$1"; do case "$1" in --help | -h) help exit $STATE_OK;; --version | -V) print_revision $PROGNAME $REVISION exit $STATE_OK;; -H) shift host=$1;; *) usage; exit $STATE_UNKNOWN;; esac shift done stdout=`/usr/local/bin/smbclient -U guest -N -L "$host" 2>&1` if [ $? -eq 0 ]; then header=`echo "$stdout" | grep Server= | head -n 1` echo "OK $header" exit $STATE_OK else err=`echo "$stdout" | head -n 1` echo "CRITICAL SMB anon access: $err" exit $STATE_CRITICAL fi --------------------------------------------------------------- commands.cfg define command{ command_name check_smb command_line /usr/local/etc/nagios/plugins/check_smb $HOSTADDRESS$ } ----------------------------------------------------------------- abs.cfg define service{ use generic-service ; Name of service template to use host_name abs service_description chec_smb check_command check_smb notifications_enabled 1 contact_groups admins } Когато мине нагиоса казва: nagios.log SERVICE ALERT: abs;chec_smb;UNKNOWN;HARD;3;Nagios plugin to check if (anonymous) access to SMB on host works В services виждам: UNKNOWN (for 0d 0h 2m 46s) Status Information: Nagios plugin to check if (anonymous) access to SMB on host works. Usage: check_smb -H <host> check_smb --help check_smb --version \n и UNKNOWN (for 0d 0h 4m 29s) Status Information: Nagios plugin to check if (anonymous) access to SMB on host works. Usage: check_smb -H <host> check_smb --help check_smb --version \n Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 13, 2015, 10:52 Пробвайте да я изпълните директно от командната линия така:
/usr/local/etc/nagios/plugins/check_smb -H име_на_хоста Ако работи оправете записа за дефиниране на командата Код: define command{ Титла: Re: nagios period check Публикувано от: anakinn в Mar 13, 2015, 11:08 Благодаря, разбрах къде греша
OK 03-13-2015 11:02:54 0d 0h 0m 9s 1/3 OK Domain=[CENTRAL] OS=[Unix] Server=[Samba 3.6.9] пп. има ли как да взема името на хоста, а не групата (CENTRAL) ? Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 13, 2015, 11:12 Благодаря, разбрах къде грешаПроверете какви команди приема smbclient и модифицирайте плъгина. Аз лично нямам идея :) Титла: Re: nagios period check Публикувано от: anakinn в Mar 13, 2015, 11:17 Така както гледах няма :-)
Благодаря ! Титла: Re: nagios period check Публикувано от: anakinn в Mar 18, 2015, 10:54 Изпитвам разни проблеми със снмп и реших да пробвам нрпе.
На abs сървъра инсталирах nrpe, chown nagios:nagios на плъгин директорията в nrpe.cfg добавих command[check_data]=/usr/local/libexec/nagios/check_disk -w 20% -c 10% -p /data На сървъра, където работи нагиос с nrpe.cfg имам: command[check_storage]=/usr/local/libexec/nagios/check_disk -w 20% -c 10% -p /storage command[check_data]=/usr/local/libexec/nagios/check_disk -w 20% -c 10% -p /data /usr/local/libexec/nagios както и файловете вътре са nagios:nagios в commands.cfg добавих: define command { command_name check_nrpe2 command_line /usr/local/libexec/nagios/check_nrpe2 -H $HOSTADRESS$ -c $ARG1$ } в abs.host define service{ use generic-service ; Name of service template to use host_name abs service_description root # check_command $USER1$/check_nrpe -H $HOSTADRESS$ -c check_root check_command check_nrpe2!check_root notifications_enabled 1 contact_groups admins } Когато го пускам през конзола: /usr/local/libexec/nagios/check_nrpe2 -H 192.168.10.19 -c check_root DISK OK - free space: / 7894 MB (78% inode=91%);| /=2142MB;8728;9819;0;10910 Когато направи проверка през уеб казва: SERVICE ALERT: abs;root;WARNING;SOFT;1;(null) Къде бъркам ? Титла: Re: nagios period check Публикувано от: romeo_ninov в Mar 18, 2015, 12:17 Това:
Код: command_line /usr/local/libexec/nagios/check_nrpe2 -H $HOSTADRESS$ -c $ARG1$ Код: command_line /usr/local/libexec/nagios/check_nrpe2 -H $HOSTADDRESS$ -c $ARG1$ и за всеки случай погледнете какво пише в лога А и не виждам в клиента да е дефинирано check_root Титла: Re: nagios period check Публикувано от: anakinn в Mar 18, 2015, 13:09 Въобще не обърнах внимание на грешката, голям съм...
в commands имам: като това не го подкарах също define command { command_name check_nrpe2 command_line /usr/local/libexec/nagios/check_nrpe2 -H $HOSTADDRESS$ -c $ARG1$ } ползвам define command { command_name check_root command_line /usr/local/libexec/nagios/check_nrpe2 -H $HOSTADDRESS$ -c check_root } в abs.conf check_command check_root е достатъчно DISK OK - free space: / 7894 MB (78% inode=91%): Благодаря ! |