Для целей мониторинга состояния работы системы WNAM внешними средствами можно использовать:
- опрос текущих параметров приложения WNAM, аналогичных отображаемым в разделе "Сводка" веб-интерфейса администратора;
- периодический запуск скриптов, проверяющих работоспособность системы (freeradius, tomcat, mongodb) и выдающих информацию путём прямого обращения к БД системы WNAM.
1. Встроенные средства
Возможность получать данные от работающий системы WNAM требуется предварительно включить в меню "Конфигурация" → "Общие настройки" чекбокс "Автоматизированный интерфейс (API) (доступ обеспечивается включением API).
Используемое приложение мониторинга должно запрашивать ссылку http://servername/api/statistic. Авторизация не требуется, однако доступ к разделу статистики может быть разрешён только с адресов, указанных в параметре allowed_subnets.
При запросе вида http://servername/api/statistic результаты выдаются в форме JSON-ответа первого типа, например:
{
"siteCount": 58,
"siteLicenseCount": 692,
"siteActiveCount": 38,
"serverCount": 56,
"activeServices": "0 T, 0 U",
"bclients": 3,
"activeServicesT": 0,
"activeServicesU": 0,
"activeAccessPoints": 0,
"apLicenseCount": 2120,
"apCount": 66,
"customerCount": 94,
"sessionCount": 198386,
"activeCustomerCount": 0,
"flowsProcessedCount": 2302,
"flowsNFProcessedCount": 0,
"cmdsProcessedCount": 1521193,
"ram": 32,
"cpu": 1,
"hdd": 47,
"uptime": "16 м. 45 с.",
"uptimeRaw": 1005,
"adLogins": 0,
"adClicks": 0,
"smsCount": "621/522",
"smsCountS": 621,
"smsCountV": 522,
"callCount": "1725/20",
"callCountS": 1725,
"callCountV": 20,
"radiusResponse": "0,008 с., [хорошо]",
"radiusResponseRaw": 0.008,
"mongoUptime": "437 д. 20 ч. 7 м. 29 с.",
"mongoUptimeRaw": 37829249,
"mongoOpsCounters": "80053565",
"daysToExpiration": 241,
"licenseServer1Reachable": 1,
"licenseServer2Reachable": -1,
"licenseStatus": "Лицензия истекает через 241 дней",
"domainCount": 1,
"ldapConnectorsCount": 1,
"ntlmConnectorsCount": 1,
"endpointsLicensed": 160000,
"endpointsUsed": 55,
"mongoPrimaryName": null,
"mongoRSetMembers": 0,
"mongoRSetOkMembers": 0,
"siteProgressBar": {
"pc": [0, 0, 2, 60, 3, 34],
"co": [0, 0, 1, 35, 2, 20]
},
"accessServerProgressBar": {
"pc": [0, 2, 4, 68, 11, 16],
"co": [0, 1, 2, 38, 6, 9]
},
"pageForModerationCount": 0,
"enableCluster": false,
"clusterRole": null,
"serversInCluster": 1,
"version": "1.6.4778",
"hostname": "lab1"
}При запросе вида http://servername/api/statistic?json результаты выдаются в форме JSON-ответа второго типа, например:
{"statistic":
{
"siteCount" : 58,
"siteLicenseCount" : 692,
"siteActiveCount" : 38,
"serverCount" : 56,
"activeServices" : "0 T, 0 U",
"bclients" : 3,
"activeServicesT" : 0,
"activeServicesU" : 0,
"activeAccessPoints" : 0,
"apLicenseCount" : 2120,
"apCount" : 66,
"customerCount" : 94,
"sessionCount" : 198386,
"activeCustomerCount" : 0,
"flowsProcessedCount" : 2302,
"flowsNFProcessedCount" : 0,
"cmdsProcessedCount" : 1521193,
"ram" : 32,
"cpu" : 0,
"hdd" : 47,
"uptime" : "20 м. 6 с.",
"uptimeRaw" : 1206,
"adLogins" : 0,
"adClicks" : 0,
"smsCount" : "621/522",
"smsCountS" : 621,
"smsCountV" : 522,
"callCount" : "1725/20",
"callCountS" : 1725,
"callCountV" : 20,
"radiusResponse" : "0,009 с., [хорошо]",
"radiusResponseRaw" : 0.009,
"mongoUptime" : "437 д. 20 ч. 10 м. 50 с.",
"mongoUptimeRaw" : 37829450,
"mongoOpsCounters" : "80053955",
"daysToExpiration" : 241,
"licenseServer1Reachable" : 1,
"licenseServer2Reachable" : -1,
"licenseStatus" : "Лицензия истекает через 241 дней",
"domainCount" : 1,
"ldapConnectorsCount" : 1,
"ntlmConnectorsCount" : 1,
"endpointsLicensed" : 160000,
"endpointsUsed" : 55,
"mongoPrimaryName" : null,
"mongoRSetMembers" : 0,
"mongoRSetOkMembers" : 0,
"siteProgressBar" : {
"pc" : [ 0, 0, 2, 60, 3, 34 ],
"co" : [ 0, 0, 1, 35, 2, 20 ]
},
"accessServerProgressBar" : {
"pc" : [ 0, 2, 4, 68, 11, 16 ],
"co" : [ 0, 1, 2, 38, 6, 9 ]
},
"pageForModerationCount" : 0,
"enableCluster" : false,
"clusterRole" : null,
"serversInCluster" : 1,
"version" : "1.6.4778",
"hostname" : "lab1"
}
}Третий вариант предусматривает запрос по ссылке http://servername/api/statistiс?plain . При этом результат возвращается в виде таблицы:
siteCount=58 siteLicenseCount=692 siteActiveCount=38 serverCount=56 activeServicesT=0 activeServicesU=0 activeAccessPoints=0 apLicenseCount=2120 apCount=66 customerCount=94 sessionCount=198386 activeCustomerCount=0 flowsProcessedCount=2302 flowsNFProcessedCount=0 cmdsProcessedCount=1521193 ram=32 cpu=1 hdd=47 uptime=1082 adLogins=0 adClicks=0 smsCountS=621 smsCountV=522 callCountS=1725 callCountV=20 radiusResponse=0.008 mongoUptime=37829326 mongoOpsCounters=80053731 mongoPrimaryName=null mongoRSetMembers=0 daysToExpiration=241 licenseServer1Reachable=1 licenseServer2Reachable=-1 endpointsLicensed=160000 endpointsUsed=55 licenseStatus=Лицензия истекает через 241 дней serversInCluster=1 version=1.6.4778 domainCount=1 ldapConnectorsCount=1 ntlmConnectorsCount=1
Используемое приложение мониторинга может производить разбор ответа, строить графики, отсылать уведомления и так далее. Также существует способ получения статистики о работе системы 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 коннекторов

