Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
languagebash
themeRDark
[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
languagebash
themeRDark
[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
languagebash
themeRDark
kill -9 19522


где 19522 - это ID процесса(PID), который можно увидеть командой:

Code Block
languagebash
themeRDark
ps aux | grep WebCallServer

...

Через некоторое время Watchdog должен перезагрузить сервер и отправить отчет о проблеме на почту. После этого Watchdog должен выполнить повторную проверку и отправить на почту сообщение о доступности сервера и готовности к работе.

Тест SIP

Чтобы включить проверку SIP регистраций, нужно добавить событие SIPRegDoesNotWork, чтобы настройка выглядела так: watchdog_events=CoreProcessDown,EventScannerDown,SIPRegDoesNotWork.

Для проведения теста отключим исходящий SIP-порт на Firewall для того чтобы не проходили SIP REGISTER запросы и Watchdog начал реагировать.

Code Block
languagebash
themeRDark
iptables -A OUTPUT -p udp -m udp --dport 5060 -j DROP

...

Удаляем правило и открываем SIP порт:

Code Block
languagebash
themeRDark
iptables -D OUTPUT 1


SIP сервер снова доступен и WCS регистрирует тестового SIP-клиента для валидации SIP соединения. Далее на почту будет отправлено сообщение Watchdog о том, что WCS снова готов к работе.

Логирование Watchdog

Подсистема проверки доступности Watchdog ведет отдельные логи в файле logs/watchdog/watchdog.log.

Code Block
languagebash
themeRDark
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
languagebash
themeRDark
'%d{HH:mm:ss,SSS} %-5p %20.20c{1} - %t %m%n'

...