Table of Contents |
---|
Отслеживание сбоев
WCS имеет встроенную подсистему проверки доступности сервера с отправлением отчетов на почту - Watchdog.
...
a) Создание отчета с дампами.
b) Отправка уведомления о сбое.
c) Перезагрузка процесса если требует событие (опционально).
d) Новый цикл проверки и отправка уведомления о восстановлении после сбоя.
Настройки и запуск
Настройки Watchdog хранятся в конфиге watchdog.properties. Запуск и остановка Watchdog производится из CLI командами watchdog start и watchdog stop.
Кроме этого можно настроить автоматический запуск Watchdog. Для этого используется настройка watchdog_autorun=true в конфиге watchdog.properties.
...
1) Уведомление о сбое.
Code Block | ||||
---|---|---|---|---|
| ||||
[T16] WCS core process is down or unavailable. To change Watchdog behavior please edit watchdog.properties file. To start or stop Watchdog please use 'watchdog start' and 'watchdog stop' CLI commands. To start Watchdog automatically, set watchdog_autorun=true in the watchdog.properties. Best regards, Flashphoner Watchdog |
...
2) Уведомление о восстановлении после сбоя.
Code Block | ||||
---|---|---|---|---|
| ||||
[T16] WCS is up and running To change Watchdog behavior please edit watchdog.properties file. To start or stop Watchdog please use 'watchdog start' and 'watchdog stop' CLI commands. To start Watchdog automatically, set watchdog_autorun=true in the watchdog.properties. Best regards, Flashphoner Watchdog |
Тест с недоступностью процесса
Для тестирования доступности сервера можно убить рабочий серверный процесс командой 'kill', например:
Code Block | ||||
---|---|---|---|---|
| ||||
kill -9 19522 |
где 19522 - это ID процесса(PID), который можно увидеть командой:
Code Block | ||||
---|---|---|---|---|
| ||||
ps aux | grep WebCallServer |
...
Через некоторое время Watchdog должен перезагрузить сервер и отправить отчет о проблеме на почту. После этого Watchdog должен выполнить повторную проверку и отправить на почту сообщение о доступности сервера и готовности к работе.
Тест SIP
Чтобы включить проверку SIP регистраций, нужно добавить событие SIPRegDoesNotWork, чтобы настройка выглядела так: watchdog_events=CoreProcessDown,EventScannerDown,SIPRegDoesNotWork.
Для проведения теста отключим исходящий SIP-порт на Firewall для того чтобы не проходили SIP REGISTER запросы и Watchdog начал реагировать.
Code Block | ||||
---|---|---|---|---|
| ||||
iptables -A OUTPUT -p udp -m udp --dport 5060 -j DROP |
...
Удаляем правило и открываем SIP порт:
Code Block | ||||
---|---|---|---|---|
| ||||
iptables -D OUTPUT 1 |
SIP сервер снова доступен и WCS регистрирует тестового SIP-клиента для валидации SIP соединения. Далее на почту будет отправлено сообщение Watchdog о том, что WCS снова готов к работе.
Логирование Watchdog
Подсистема проверки доступности Watchdog ведет отдельные логи в файле logs/watchdog/watchdog.log.
Code Block | ||||
---|---|---|---|---|
| ||||
15:08:06,406 check CoreProcessDown - ok 15:08:06,410 check EventScannerDown - ok 15:08:36,414 watchdog - next cycle 15:08:36,433 check CoreProcessDown - ok 15:08:36,437 check EventScannerDown - ok 15:09:06,439 watchdog - next cycle |
...
Так выглядит лог Watchdog в котором отображаются успешные проверки.
Для конфигурации логгирования используется стандартный конфиг watchdog.log4j.properties. Логи пишутся с почасовой ротацией в формате
Code Block | ||||
---|---|---|---|---|
| ||||
'%d{HH:mm:ss,SSS} %-5p %20.20c{1} - %t %m%n' |
...