Zabbix Helper Kit и автоматизация обновления Zabbix Agent

Zabbix Helper Kit и автоматизация обновления Zabbix Agent’a должны облегчить жизнь начинающим админам мастдая. ZHK нужно использовать тогда, когда необходимо использовать кастомизируемую энтерпрайз систему мониторинга, но вы испытываете трудности с обновлением непосредственно Заббикс агента, а так же его файлов конфигурации на подконтрольных вам машинах. Собственно избавлению от этих трудностей и будет посвящена серия статей о Zabbix Helper Kit, сей пост — небольшое лирическое отступление.

Что же такое Zabbix?

Эти 6 букв скрывают под собой, для многих новый, дивный мир агент-серверной телеметрии энтерпрайз класса, которой может пользоваться каждый. Прекраснейшая, всеобъемлющая справка на множестве языков. Огромное комьюнити. Открытые исходники. Возможность использовать в продакшене в небольших сетях, просто скачав готовый образ для виртмашины.

Но есть одно нО

Принимая во внимание тот факт, что сам заббикс агент можно не обновлять годами, всё равно есть ситуация, столкновение с которой приводит либо к функционированию сего чудесного продукта в ограниченном режиме, либо к постепенному вымиранию всей системы мониторинга в целом по причине того что админы просто забивают на её обслуживание и обновление. И имя этой ситуации «Изменение конфигурации агента»

Как обычно происходит развёртывание агента на Windows машины:

  1. Админ(ы) пробегают по нескольким десяткам компьютеров, ручками копируют на них агент с конфигом и регистрируют его в системе.
  2. Zabbix Agent и его файл конфигурации разворачиваются через GPO.
  3. Админ(ы) тем или иным способом, к установленному в системе агенту, монтируют сетевую шару с файлом конфигурации и различными скриптами\расширениями, которые заббикс агент подгружает при старте тем самым получая в своё распоряжение новые UserParameters.
  4. Всевозможные psexec и msi решения.

Чем это грозит?

  1. Необходимость добавить новый UserParameter. Изменить файл конфигурации чтобы например добавить запасной сервер или включить забытые изначально, активные проверки. Обновление агента. Любая подобная операция приводит к повторному забегу по всем компьютерам.
  2. Необходимость ждать пока обновятся групповые политики. Теоретически возможные проблемы если сеть построена на основе линуксовых AD DC. Невозможность работы с компьютерами не входящими в домен вообще. Геморрой с обновлением агента или применением изменений в его настройках, до момента повторной отработки групповых политик.
  3. Если в момент запуска агента шара не будет доступна, агент не запустится. Когда шара сменит свой адрес — повторный забег по всем компьютерам. Ну и исходя из этого, если шара перестала работать в процессе работы агента, мы лишаемся телеметрии.
  4. Не такой стандартизированный метод как например GPO, но самый гибкий из всех. Потенциальные проблемы ограничиваются лишь фантазией человека занимающегося конкретной реализацией.

Какой самый общий недостаток?

  1. Во-первых, проблема с регулярной, централизованной и единовременной доставкой обновлений как самого агента, так и его конфигурации с расширениями.
  2. Во-вторых, даже если мы доставили обновление конфигурации и расширений агента, они не вступят в силу до его перезапуска.
  3. В третьих, мы не можем обновить агент не остановив службу.

Как должно выглядеть идеальное решение?

  1. Zabbix Agent со всеми файлами должен храниться на наблюдаемой машине.
  2. Обновление агента и его файлов не должно влиять на работу системы.
  3. Агент должен запускаться вне зависимости от наличия у машины соединения с сетью.
  4. Первоначальная установка агента должна быть максимально проста.
  5. Обслуживание агента должно быть не сложнее его установки.
  6. Необходима изменять конфигурацию агента и расширять его функционал на лету.
  7. Самым важным из всего, я бы отметил возможность делать всё вышеперечисленное не отрывая задницы от кресла, калории ведь не казённые, надо экономить.

Встречайте! Zabbix Helper Kit!

Собственно это набор утилит написанных на языке AutoIt, разрабатываемый мною и используемый в сфере коммерческой эксплуатации Zabbix на протяжение многих лет. Поэтому он предназначен для решения всех проблем обслуживания Zabbix Agent Windows и еще чуть-чуть. Основной его целью является упрощение превращения Zabbix в средство управления инфраструктурой предприятия. В один прекрасный день я решил начать с нуля, систематизировать код, провести рефакторинг и опубликовать исходники для свободного использования.

Что умеет Zabbix Helper Kit на момент написания статьи:

  1. Выкачивать из указанного в настройках репозитория (FTP сервера):
    • Zabbix Agent в зависимости от битности OS Windows.
    • Файл конфигурации агента.
  2. Устанавливать Zabbix Agent как сервис мастдая.
  3. Создавать правило для него в брандмауэре Windows.
  4. Записвывать в брандмауэр правило для себя.
  5. Запиливаться в планировщик задач и запускаться каждый час:
    • Если компьютер в домене то имени заданной учётной записи.
    • Если в рабочей группе то от имени системы.
  6. Сравнивать локальную версию репозитория с удалённой.
  7. В случае обнаружения в репозитории новой версии, скачивать содержимое репозитория к себе в папку.
  8. Останавливать Zabbix Agent, применять скачанные обновления и запускать его снова.

Реализовывает весь описанный функционал утилита Zabbix Helper Updater.

Zabbix Helper Kit скачать

Распространяется Zabbix Helper Kit через GitHub в виде исходников AutoIt и в будущем в виде скомпилированных exe файлов. Для работы необходим FTP сервер. Так же необходимо для скомпилированных файлов прописывать исключения в антивирусах.

Text.ru - 100.00%

Related

Установка Zabbix 4.0 из репозитория на Ubuntu 18.04 происходит настолько просто что ненужно никаких статей вообще. Признаться честно, у кого у кого, а у Zabbix проблем с установкой нету от слова совсем. Особенно это касается апплаенса или же репозитория. Тем не менее необходимость. Continue reading

Админите линуксовые сервера с мастдая? Дело достаточно распространенное ибо должен же админ хоть иногда играть в какие-нибудь игрушки, а что для этого подходит лучше чем мастдай? Ничего абсолютно :). Но вернемся к насущному вопросу. Как удобнее всего перемещать файлы на. Continue reading

JOIN THE DISCUSSION