Система оповещения
В опции 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, то оповещение будет полностью проигнорировано.