Столкнулся с одним нюансом использования свежего шаблона Zabbix для мониторинга серверов под управлением Windows. Использую для мониторинга последнюю (на момент написания статьи) версию Zabbix сервера 5.4. Поскольку сервер был обновлен до актуальной версии, то по умолчанию шаблоны использовались еще со времен 4-й версии. Свежие шаблоны можно без проблем скачать с git zabbix и импортировать в библиотеку сервера.
Мониторинг файловых систем на терминальной ферме с помощью Zabbix
Сразу оговорюсь, что у меня данная проблема ярко проявилась именно на терминальной ферме, причем с вынесенными дисками профилей пользователей на отдельном файловом сервере. Ранее я уже писал как мониторить открытые сессии на терминальном сервере Windows.
Суть этой проблемы заключается в том, что при каждом входе пользователя на терминальную ферму система автообнаружения находит его подключенный диск и добавляет в мониторинг. С одной стороны это не плохо, но пользователь в следующий раз попадает на другой узел терминальной фермы, на новом узле его диск так же обнаруживается и ставится на мониторинг, а на предыдущем узле подключения его диск висит еще 30 дней до удаления.
Через это в Zabbix забивается очередь опроса и появляется алерт Zabbix poller process more than 75% busy. График очереди опроса становится в полочку на 100%.
Исключение дисков пользователей из мониторинга Zabbix
Решение я нашел только одно — это исключить диски пользователей и их файловые системы из мониторинга. Для этого необходимо прописать 2 макроса в шаблоне мониторинга. Я использую сборный шаблон в который подключены все шаблоны, которые необходимо привязать к хостам. Так проще настраивать общие правила для большого количества узлов.
Теперь на вкладке макросы мы можем использовать в «верхнем» шаблоне макросы всех подключенных шаблонов и изменять параметры служб автообнаружения и порогов срабатывания триггеров. Для решения обозначенной проблемы с дисками пользователей на терминальной ферме можно добавить 2 макроса: {$VFS.DEV.DEVNAME.MATCHES} содержащий значение регулярное выражение \d\s\D:$ и {$VFS.FS.FSNAME.NOT_MATCHES} со значением ^C:\Users\.*.
Первое регулярное выражение игнорирует все диски без буквы диска, второе игнорирует все файловые системы подключенные в папки внутри C:\Users. Наверное можно было бы как-то более универсально сделать, но я не силён в регулярных выражениях, если есть более толковые варианты буду признателен если напишите в комментариях.
После добавления макросов можно запустить вручную автообнаружение и все элементы мониторинга дисков пользователей вместе с файловыми системами будут помечены желтым значком как более не обнаруживаемые. Их можно смело удалить из элементов хоста. После того как я это сделал очередь опроса упала до вменяемых значений и алерт Zabbix poller process more than 75% busy исчез.
Исключение из мониторинга Zabbix ненужных сервисов Windows
В дополнение выложу опубликованный на скриншоте макрос исключения из автообнаружения ненужных служб Windows. Многие из них по определению не играют большой роли, а некоторые постоянно «моргают» чем сводят с ума систему мониторинга и системного администратора.
Макрос который за это отвечает {$SERVICE.NAME.NOT_MATCHES} у меня содержит вот такое регулярное значение для исключения ненужных сервисов:
^RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel(R) TPM Provisioning Service|dbupdate|DoSvc$|TrustedInstaller|BITS|Dhcp|FontCache|Themes|WbioSrvc|edgeupdate|ShellHWDetection|OneSyncSvc_.+|CDPUserSvc_.+|wudfsvc|gupdate|TrkWks|SysMain
Вопросы, дополнения и конструктивная критика всегда приветствуются в комментариях
Ссылки
- https://github.com/zabbix/zabbix/tree/master/templates — оригинальные шаблоны Zabbix.
Внимание! Нажимая кнопку "Отправить комментарий" вы соглашаетесь с политикой конфиденциальности сайта.