Для целей мониторинга состояния работы системы WNAM внешними средствами можно использовать:
- опрос текущих параметров приложения WNAM, аналогичных отображаемым в разделе "Сводка" веб-интерфейса администратора;
- периодический запуск скриптов, проверяющих работоспособность системы (freeradius, tomcat, mongodb) и выдающих информацию путём прямого обращения к БД системы WNAM.
1. Встроенные средства
Возможность получать данные от работающий системы WNAM требуется предварительно включить в меню "Конфигурация" → "Общие настройки" чекбокс "Автоматизированный интерфейс (API) (доступ обеспечивается включением 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. Мониторинг внешними скриптами
Скрипты для мониторинга работы системы WNAM доступны по адресу 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 и сопутствующих компонент в целом.
3. Мониторинг Zabbix
Шаблон для мониторинга WNAM wnam_zbx_template.yaml.
Для использования шаблона требуется:
- Включить на сервере WNAM в меню "Конфигурация" → "Общие настройки" чекбокс "Автоматизированный интерфейс (API)"
- Импортировать шаблон в zabbix. Настройка - Шаблоны - Импорт
- Присоединить шаблон к узлу сети сервера WNAM.
Шаблон zabbix считывает следующие метрики:
- время работы WNAM сервера
- время работы mongodb сервера
- время ответа RADIUS сервера
- количество серверов доступа (NAS)
- количество площадок
- количество активных пользователей
- количество активных точек доступа
- общее число пользователей
- общее число сессий
- количество отправленных смс
- количество авторизованных смс
- количество подключенных AD/FreeIPA доменов
- количество активных LDAP и NTLM коннекторов