adminguide_emodzi_nu-laaadno

Платные курсы

C промокодом ADMINGUIDE

emoji AdminGuide - Очень приятно

Бесплатное обучение

Видеоуроки повышенной чёткости

Saturday, April 20, 2024
adminguide_emodzi_nu-laaadno

Платные курсы

C промокодом ADMINGUIDE

emoji AdminGuide - Очень приятно

Бесплатное обучение

Видеоуроки повышенной чёткости

AdminGuide Patreon

Boosty

Поддержи автора! Стань спонсором.

Главная страница » Установка Zabbix Agent — Zabbix Helper Kit v0.4
Zabbix Helper Kit

Установка Zabbix Agent — Zabbix Helper Kit v0.4

by Belfigor
4 668 views

Преподаю и разрабатываю лекции в Нетологии. Записывайтесь на обучение по моей ссылке.

Чтобы получить скидку 10% используйте промодкод:

ADMINGUIDE

Скидка суммируется со всеми действующими на Нетологии акциями

Установка Zabbix Agent — на первый взгляд задача достаточно тривиальная. Но, как говорится, дьявол кроется в деталях.

При прочтении этой статьи, рекомендуется ознакомиться со следующими записями:

  1. Zabbix Helper Kit и автоматизация обновления Zabbix Agent
  2. Zabbix Helper Kit v0.3 — Настройка репозитория
  3. Zabbix Agent Автообновление расширений — Zabbix Helper Kit v0.5

В данной статье пойдет речь о самом простом способе установки Zabbix Helper Kit на компьютеры с мастдаем. А именно о ручной установке на компьютерах не входящих в домен. Всё что необходимо для того чтобы скомпилировать и развернуть Zabbix Helper Kit на целевой машине не входящей в домен — это подготовленный репозиторий и пара правок параметров в коде Zabbix Helper Updater. Все настройки по умолчанию, хранятся в массиве $g_easDefaultParameter , о его настройке и пойдёт речь.

Какие параметры играют роль при установке на не доменную машину:

  1. FTPServer
    Адрес FTP сервера. Должен быть доступен с машины на которой будет разворачиваться Zabbix Helper Kit
  2. FTPUsername
    Имя пользователя FTP сервера
  3. FTPPassword
    Пароль пользователя FTP сервера
  4. DeployZabbixHelper
    Загружать или нет ZabbixHelper при запуске (по умолчанию лучше оставить 0, и доставить команду о загрузке, при обновлении ZHK_Updater.cfg)
  5. WorkgroupName
    Имя рабочей группы. По умолчанию WORKGROUP. Используется для определения находится ли машина в домене или нет.
Установка Zabbix Agent - Параметры Zabbix Helper Updater v0.4

Установка Zabbix Agent — Параметры Zabbix Helper Updater v0.4

Все остальные параметры необходимы для более глубокой настройки ZHK или же для настройки в режимах развёртывания, отличных от описываемого в данной статье.

После того как параметры будут настроены, необходимо скомпилировать ZHK. Получившийся файл Zabbix_Helper_Updater.exe можно закидывать на флешку и идти разворачивать заббикс на целевые компьютеры. ZHK будет разворачиваться в папку C:/zabbix/ независимо от места запуска Zabbix_Helper_Updater.exe. К несчастью кастомизация места установки ZHK и Zabbix Agent, в данной версии программы не предусмотрено.

Результаты успешного запуска

При правильной настройке параметров и репозитория, при первом запуске, Zabbix Helper Updater произведёт следующие действия:

  1. Создаст папку C:/zabbix/ в случае её отсутствия
  2. Подключится к FTP серверу используя заданные логин и пароль
  3. Создаст для себя правило в брандмауэре Windows
  4. Создаст для себя задачу для регулярного запуска в Scheduller
  5. Скачает файл zabbix_agentd.exe исходя из битности системы
  6. Скачает файл zabbix_agentd.win.conf
  7. Создаст правило в брандмауэре Windows для Zabbix Agent
  8. Скачает свой файл конфигурации ZHK_Updater.cfg из репозитория
  9. Запишет более менее подробный лог в файл zabbix_helper_updater.log
  10. Сохранит информацию о том установка каких модулей была произведена, в файл ZHK_Installation_Status.cfg

Если вы создавали установочник так, как описано в статье, то в результате вы увидите следующее:

Результат первого запуска Zabbix Helper Updater

Результат первого запуска Zabbix Helper Updater

На данный момент у вас будет работающий, запиленный в систему качестве сервиса Zabbix Agent с конфиг файлом. Каждый час запускающийся Zabbix Helper Updater, обновляющий как сам Zabbix Agent там и его файл конфигурации. То есть одна из проблем описанных в статье Zabbix Helper Kit и автоматизация обновления Zabbix Agent уже решена. Теперь все правки в файле конфигурации заббикс агента в репозитории, раз в час реплицируются на наблюдаемые машины. При этом отсутствие сети не вызовет проблем с запуском агента.

Так же Zabbix Helper Updater регулярно обновляет из репозитория свой собственный файл конфигурации, если он более ранней версии чем в репозитории. И обнаружив в своём файле конфигурации строку DeployZabbixHelper=1 , развернет на наблюдаемой машине утилиту Zabbix Helper. О ней речь пойдет в более поздних статьях. Её цель — доставлять на наблюдаемый компьютер скрипты расширяющие функциональность агента.

Удаление Zabbix Helper Updater

На данный момент отсутствуют какие-либо механизмы автоматизированного удаления Zabbix Agent и Zabbix Helper Kit из системы. Чтобы удалить результаты работы описанного в статье установочника, необходимо следующее:

  1. Запустить от имени администратора cmd.exe
  2. Остановить службу Zabbix Agent: net stop "Zabbix Agent"
  3. Удалить службу Zabbix Agent: c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.win.conf --uninstall
  4. Удалить из входящих правил брандмауэра Windows правила:
    1. Zabbix Helper Kit — Zabbix Helper Updater
    2. Zabbix Helper Kit — Zabbix Agent
  5. Удалить из планировщика заданий Windows задание с именем: Zabbix Helper Kit — Zabbix Helper Updater
  6. Ручками удалить содержимое папки C:\zabbix\
  7. Вот и всё, можно снова приступать к установке

Установка Zabbix Agent — Дополнительная информация

Первый запуск при ручной установке на компьютер не входящий в домен, необходимо производить от имени локального администратора.

Так же для правильной работы ZHK, необходимо добавить в исключения антивируса папку C:\zabbix\* и приложение *\Zabbix_Helper_Updater.exe. Если антивирус на машине не стоит, всё должно отработать без исключений в Windows Defender.

Пример для Dr.Web

Dr.Web исключение для папки

Dr.Web исключение для папки

Dr.Web исключение для приложения

Dr.Web исключение для приложения

GitHub: Ветка репозитория с версией Zabbix Helper Kit v0.4

Text.ru - 100.00%

You may also like

Vkontakte Comments

Default Comments

4 комментария

artsiom82 12.12.2019 - 01:33

Огромное человеческое спасибо!
Но крайне необходима возможность установки в «свою» папку, планируется ли?

Reply
Belfigor 12.12.2019 - 13:49

Для установки в папку отличную от C:/zabbix, достаточно изменить строку Global Const $g_esLocalRepositoryRoot = «C:\zabbix»
Хотя я и предполагал изначально возможность установки в свою папку, я её таки не тестировал

Reply
Сергей 17.02.2020 - 10:33

Большое спасибо за данный материал.
Однако, мне не достает понимания механизма.
Не могли бы вы обяснить, последовательность выполнения действий при обновлении?
В каком файле надо менять версиооность? Надо ли в самом скрипте это менять и занового его компилировать,е сли сам скрипт не меняется?
Еще как правильно прописать внутрь скрипта папку чтобы ее содержимое тоже закачивалось? Например scripts?
У меня получилось следующее:

Global $UserID = «пользователь»
Global $Domain = «localhost»
Global $Password = «пароль»
Global $Source = «\\ip.addrr\distrib\zabbix\scripts\»

Global $Destination = «c:\zabbix\scripts\»

RunAsWait($UserID, $Domain, $Password, 0, @ComSpec & » /c copy » & $Source & » » & $Destination, «», @SW_HIDE)

Как это красиво вставить к вам?

Reply
Belfigor 18.02.2020 - 16:31

Данный код к несчастью не расчитывался на обновление чего либо кроме файла агента и его файла конфигурации. Связано это с тем что в архитектуре есть еще один модуль, который и отвечал за подгрузку файлов с расширениями и скриптов. К несчастью пока не нахожу времени для того чтобы добить данное решение хотябы до альфа версии, но раз кому-то это оказалось полезным, в ближайший месяц найду время и добавлю недостающий модуль.

Если же чисто в теории, то начиная со строки 175 функция _getZHKUpdaterRemoteVersion($g_sRemoteZHKVersionFilePath) определяет версию удалённого репозитория. Если она больше чем локальная то инициируется загрузка и применение изменений. А т.к. необходимо лишь загрузить папку с юзерпараметрами, данный код можно вставить как раз сюда. Но опять же стоить заметить что если это только юзерпараметры, можно добавить их в основной конфиг и доставлять до конечной машины вообще без каких либо правок в коде Zabbix Helper.

Reply

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

%d такие блоггеры, как: