Мониторинг закрытых и созданных заявок OTRS в Zabbix

В предыдущей статье рассматривался способ мониторинга заявок находящихся в работе (открытых)  из системы OTRS в системе мониторинга  Zabbix .Сейчас возникла необходимость отображать  заявки закрытые в течении рабочего дня.

Это нужно, скорее, для общего понимания, что HelpDesk работает и что-то делает. Возможно позже и метрика будет. К тому же в дашборде OTRS эта информация отображается в виде графика за 7 дней, а что если нам нужно будет узнать среднее значение за месяц? в код лезть и менять параметры ?

По предыдущей статье мы знаем, что необходимые данные содержаться в базе данных «otrs» таблице «ticket». Колонка «ticket_state_id» отображает состояния заявок. Нам нужны заявки с id =2 (закрытые).

Так же нужно учесть очередь в которых заявки закрываются. Я вот не хочу учитывать очередь «Спам» «Полиграфия» и «1С» (для них позже сделаю отдельный график, если потребуется)

select * from queue;

queue для OTRS

Время изменения заявки определяется в колонке «change_time».

select * from ticket limit 610,3;

ticket_state-_id

Так как рабочий день у нас 8 часов +1 час обеда (с 08:00 по 17:00) интервал будет выбирать  за последние 9 часов.

В итоге у меня получился запрос:

SELECT count(*) FROM ticket WHERE ticket_state_id IN (2)  AND queue_id IN (1,2,4,5) AND DATE(change_time) >= DATE_SUB(CURRENT_DATE, INTERVAL 9 HOUR)

Записываем его   в файл (на сервере где установлен OTRS) /etc/zabbix/zabbix_agent.d , в самом конце файла:

UserParameter=mysql.query.oneday, echo "SELECT count(*) FROM ticket WHERE ticket_state_id IN (2)  AND queue_id IN (1,2,4,5) AND DATE(change_time) >= DATE_SUB(CURRENT_DATE, INTERVAL 9 HOUR)" | mysql -N -u otrs -ppassword otrs

 

Создаем элемент данных и график в Zabbix:

При создании элемента данных указываем период мониторинга в «пользовательских интервалах»  с понедельника по пятницу с 7 до 19 (я взял с запасом):

 

эл. данных Zabbix

 

Получаем график:

График OTRS

 

Теперь добавим возможность мониторинга созданных заявок за рабочий день (за 9 часов), время создания  заявки определяется в колонке «create_time»  из таблицы «ticket»

По аналогии с вышеописанным способом получаем запрос:

SELECT count(*) FROM ticket WHERE ticket_state_id   AND queue_id IN (1,2,4,5) AND DATE(create_time) >= DATE_SUB(CURRENT_DATE, INTERVAL 9 HOUR)

Записываем его   в файл (на сервере где установлен OTRS) /etc/zabbix/zabbix_agent.d , в самом конце файла:

UserParameter=mysql.query.oneday, echo "SELECT count(*) FROM ticket WHERE ticket_state_id  AND queue_id IN (1,2,4,5) AND DATE(create_time) >= DATE_SUB(CURRENT_DATE, INTERVAL 9 HOUR)" | mysql -N -u otrs -ppassword otrs

Создаем элемент данных и график в Zabbix. Вот пример как это выглядит у меня — в виде комплексного экрана:

Комплексный экран Zabbix

 

Vladimir

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