to post messages and comments.

кстати, а никому не интересен телеграм-бот для nagios с livestatus? он и шинкену подойдет. но мне дописывать быстро лень. надо имплементаций запросов к лайвстатусу наделать, причесать его чутка.

А посоветуйте хорошую простую систему мониторинга сервисов?
Надо: мониторинг сервера на рам-диск-сру-ла + мониторинг запущенных там сервисов (запущенность процесса по имени, слушанье на ТЦП порту, успешный ТЦП цоннект по порту) + мониторинг сложных случаев скриптом.
Обязательно умение автоподхватывания новых инстансов (а-ля через заббикс-агент).

icinga2 умна, парсит perfdata вида key=value сама и кидает отдельно в graphite, только вот, блять, приводит все числа к double, и фигачит в виде 9.7746e+10, а в базе показывает "97292061598". моя теряет точность и графики лесенкой(

Попытка завести Nagios под свои задачи уже вылилась в написание собственного плагина (check_snmp упорот и неудобен) и микроправке исходников с последующей пересборкой пакетов. Исходики заставляют ужаснуться даже тех, кто не знаком с чистым Си. По-моему так топорно кодить могут только школьники %) Посмотрим куда меня дальше заведёт этот "шедевр" программистской мысли

Nagios в centos 5.5 не стартует.
Решение:

my solution (http://forums.meulie.net/viewtopic.php?f=61&t=6538&start=0):

# cat /etc/sysconfig/selinux
[...]
SELINUX=disabled

# /etc/init.d/nagios start
nagios wurde angehalten
nagios starten: [ OK ]

Ви таки будете смеяться, но я тоже написал антивирус на cmd. Для ловли одной конкретной зловредной особи, ползающей у нас по сети, ныкающейся от антивирусов и появляющейся время от времени на сетевых папках в виде файла autorun.inf.

nrpe.cfg:
command[autoruns_HRManagers]=cmd /c "C:\Program Files\ICW\watch_autoruns.cmd" d:\\SharedFs\\HRManagers
(можно было бы использовать параметр и описать в одной строчке разом все каталоги, но паранойя не дремлет)

Рецепт:
Сервисы в нагиос (понятно)

Сам "антивирус" watch_autoruns.cmd (лол)
@SET PTH=%1
@SET PTH=%PTH:\=\\%
@IF EXIST %1\autorun.inf ( @GOTO :bad )
:ok
@REM все нормально
@echo NO autorun.inf IN %PTH% FOUND
@exit /b 0
:bad
@REM file exists
@for /F "tokens=4" %%a in ('dir /q %1 ^| findstr "autorun.inf"') do @set VAR=%%a
@del /f /q %1\autorun.inf
@echo FILE %PTH%\\autorun.inf EXISTS! Evildoer was %var:\=\\%. I will try to delete it — if the message persists, deleting fails
@exit /b 2

P.S. Если это кому пригодится — берите. Хотя кому такой детсад нужен...

Не так давно компания по одному из государственных тендеров выиграла клиента. Одним из условий услуги был независимый мониторинг конечных точек абонента по многим параметрам. После перебора SNMPc, Zabbix, Orange, Icinga, Nagios, выбор пал на последний, как наиболее простой, стабильный и расширяемых во всех плоскостях. Одно плохо, заказчик хотел русскоязычный интерфейс.

Надо признать, за эти годы, Nagios перестали русифицировать, а работает интерфейс на cgi скриптах, написанных на православном C, следовательно, чтобы русифицировать интерфейс, необходимо изменять исходные коды и после снова компилировать в cgi.

В версии 3.4.1 я случайно обнаружил, что разработчики начали использовать в интерфейсе jQuery. Утром проснулся с идеей русификации на лету на клиенте. В этом помог плагин benalman.com что позволяет заменять текст по паттерну или строгому совпадению на странице. К концу дня был готов хеш в виде "en": "ru" и банальный цикл по хешу с вызовом функции замены текста на странице. Разработчики в некоторых скриптах Nagios почему-то решили не подгружать jQuery, но это легко решилось через проверку наличия объекта и, если его не существует, подгрузкой jQuery в реальном времени.

Видимо, я изобрёл велосипед, который в конкретно этом случае помог избежать ещё больших велосипедов. Но меня не покидает одна мысль: если везде всё так насквозь на javascript, почему бы не применять такой метод локализации повсеместно?

Приятное наблюдение)
Nagios запищал после того как я зашел в серверную и включил монитор кнопкой:
* PROBLEM Service Alert: scusrv/APC LOAD is WARNING * WARNING — Load: 41.6%
Выключил монитор:
* RECOVERY Service Alert: scusrv/APC LOAD is OK * OK — Load: 38.3%

<?php

// Dumb Nagios script for Juick's state monitoring
$frontPage = file_get_contents("http://juick.com");
preg_match('#<div class="msgtxt">(.*?)</div>#', $frontPage, $matches);
$juickCurrent = $matches[1];
$juickPrev = file_get_contents("/tmp/juick_prev");
if ($juickCurrent == $juickPrev) {
echo "ERROR: Juick is down\n";
exit(2);
} else {
file_put_contents("/tmp/juick_prev", $juickCurrent);
echo "OK\n";
exit(0);
}

?>

Найденый на просторах nagios exchange-а плагин для apcupsd допилил на измерение напруги в розетке, прикрутил nagiosgraph, теперь сижу каваюсь, как дурак. У меня теперь есть ремотный вольтметр о восьми ядрах, под линуксом. А вот с тем что 64-битный лялих при установке в мать более четырёх гигов может упасть в спонтанный момент времени, это нифига не гуд :( А ппамять там очень нужна, ибо юзера на этом серваке джавовые аппликухи активно гоняют. Кстати, никто с таким не сталкивался? С четырьмя гигами — нормально, а ставишь восемь или тем паче шестнадцать гигов и всё, дня три-пять и пипец... :(

Пиплы, кто пользует gcalcli, там вобще как, нотификейшены по SMS работают, или гугель всё оторвал? что-то у меня лыжи не едут :( Хотел к Nagios прикрутить, а оно событие-то в календаре создаёть, а в свойствах события опаньки — никаких нотификаций, хотя в свойствах самого календаря по умолчанию нотификэйшены за минуту до наступления включены...

Узелок на память. Нага очень любит кэшировать, что приводит к интересным эффектам. Кэширует в двух местах. В общем, как-то так оно обнуляется:
#!/bin/sh
rm -rf /var/cache/nagios3/objects.cache/*
rm /var/lib/nagios3/retention.dat

Жуйк, я тут посидел и наговнокодил плагин для rbot, который мониторит присутствие ников в irc и посылает уведомления об их появлении/исчезновении nagios'у через nsca. Называется, меня задолбало смотреть на простыню в логах от постоянных активных проверок check_nick.
gitorious.org

Жуйк, а есть что-то вроде freshports.org но не делающее новое подключение к irc на каждую проверку, а постоянно висящее? Меня уже слегка начинают напрягать постоянные сообщения о подключении/отключении этого check_nick.

Вечно забываю, да.
Error: Could not stat() command file '/var/lib/nagios3/rw/nagios.cmd'!
Решение поближе к телу:
[[email protected] ~] # /etc/init.d/nagios3 stop
Stopping nagios3 monitoring daemon nagios3 Waiting for nagios3 daemon to die........
[[email protected] ~] # dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
[[email protected] ~] # dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
[[email protected] ~] # /etc/init.d/nagios3 start

Доступный и познавательный плагин, который на значение первого аргумента 0 выводит OK, на 1 — WARNING, на 2 — CRITICAL.
[[email protected] ~/Downloads] % ls -la /usr/lib/nagios/plugins/check_dummy [17:28:59]
-rwxr-xr-x 1 root root 18416 2010-08-31 01:18 /usr/lib/nagios/plugins/check_dummy
Естественно, ELF.

Зачем, спрашивается, так сурово? На чём угодно наглядном — низя? :-D

а расскажите мне про icinga, что-то глобальное в ядре, в частности, тред на проверку хоста они убрали и сделали ли они icinga безтредовой? всякие api не интересны, а прослойки к sql на 2-5к хостов просто убивают sql сервер инсертами в реалтайме.

Эмпирические пути наглядно показывают нам, скрипты для высоконагруженных инсталляций nagios необходимо писать на perl, включая embedded perl в nagios. Переписал все скрипты сервисов на perl, la машины с 8 ядрами упал до 2.5-3 с 5-6. Остаётся как-то оптимизировать sql, ибо поллеры с других городов слишком активно пишут в sql данные других нагиосов, mysqld за полторы недели съел 225 часов процессора.