Частенько бывает необходимо следить за доступностью нескольких сайтов или серверов. Ну по крайней мере в моей практике такая задача встаёт очень часто. Конечно, есть бесплатные системы мониторинга, но у них либо ограничение по количеству, либо по времени опроса (30 мин и выше). А это слишком большой интервал, при чем если в этот интервал ответ на запрос пришел с ошибкой, а повторный запрос такие системы не делают, то информация о доступности сервиса получается очень неточной.
Потому я задумался о собственной системе мониторинга на своем сервере. Есть несколько систем, но самая лучшая и гибкая – Nagios.
Собственно ей и посвящена эта статья.
Итак, приступим.
Качаем с сайта ядро Nagios и плагины.
Здесь можно скачать самые последние версии файлов: http://www.nagios.org/download
Плагины нам нужны для мониторинга ресурсов сервера: количество пользователей, место на жестком диске, нагрузка и т.д.
Создадим сначала папку nagios
# mkdir nagios # cd nagios
Теперь скачиваем архивы:
# wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.3/nagios-3.2.3.tar.gz?r=http%3A%2F%2Fwww.nagios.org%2Fdownload%2Fcore%2Fthanks%2F&ts=1301998828&use_mirror=citylan # wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz?r=http%3A%2F%2Fwww.nagios.org%2Fdownload%2Fplugins&ts=1301998875&use_mirror=citylan
После скачки соответственно распаковываем:
# tar xvzf nagios-3.2.3.tar.gz # tar xvzf nagios-plugins-1.4.15.tar.gz
Прежде чем собирать пакеты, создадим пользователя nagios
# useradd nagios
В группу nagios добавляем пользователя apache
# usermod –G nagios apache
Также проверьте, чтобы у вас был установлен gcc для сборки пакетов:
# rpm -qa | grep gcc compat-gcc-34-c++-3.4.6-4 libgcc-4.1.2-48.el5 compat-gcc-34-3.4.6-4 gcc-4.1.2-48.el5 gcc-c++-4.1.2-48.el5
А также библиотека GD:
# rpm -qa gd gd-2.0.33-9.4.el5_4.2
Теперь переходим к сборке. Сначала конфигурируем :
# ./configure -with-command-group=nagios
Теперь собираем:
# make all # make install # make install-init # make install-config # make install-commandmode # make install-webconf
Теперь перейдем к плагинам, здесь всё проще, так как если вы прошли предыдущие этапы, значит у вас все нормально и все библиотеки есть.
Теперь создаем администратора Nagios и задаем ему пароль:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Также добавим Nagios в автозагрузку:
# chkconfig --add nagios # chkconfig nagios on
Теперь установим плагины для проверки информации о системе
Заходим в папку с плагинами
# cd ~/nagios/nagios-plugins-1.4.15
Конфигурируем для пользователя nagios и группы nagios:
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios # make # make install
Перезагружаем Apache и запускаем Nagios:
/etc/init.d/httpd reload /etc/init.d/nagios start
Теперь система Nagios доступна по адресу:
http://ваш_IP/nagios/
Логин и пароль соответственно:
nagiosadmin и тот пароль который вы задали выше.
Система мониторинга готовы, там уже должен быть добавлен localhost.
Настройка системы это отдельный разговор на статью больше чем эта, потому напишу о ней в отдельной статье.