Система оповещения

В опции alarm.mail укажите почтовый ящик для отправки экстренных оповещений о нештатной ситуации в биллинге (потеря связи с БД, недостаток памяти и т.п.). При наступлении нештатной ситуации приложение биллинга вышлет письмо со следующей темой: [<имя приложения>] <название ошибки>, где:

  • <имя приложения> - название процесса биллинга, уникально для каждого процесса биллинга, может быть переопределено передачей ключа -Dapp.name=<новое имя> в скрипте старта процесса (.sh, .bat);

  • <название ошибки> - краткое описание ошибки.

Например: "[BGBillingServer] Достигнут лимит одновременных подключений к Master базе". Если, например, у вас установлено несколько серверов биллинга и необходимо получение алармов на один ящик, то вы можете скорректировать скрипт server.sh следующим образом (имя приложения изменено на BGBillingServer2):

if [ "$1" = "start" ]; then
#starting
nohup ${JAVA_HOME}/bin/java -Dapp.name=BGBillingServer2 ....
else

Аналогично может быть скорректировано имя любого приложения. В теле письма содержится идентификатор проблемы, время регистрации и краткое описание, например:

ID события: db.master.connection.limit.over
Время регистрации события: 10.03.2009 16:12:01
 
Это может привести к снижению времени отклика системы.
Необходимо предпринять меры по ускорению работы Master базы данных.
 
Connections pool to Master status Idle: 0; Active: 4; maxActive: 4; maxIdle: 4

Для каждого типа оповещения определен минимальный интервал между отправками писем. Интервал существует для избежания большого потока писем одного содержания. Он может быть изменён установкой опции конфигурации сервера биллинга alarm.min.interval.<key>=<seconds>, где:

  • <key> - идентификатор события, например db.master.connection.limit.over;

  • <seconds> - минимальное время в секундах между отправками писем по этому типу события.

Например:

alarm.min.interval.db.slave.connect.error=240

Хоть это и не рекомендуется, но можно отказаться от получения каких-либо оповещений. Для этого в конфигурации перечислить ключи (ID) оповещений через запятую. Например:

# Алармы, которые надо игнорировать. Ключи через запятую.
alarm.disabled=bad.java

Также существует возможность отправки оповещений не только на почту, но и в log-файл. Это достигается путем добавления в конфигурацию сервера опции

#Алармы, которые направляются в log. Необходимо указать список ключей через запятую или символ "*", чтобы ВСЕ алармы писались в лог.
alarm.send.to.log=<keys>

Log-файл располагается в стандартном каталоге логов сервера и называется *.alarm.log. Также стоит отметить следующее: если ключ аларма указан и в опции alarm.disabled, и в alarm.send.to.log, то на почту оповещение не придет, но в лог запишется; если ключ указан только в alarm.send.to.log, то оповещение придет и на почту, и в log-файл; если же ключ указан в alarm.disabled, но его нет в alarm.send.to.log, то оповещение будет полностью проигнорировано.