Работа мониторинга
Материал из ISPWiki
Содержание |
Wathcdog
Мониторинг работоспособности сервисов осуществляется с помощью программы Watchdog. Программа, как правило, располагается в /usr/local/ispmgr/sbin/watchdog. Запускается Watchdog из планировщика Cron согласно выбранному периоду проверки.
Проверка httpd
Для проверки работоспособности http сервиса Watchdog подключается к основному IP-адресу сервера на 80 (8080) порт. Передает команду GET / и ожидает ответа со строкой HTTP/1.1.
Проверка DNS
Подключаемся на основной IP-адрес сервера по 53 порту и спрашиваем последний добавленный в панель домен. Если в панели нет ни одного домена, то спрашиваем домен localhost. При получении ответа сервер считается рабочим.
Проверка Mysql, PostgreSQL
Подключаемся к базе данных с логином и паролем, указанными в разделе Серверы баз данных (ISPmanager) в ISPManager. При успешном подключении отключаемся, сервер баз данных считается рабочим.
Проверка SMTP
Подключаемся к основному IP-адресу сервера по 25 порту. В ответ ожидаем строку, начинающуюся с "220". Получив такую строку, отправляем "QUIT" и в ответ ждем строку с кодом "221".
Проверка POP3
Подключаемся к 110 порту основного IP-адреса сервера. В ответ ожидаем строку "+OK", далее отправляем "QUIT" и ожидаем строку "+OK"
Проверка IMAP
Подключаемся к 143 порту основного IP-адреса сервера. В ответ ожидаем строку "* OK", далее посылаем "A001 LOGOUT" в ответ ждем "* BYE"
Подключение FTP
Подключаемся к основному IP-адресу сервера по 21 порту. В ответ ожидаем строку, начинающуюся с "220". Получив такую строку, отправляем "QUIT" и в ответ ждем строку с кодом "221".
Неизвестный сервис
Проверяется наличие указанного имени процесса в списке процессов.
При падении сервиса
Watchdog выполняет команду остановки сервера, если после этого процессы остались в памяти, то убивает процессы. После этого выполняет команду запуска сервиса. В случае неудачи администратору высылается письмо о неудачном запуске сервиса. Сервис помечается нерабочим.
Логи программы
Логи работы Watchdog передает в syslogd. Как правило, syslogd пишет их в /var/log/debug.log, но на разных системах этот путь может отличаться.
