Zabbix Helper Kit и автоматизация обновления Zabbix Agent’a должны облегчить жизнь начинающим админам мастдая. ZHK нужно использовать тогда, когда необходимо использовать кастомизируемую энтерпрайз систему мониторинга, но вы испытываете трудности с обновлением непосредственно Заббикс агента, а так же его файлов конфигурации на подконтрольных вам машинах. Собственно избавлению от этих трудностей и будет посвящена серия статей о Zabbix Helper Kit, сей пост — небольшое лирическое отступление.
Что же такое Zabbix?
Эти 6 букв скрывают под собой, для многих новый, дивный мир агент-серверной телеметрии энтерпрайз класса, которой может пользоваться каждый. Прекраснейшая, всеобъемлющая справка на множестве языков. Огромное комьюнити. Открытые исходники. Возможность использовать в продакшене в небольших сетях, просто скачав готовый образ для виртмашины.
Но есть одно нО
Принимая во внимание тот факт, что сам заббикс агент можно не обновлять годами, всё равно есть ситуация, столкновение с которой приводит либо к функционированию сего чудесного продукта в ограниченном режиме, либо к постепенному вымиранию всей системы мониторинга в целом по причине того что админы просто забивают на её обслуживание и обновление. И имя этой ситуации «Изменение конфигурации агента»
Как обычно происходит развёртывание агента на Windows машины:
- Админ(ы) пробегают по нескольким десяткам компьютеров, ручками копируют на них агент с конфигом и регистрируют его в системе.
- Zabbix Agent и его файл конфигурации разворачиваются через GPO.
- Админ(ы) тем или иным способом, к установленному в системе агенту, монтируют сетевую шару с файлом конфигурации и различными скриптами\расширениями, которые заббикс агент подгружает при старте тем самым получая в своё распоряжение новые UserParameters.
- Всевозможные psexec и msi решения.
Чем это грозит?
- Необходимость добавить новый UserParameter. Изменить файл конфигурации чтобы например добавить запасной сервер или включить забытые изначально, активные проверки. Обновление агента. Любая подобная операция приводит к повторному забегу по всем компьютерам.
- Необходимость ждать пока обновятся групповые политики. Теоретически возможные проблемы если сеть построена на основе линуксовых AD DC. Невозможность работы с компьютерами не входящими в домен вообще. Геморрой с обновлением агента или применением изменений в его настройках, до момента повторной отработки групповых политик.
- Если в момент запуска агента шара не будет доступна, агент не запустится. Когда шара сменит свой адрес — повторный забег по всем компьютерам. Ну и исходя из этого, если шара перестала работать в процессе работы агента, мы лишаемся телеметрии.
- Не такой стандартизированный метод как например GPO, но самый гибкий из всех. Потенциальные проблемы ограничиваются лишь фантазией человека занимающегося конкретной реализацией.
Какой самый общий недостаток?
- Во-первых, проблема с регулярной, централизованной и единовременной доставкой обновлений как самого агента, так и его конфигурации с расширениями.
- Во-вторых, даже если мы доставили обновление конфигурации и расширений агента, они не вступят в силу до его перезапуска.
- В третьих, мы не можем обновить агент не остановив службу.
Как должно выглядеть идеальное решение?
- Zabbix Agent со всеми файлами должен храниться на наблюдаемой машине.
- Обновление агента и его файлов не должно влиять на работу системы.
- Агент должен запускаться вне зависимости от наличия у машины соединения с сетью.
- Первоначальная установка агента должна быть максимально проста.
- Обслуживание агента должно быть не сложнее его установки.
- Необходима изменять конфигурацию агента и расширять его функционал на лету.
- Самым важным из всего, я бы отметил возможность делать всё вышеперечисленное не отрывая задницы от кресла, калории ведь не казённые, надо экономить.
Встречайте! Zabbix Helper Kit!
Собственно это набор утилит написанных на языке AutoIt, разрабатываемый мною и используемый в сфере коммерческой эксплуатации Zabbix на протяжение многих лет. Поэтому он предназначен для решения всех проблем обслуживания Zabbix Agent Windows и еще чуть-чуть. Основной его целью является упрощение превращения Zabbix в средство управления инфраструктурой предприятия. В один прекрасный день я решил начать с нуля, систематизировать код, провести рефакторинг и опубликовать исходники для свободного использования.
Что умеет Zabbix Helper Kit на момент написания статьи:
- Выкачивать из указанного в настройках репозитория (FTP сервера):
- Zabbix Agent в зависимости от битности OS Windows.
- Файл конфигурации агента.
- Устанавливать Zabbix Agent как сервис мастдая.
- Создавать правило для него в брандмауэре Windows.
- Записвывать в брандмауэр правило для себя.
- Запиливаться в планировщик задач и запускаться каждый час:
- Если компьютер в домене то имени заданной учётной записи.
- Если в рабочей группе то от имени системы.
- Сравнивать локальную версию репозитория с удалённой.
- В случае обнаружения в репозитории новой версии, скачивать содержимое репозитория к себе в папку.
- Останавливать Zabbix Agent, применять скачанные обновления и запускать его снова.
Реализовывает весь описанный функционал утилита Zabbix Helper Updater.
Zabbix Helper Kit скачать
Распространяется Zabbix Helper Kit через GitHub в виде исходников AutoIt и в будущем в виде скомпилированных exe файлов. Для работы необходим FTP сервер. Так же необходимо для скомпилированных файлов прописывать исключения в антивирусах.
Vkontakte Comments
Default Comments