Мониторинг лицензий NormaCS с помощью Zabbix

Привет, сегодня будем мониторить использование лицензий NormaCS.

Для мониторинга использования лицензий будем использовать данные, которые отдает NormaCS Server.
Данные выдаются в виде HTML страницы:

NormaCS вывод

NormaCS вывод данных

Конечно можно время от времени запускать NormaCS Server и записывать полученные данный в, к примеру,  Excel, но это скучно и неинтересно.

Нас интересует число в предложении «активно 2 пользователя из 10 возможных»

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

Приступим: Мониторинг лицензий NormaCS с помощью Zabbix

1. Скачать веб страницу — так как в Windows нет (или я плохо искал) команды для скачивания веб страницы, воспользуемся утилитой Wget . Устанавливаем.
2. Для вырезания нужного нам диапазона воспользуемся программой cut.exe из пакета GNU utilities for Win32  .  Скачиваем и кидаем ее в c:/Windows/system32/. (Если не секьюрно напишите в комменты)

3. Пишем скрипт script1.bat следующего содержания:

@echo off
 C:\"Program Files (x86)"\GnuWin32\bin\wget -O D:/monitor/normacs/new.txt -l 1 http://localhost:8888/Status?page=users 
 cut -c  359-360 D:/monitor/normacs/new.txt > D:/monitor/normacs/out2.txt 

Здесь вебстраница копируется в файл new.txt, затем из диапазона 359-360 выдергивается цифра и копируется в файл out2.txt

4. Добавляем в конфигурационный файл агента на сервере пользовательский параметр (у вас свой путь):

D:\monitor\zabbix_agentd.win.conf:

UserParameter=normacs.used, D:\monitor\normacs\script1.bat

4. Идем в zabbix и создаем на нужном нам сервере (где установлена NormaCS) 2 элемента данных
— первый будет запускать скрипт D:\monitor\normacs\script1.bat

 Для проверки того что UserParametr работает можно со стороны Zabbix запустить команду zabbix_get -s 192.168.0.4 -p 10050 -k vfs.file.contents[d:/monitor/normacs/out2.txt] в нашем случае должно вернуться число 

Создание элементов данных

Создание элементов данных

я поставил интервал раз в 5мин

— второй считывать данный из файла out2.txt

будем использовать ключ vfs.file.contents[файл,<кодировка>] описание ключей Zabbix

создание второго элемента данных Zabbix

создание второго элемента данных Zabbix

Так как ключ vfs.file.contents ,по умолчанию, возвращает тип данных как текст — переопределим в тип информации «целое число» и обязательно — единица измерения item
Делаем график:

График NormaCS в Zabbix

График NormaCS в Zabbix

Готово!

P.S.

А вообще у меня сложилось впечатление, что можно было сделать проще… в zabbix есть такой параметр web.page.get[хост,<путь>,<порт>]

… но это в следующий раз 🙂

proshe

Vladimir

Добавить комментарий