Для целей мониторинга состояния работы WNAM внешними средствами вы можете использовать:
- Опрос текущих параметров приложения WNAM, аналогичных отображаемым в разделе "Сводка" веб-интерфейса администратора
- Периодический запуск скриптов, проверяющих работоспособность системы (freeradius, tomcat, mongodb) и выдающих информацию путём прямого обращения к базе данных WNAM
1. Встроенные средства
Возможность получать данные от работающего WNAM требуется предварительно включить в меню "Конфигурация - Общие настройки" (доступ обеспечивается включением API):
Ваше приложение мониторинга должно запрашивать ссылку http://servername/api/statistic
Авторизация не требуется, однако доступ к разделу статистики может быть разрешён только с адресов, указанных в параметре allowed_subnets.
При запросе вида http://servername/api/statistic результаты выдаются в форме JSON-ответа первого типа, например:
{
"siteCount":5,
"serverCount":2,
"activeServices":"2 T, 0 U",
"customerCount":12342,
"activeCustomerCount":435,
"flowsProcessedCount":32153245234,
"cmdsProcessedCount":2134213412,
"ram":49,
"cpu":2,
"hdd":99,
"uptime":"2 д. 6 ч. 3 м. 15 с.",
"adLogins":0,
"adClicks":0,
"smsCount":"234/230",
"radiusResponse":"0.01 с. [хорошо]",
"mongoUptime":"2 д. 6 ч. 3 м. 15 с.",
"mongoOpsCounters":"4345432664"
}
При запросе вида http://servername/api/statistic?json результаты выдаются в форме JSON-ответа второго типа, например:
{"statistic": { "siteCount" : 1, "serverCount" : 1, "activeServices" : "0 T, 0 U", "activeServicesT" : 0, "activeServicesU" : 0, "activeAccessPoints" : 0, "customerCount" : 1, "activeCustomerCount" : 0, "flowsProcessedCount" : 0, "flowsNFProcessedCount" : 0, "cmdsProcessedCount" : 0, "ram" : 95, "cpu" : 32, "hdd" : 99, "uptime" : "5 м. 32 с.", "uptimeRaw" : 332, "adLogins" : 0, "adClicks" : 0, "smsCount" : "0/0", "smsCountS" : 0, "smsCountV" : 0, "radiusResponse" : "таймаут или ошибка взаимодействия", "radiusResponseRaw" : 0.0, "mongoUptime" : "1 д. 0 ч. 17 м. 25 с.", "mongoUptimeRaw" : 87445, "mongoOpsCounters" : "7138", "daysToExpiration" : 53, "mongoPrimaryName" : null, "mongoRSetMembers" : 0 } }
Третий вариант предусматривает запрос по ссылке http://servername/api/statistiс?plain . При этом результат возвращается в виде таблицы:
siteCount=31 serverCount=0 activeServicesT=0 activeServicesU=0 customerCount=1 activeCustomerCount=0 flowsProcessedCount=0 cmdsProcessedCount=0 ram=28 cpu=5 hdd=59 uptime=109 adLogins=0 adClicks=0 smsCountS=0 smsCountV=0 radiusResponse=0.0 mongoUptime=123 mongoOpsCounters=32
Ваше приложение мониторинга может производить разбор ответа, строить графики, отсылать уведомления и так далее.
Существует также способ получения статистики о работе WNAM внешним, сторонним приложением, написанным на Perl.
2. Мониторинг внешними скриптами
Скрипты доступны по адресу http://www.netams.com/files/wnam/misc/perl-monitoring
Для их работы потребуются Perl-модули MongoDB, Email::Sender::Simple, Email::Sender::Transport::SMTP, Email::Simple::Creator, которые вы можете установить через cpan -i
Отредактируйте эти скрипты, чтобы они содержали верные параметры доступа до базы данных, адреса отправителя/получателя электронной почты с уведомлениями и т.п.
Добавьте запуск этих скриптов в cron для того, чтобы оперативно получать отчеты о состоянии СМС-авторизации (отправка и подтверждение СМС), и работы WNAM и сопутствующих компонент в целом.