В сегодняшней части по работе с сервером мониторинга Zabbix я разберу как мониторить наличие запущенного в системе определенного процесса, к примеру: службы Web-сервера для видеонаблюдения (ПО Intellect, процесс: WebServer.run), 1С сервера и т. д. Как всегда нужно начать с самого малого, а именно я рассмотрю как мониторить наличие запущенного процесса софтфона от Манго — Центр обработки вызовов он же ЦОВ. Имя процесса в диспетчере задач оси Windows 7 Professional SP1 значится, как mpoint.exe → только вот в их при работе программы целых два, но это ничего страшно. Данной заметкой я хочу понять, как работают встроенных средства самого Zabbix, а не задействование внешних обработок прописываемых на агентах. По возможности лучше использовать инструменты из коробки дабы потом проще было вспоминать (если конечно забудете), как и для чего используется.
Создаю новый элемент поведения:
http://IP&DNS — user&pass — Administration — General — Value mapping — Create value map –
- Name: Статус процесса в Диспетчере задач
- Mapping:
- Value: 0 — Mapped to: Процесс не запущен
- Value: 1 — Mapped to: Процесс запущен
и не забываем нажать Save для сохранения внесенных изменений.
Затем создаю в дефолтном шаблоне Template OS Windows новый элемент данных:
http://IP&DNS — user&pass — Configuration — Templates — Template OS Windows — Items — Create Item
- Name: Check Process TSOV
- Type: Zabbix agent
- Key: proc.num[mpoint.exe]
- Type of information: Numeric(unsigned)
- Data type: decimal
- Update interval (in sec): 30
- History storage period (in days): 90
- Trend storage period (in days): 365
- Applications: Processes
- Description: Центр обработки вызовов (ЦОВ)
- Enabled: отмечаю галочкой
По окончании настройки нового элемента данных не забываем нажать Save.
Затем перехожу в заведенный на мониторинг хост и создаю триггер на изменение поведения нацеленного элемента данных в нем:
http://IP&DNS — user&pass — Configuration — Hosts — Group (выбираю свою группу Windows Workstation) — затем перехожу в хост W7X86 — Triggers — Create Trigger
Вкладка: Trigger
- Name: Process TSOV (mpoint.exe) не запущен
- Expression: {W7X86:proc.num[mpoint.exe].last()}<2
- Severity: Average
- Enabled: отмечаю галочкой
И не забываю нажать Save для применения настроек
Затем все также находясь в настройках хоста создаю описание для формирования графика по этому элементу данных:
http://IP&DNS — user&pass — Configuration — Hosts — Group (выбираю свою группу Windows Workstation) — затем перехожу в хост W7X86 — Graphs — Create graph
вкладка: Graph
- Name: Check Status process TSOV
- Y axis MIN value: Fixed = 0
- Y asis MAX value: Fixed = 2
Items — Add — нахожу созданный шагами ранее элемент данных Check Process TSOV, отмечаю его галочкой после нажимаю Select, Save и того получается:
- W7X86: Check Process TSOV (Function: all), Draw style: Line, Y axis side (Left) Colour: C80000
Теперь если на рабочей станции завершить процесс, то график будет следующим:
, т. е. Значение — 2 это когда в системе два запущенных процесса (а только так работает ЦОВ от Манго), а 0 — это когда ни одного процесса не запущено (т. е. Его нет в «Диспетчере задач») и также сработал trigger (триггер) на возникнувшее событие:
http://IP&DNS — user&pass — Monitoring — Dashboard
Если же нужно мониторить не количество процессов в «Диспетчере задач», то в элементе данных нужно добавить значение:
- Show Value: выбираем тот шаблон который создали выше именуемый, как: “Статус процесса в Диспетчере задач”
В настройках триггера хоста шаблон проверки будет таким:
{W7X86:proc.num[mpoint.exe].last(0)}=0
А в настройках графика:
- Name: Check Status process TSOV
- Y axis MIN value: Fixed = 0
- Y asis MAX value: Fixed = 2
- Items: W7X86: Check Process TSOV (Function: all)
На заметку: лучше создать элемент данных не в дефолтном шаблоне, с создать свой ориентированный на определенную группу хостов на которых общие составляющие и триггеры с использование переменных окружения.
Вот пример для процесса WebServer.run ответственного за возможность через браузер подключиться к сервере видеонаблюдения с целью просмотра камер согласно должностным обязанностям за своими отделами:
Вот что мне и требовалось сделать. Для чего я именно на рабочей станции мониторю как каким-то процессом, дело в том, что у нас в компании имеется CallCenter который пользуется данным ПО для обработки звонков клиентов с последующим переводом на соответствующие отделы. А порой уже довольно часто у Манго наблюдаются различные проблемы при работе, доступ в интернет с рабочих станций на сервера Манго полный, но использование ЦОВ как софтфона это сущий геморрой по возникающим ошибкам для меня как системного администратора — я ведь ничего не могу сделать, сервис то ведь в облаке (ну где-то там и палец вверх). Обращения к поддержке результата решения не дают, а только в ответ слышу это будет исправлено в следующем релизе, давайте заведем заявку и все по такому же принципу. А так я буду уже знать что что-то уже случилось. На этом я прощаюсь, с уважением автор блога — ekzorchik.