Система мониторинга. Автоматические заявки FATAL, ALARM, WARNING. Проверка состояния сервера из командной строки.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (1)

просмотр истории страницы
{info}Проблема актуальна для продуктов Reductor, XGE и Softrouter. Если она произошла на Billing или Billing_Slave, обяательно обратитесь в техподдержку{info}

h2. WARNING Billing pl angel Не доступны DNS серверы
{code}- check_dns.sh: ERROR(2) [FAILED]

WARNING Не доступны DNS-серверы

2019-04-10 11:03:31: pl5angel WARNING Не доступны DNS-серверы

/app/base/usr/local/angel/check_dns.sh ERROR(2)
Create_date: 2019-04-10 11:03:31{code}
Тест *check_dns.sh* есть в каждом контейнере платформы Carbon. Для контейнера *base* используются DNS-сервера host-системы, он выполняет команду "*nslookup -timeout=X ya.ru*", "X" - количество секунд ожидания ответа, задаётся в конфигурационном файле контейнера (например, /app/+base+/cfg/config)
Возможные причины возникновения проблемы:
* В файле /etc/resolv.conf контейнера не указаны или указаны неверные DNS-сервера.
* Заданные DNS-сервера не отвечают
* Заданные DNS-сервера отвечают слишком долго (дольше заданного timeout)

h3. В файле /etc/resolv.conf контейнера не указаны или указаны неверные DNS-сервера.
Укажите работающие и доступные для биллинга DNS-сервера по статье "[CarbonBilling:Настройки сети]" и перезапустите все :
{code}/etc/init.d/apps restart{code}

h3. Заданные DNS-сервера не отвечают
Убедитесь, что биллингу доступен интернет и есть доступ до заданных DNS-серверов.
Убедитесь что DNS-сервера работоспособны.
Попробуйте указать в [настройках сети|CarbonBilling:Настройки сети] публично доступные DNS-сервера, например 8.8.8.8 (Google) или 77.88.8.8 (Yandex)

h3. Заданные DNS-сервера отвечают слишком долго (дольше заданного timeout)
Выполните вручную команду:
{code}nslookup timeout=1 ya.ru{code}
Если DNS-сервер не ответит вовремя, увеличьте timeout на еденицу (timeout=2) и так далее пока не найдете оптимальное значение.
Когда удастся определить рабочий timeout, выполните следуюищй скрипт, где new_timeout задаёте равным нужному значению:
{code}new_timeout=2; cat /app/01_*.list | while read app; do sed "s/app\['dns_timeout'\]='[0-9].*'/app\['dns_timeout'\]='$new_timeout'/g" -i /app/$app/cfg/config; done{code}
Скрипт из примера установит timeout=2 в конфигурационных файлах всех контейнеров.

h1. Диагностика в веб-интерфейсе