Мониторинг очередей OTRS в Zabbix

У нас в организации в качестве системы HelpDesk используется система OTRS4 Free.Сейчас встал вопрос разработки KPI и SLA (об этом будет другая статья) и это потянуло за собой вопрос мониторинга и отчетности. Одной из метрик будет «количество открытых заявок», т.е. те заявки, которые «висят» в работе. Это количество будет оговорено в KPI и влиять на размер премии.Мониторинг будем делать на системе Zabbix 3.2. получая информацию из базы данных MySQL с которой работает OTRS4.

Поэтому нам будет нужен пароль, имя учетной записи (по умолчанию «otrs»), название базы данных (по умолчанию «otrs») эти данные можно получить из файла config.pm программы (у меня путь на сервере где установлен OTRS: /opt/otrs/Kernel/Config/config.pm).

Когда мы узнали пароль, имя учетной записи и название базы , нужно понять в какой таблицы и какого столбца в этой таблице находятся нужные нам данные:

Подключаемся:

mysql -u otrs -ppassword

-ppassword ключ «-p»пишется слитно с паролем «password»

смотрим какие есть базы данных:

SHOW databases;

otrs MySQL

выбираем нужную:

USE otrs;

смотрим какие есть таблицы в базе otrs

SHOW tables;

otrs MySQL

нас интересует таблица «ticket», посмотрим какая там содержится информация:

Select * from ticket limit 3;

(посмотреть какие колонки есть с ограничением 3 строки)

ticket_state_id

понятно, что в столбце «ticket_state_id» отображается состояние заявок (1- новая, 4 открытые, 6 — ожидают напоминания). На снимке приведены остальные state_id заявки:

 select * from ticket_state;

ticket_state в OTRS

Пишем запрос (на рисунке цифры для примера):

SELECT count(*) FROM ticket WHERE ticket_state_id IN (1, 4, 6 );

Select from OTRS

Тут выводятся интересующие типы заявок по всем очередям, а что если все очереди не нужны? Тогда смотрим id интересующих нас очередей:

select * from queue;

queue для OTRS

Мне понадобилось отображать очереди с id: 1 —  «Группа поддержки»,2 — «Начальник ИТ, 4- «системный администратор», 5- «главный специалист»

Итак у нас есть вся необходимая информация для реализации мониторинга в Zabbix. Исходим из того, что zabbix-agent уже установлен на OTRS. Пишем  в файле (на сервере где установлен OTRS) /etc/zabbix/zabbix_agent.d , в самом конце файла:

UserParameter=mysql.query, echo "SELECT count(*) FROM ticket WHERE ticket_state_id IN (1, 4, 6 ) AND queue_id IN (1,2,4,5)" | mysql -N -u otrs -ppassword otrs

На сервере Zabbix можно проверить приходят ли по созданному нами параметру данные:

zabbix_get -s 192.168.0.6 -p 10050 -k "mysql.query"

Можно сравнить полученную цифру с информацией в дашборде в OTRS, чтобы убедиться, что получили правильные данные.

Переходим в веб интерфейс  Zabbix и создаем элемент данных «открытые заявки»:

 

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

 

и график:

OTRS график Zabbix

 

Получаем результат:

OTRS результат в Zabbix

 

 

В дальнейшем таким способом можно добавить и другие данные, необходимые для учета в KPI отдела по направлению HelpDesk.

 

 

 

 

 

Vladimir

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