Вопрос или проблема
Я работаю над развертыванием Zabbix в нашей организации и сравниваю zabbix agent и agent2.
Я нашел следующий ссылку, которая полезна:
https://www.zabbix.com/documentation…ent_comparison
У меня есть пара вопросов:
- Для agent2 “Демонстрация” указана как “нет”. Это значит, что служба agent2 не работает в фоновом режиме? Это кажется неправильным…
- Аналогично, “Снижение привилегий пользователя” указано как “нет”. Мне кажется, что это значит, что служба будет работать под “root”. Однако на практике я вижу, что служба работает под пользователем “zabbix”.
Также, есть ли что-то еще, что мне следует знать при использовании agent2? Например, ограничения, особенности?
Спасибо,
J
Я задал тот же вопрос на форуме Zabbix и получил такой ответ.
zabbix agent 2 способен выполнять все задачи agent 1 и немного больше. Он не “демонизирован” на *NIX, потому что эта работа передана systemd. То же самое и с привилегиями: если agent 1 способен переключать пользователя, от имени которого он запущен, то agent 2 не имеет этой функциональности, и это контролируется systemd.
Документация исправлена, дайте знать, если теперь более понятно.
Источник: https://www.zabbix.com/forum/zabbix-help/422788-zabbix-agent-vs-agent2
В документации указано следующее:
Параметр | Zabbix agent | Zabbix agent 2 |
---|---|---|
Язык программирования | C | Go с некоторыми частями на C |
Демонстрация | да | только через systemd (да на Windows) |
Поддерживаемые расширения | Пользовательские загружаемые модули на C. | Пользовательские плагины на Go. |
Требования | ||
Поддерживаемые платформы | Linux, IBM AIX, FreeBSD, NetBSD, OpenBSD, HP-UX, Mac OS X, Solaris: 9, 10, 11, Windows: все версии настольных и серверных из XP | Linux, Windows: все версии настольных и серверных, на которых можно установить актуальную поддерживаемую версию Go. |
Поддерживаемые криптографические библиотеки | GnuTLS 3.1.18 и новее OpenSSL 1.0.1, 1.0.2, 1.1.0, 1.1.1, 3.0.x LibreSSL – протестировано с версиями 2.7.4, 2.8.2 (определенные ограничения применяются, смотрите страницу Шифрование для деталей). |
Linux: OpenSSL 1.0.1 и новее. MS Windows: OpenSSL 1.1.1 или новее. Библиотека OpenSSL должна поддерживать PSK. LibreSSL не поддерживается. |
Мониторинг процессов | ||
Процессы | Отдельный активный процесс проверки для каждой записи сервера/прокси. | Единый процесс с автоматически создаваемыми потоками. Максимальное количество потоков определяется переменной окружения GOMAXPROCS. |
Метрики | UNIX: см. список поддерживаемых элементов.
Windows: см. список дополнительных специфичных для Windows элементов. |
UNIX: Все метрики, поддерживаемые Zabbix agent. Дополнительно agent 2 предоставляет нативное решение мониторинга Zabbix для: Docker, Memcached, MySQL, PostgreSQL, Redis, systemd и других объектов мониторинга – см. полный список специфичных для agent 2 элементов. Windows: Все метрики, поддерживаемые Zabbix agent, а также проверки net.tcp.service* для HTTPS, LDAP. |
Параллельность | Активные проверки для одного сервера выполняются последовательно. | Проверки из разных плагинов или множественные проверки в одном плагине могут выполняться параллельно. |
Третий-party ловушки | нет | да |
Дополнительные функции | ||
Постоянное хранилище | нет | да |
Постоянные файлы для логов*[] метрик | да (только на Unix) | нет |
Загрузка данных логов | Может выполняться во время сбора логов для освобождения буфера. | Сбор логов останавливается, когда буфер заполнен, поэтому параметр BufferSize должен быть как минимум MaxLinesPerSecond x 2. |
Смена пользователя во время выполнения | да (только на Unix-подобных системах) | нет (контролируется systemd) |
Настраиваемые шифры пользователем | да | нет |
Ответ или решение
Сравнение Zabbix Agent и Zabbix Agent 2
При развертывании Zabbix в вашей организации важно понимать различия между Zabbix Agent и Zabbix Agent 2. На основе ваших вопросов и имеющейся информации, предлагаю следующий анализ:
-
Демонстрация и управление процессом:
- Zabbix Agent: Работает как демон, что предполагает, что он запускается в фоновом режиме и управляется системой.
- Zabbix Agent 2: Не имеет функции демонизации на UNIX-подобных системах, так как это управление делегируется системе
systemd
. То есть, Agent 2 работает в фоне, но управление процессом осуществляется черезsystemd
. Это означает, что вы можете управлять состоянием сервиса (запуск, остановка и т.д.) с помощью стандартных командsystemctl
.
-
Права пользователя:
- Zabbix Agent: Может менять пользователя во время выполнения процесса, что позволяет запускать агент с нужными привилегиями.
- Zabbix Agent 2: Не предоставляет возможности изменения пользователя на лету — это также контролируется через
systemd
. Таким образом, даже если вы видите, что Agent 2 работает от имени пользователяzabbix
, сам процесс запуска и управление привилегиями находятся в веденииsystemd
.
-
Параметры производительности и управляемости:
- Concurrency: Zabbix Agent выполняет активные проверки последовательно, тогда как Agent 2 использует многопоточность, что позволяет улучшить производительность при выполнении множества проверок.
- Поддержка расширений: Agent 1 поддерживает расширения на C, в то время как Agent 2 предоставляет возможность писать плагины на языке Go, что может быть более эффективно и хорошо интегрировано с современными технологиями.
- Дополнительные функции: Agent 2 предлагает поддержку мониторинга для ряда современных сервисов и приложений, таких как Docker, Memcached, MySQL, PostgreSQL и Redis, что значительно увеличивает его полезность в современных инфраструктурах.
-
Хранение данных и логирование:
- Agent 2 поддерживает постоянное хранилище данных, что может быть полезно для хранения значений метрик между запусками. Однако он также имеет некоторые ограничения в организации сборов логов, которые могут потребовать дополнительных настроек (например, настройка буферов).
-
Документация и ограничения:
- Обязательно ознакомьтесь с документацией Zabbix, прежде чем развертывать Agent 2, так как она содержит информацию о поддерживаемых платформах, библиотеке шифрования и возможностях использования.
- Следует помнить о том, что Agent 2 не поддерживает некоторые старые операционные системы и библиотеки шифрования, такие как LibreSSL.
-
Заключение:
Если ваша инфраструктура включает современные приложения и нуждается в расширяемом и высокопроизводительном мониторинге, Zabbix Agent 2 будет более подходящим выбором. Однако, если ваши задачи не требуют сложной интеграции или использования новых технологий, и если вы уже используете Agent 1, возможно, имеет смысл оставаться на нем, пока не возникнет необходимость перехода на Agent 2.
В завершение, при выборе между Zabbix Agent и Agent 2 следует учитывать архитектуру вашей системы, потребности в мониторинге и предпочтения в управлении процессами. Надеюсь, данная информация была полезной для вас. Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!