Zabbix agent 2 что это за программа

Zabbix агент 2 — новое поколение Zabbix агента, его можно использовать в качестве замены Zabbix агента. Zabbix агент 2 разработан для:

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

Agent 2 написан на Go (с частичным использованием C кода из Zabbix агента). Для сборки Zabbix агент 2 требуется подготовленная среда Go с поддерживаемой в настоящее время версией Go.

Agent 2 не имеет встроенной поддержки режима демона на Linux; его можно запустить службой Windows.

Пассивные проверки работают аналогично Zabbix агенту. Активные проверки поддерживают интервалы по расписанию/гибкие интервалы, к тому же проверки выполняются параллельно в пределах одного активного сервера.

New Agent 2 features in Zabbix 6.0 LTS by Aigars Kadiķis / Zabbix Summit Online 2021

По умолчанию, Zabbix agent 2 планирует первый сбор данных по активным проверкам в случайное время в течение интервала времени обновления элемента данных, во избежание скачков в использовании ресурсов. Чтобы активные проверки, у которых отсутствует интервал обновления По расписанию, выполнялись сразу после перезапуска агента, укажите параметр ForceActiveChecksOnStart (глобальный уровень) или Plugins..System.ForceActiveChecksOnStart (влияет только на проверки из конкретного плагина) в файле конфигурации. Параметр уровня плагина, если задан, переопределяет собой глобальный параметр. Принудительные активные проверки при запуске агента поддерживаются, начиная с Zabbix 6.0.2.

Параллелизм проверок

Проверки из разных плагинов могут выполняться параллельно. Количество параллельных проверок в пределах одного плагина ограничено настройкой производительности плагина. Каждый плагин может иметь жёстко зашитую в код настройку производительности (по умолчанию, 100), значение которой можно уменьшить, указав Plugins..System.Capacity=N при настройке параметра конфигурации Plugins. Прежнее название этого параметра Plugins..Capacity всё ещё поддерживается, но устарело с версии Zabbix 6.0.

Passive and active checks

Passive checks work similarly to Zabbix agent. Active checks support scheduled/flexible intervals and check concurrency within one active server.

By default, after a restart, Zabbix agent 2 will schedule the first data collection for active checks at a conditionally random time within the item’s update interval to prevent spikes in resource usage. To perform active checks that do not have Scheduling update interval immediately after the agent restart, set ForceActiveChecksOnStart parameter (global-level) or Plugins..System.ForceActiveChecksOnStart (affects only specific plugin checks) in the configuration file. Plugin-level parameter, if set, will override the global parameter. Forcing active checks on start is supported since Zabbix 6.0.2.

Zabbix Agent2

Check concurrency

Checks from different plugins can be executed concurrently. The number of concurrent checks within one plugin is limited by the plugin capacity setting. Each plugin may have a hardcoded capacity setting (100 being default) that can be lowered using the Plugins..System.Capacity=N setting in the Plugins configuration parameter. Former name of this parameter Plugins..Capacity is still supported, but has been deprecated in Zabbix 6.0.

Поддерживаемые платформы

Zabbix агент 2 поддерживается на следующих платформах:

  • Windows (все настольные и серверные версии, начиная с XP; также доступно в виде скомпилированных бинарных файлов)
  • Linux (также доступно в виде Установка

Zabbix агент 2 доступен в уже подготовленных, скомпилированных пакетах Zabbix. Для компиляции Zabbix агента 2 из исходных кодов вам необходимо указать опцию конфигурации —enable-agent2 .

Опции

Следующие параметры командной строки могут быть использованы с Zabbix агентом 2:

Параметр Описание
-c —config Путь к файлу конфигурации.
Вы можете использовать данную опцию, чтобы задать файл конфигурации, размещенный в папке отличной от заданной по умолчанию.
В UNIX, путь по умолчанию /usr/local/etc/zabbix_agent2.conf или как задано во время компиляции переменными —sysconfdir или —prefix
-f —foreground Запуск Zabbix агента без перехода в фоновый режим (по умолчанию: true).
-p —print Вывод известых элементов данных и выход.
Обратите внимание: Чтобы также получить результаты пользовательских параметров, вам необходимо указать файл конфигурации (если он находится вне папки заданной по умолчанию).
-t —test Тестирование указанного элемента данных и выход.
Обратите внимание: Чтобы также получить результат пользовательского параметра, вам необходимо указать файл конфигурации (если он находится вне папки заданной по умолчанию).
-h —help Вывод справочной информации и выход.
-v —verbose Вывод отладочной информации. Используйте эту опцию совместно с -p и -t опциями.
-V —version Вывод номера версии агента и выход.
-R —runtime-control Выполнение административных функций. Смотрите управление работой.
  • отображение всех встроенных элементов данных с их значениями
  • тестирование пользовательского параметра с ключом «mysql.ping», заданном в указанном файле конфигурации
Читайте также:
Программа клерк что это

shell> zabbix_agent2 —print shell> zabbix_agent2 -t «mysql.ping» -c /etc/zabbix/zabbix_agentd.conf

Управление работой

Управление работой агента предоставляет некоторые опции для удаленного управления агентом.

Опция Описание
log_level_increase Увеличение уровня журналирования.
log_level_decrease Уменьшение уровня журналирования.
metrics Список доступных метрик.
version Отображение версии агента.
userparameter_reload Перезагрузка пользовательских параметров из текущего файла конфигурации.
Обратите внимание, из всех опций конфигурации агента можно перезагрузить только UserParameter.
help Отображение справочной информации о функции управления работой.
  • увеличение уровня журналирования агента 2
  • вывод опций управления работой

shell> zabbix_agent2 -R log_level_increase shell> zabbix_agent2 -R help

Файл конфигурации

Параметры конфигурации агента 2 большей частью совместимы с Zabbix агентом за несколькими исключениями.

Новые параметры Описание
ControlSocket Путь к сокету управления работой. Агент 2 использует управляющий сокет для административных команд.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Эти параметры используются для настройки постоянного хранилища агента 2 для активных элементов данных.
ForceActiveChecksOnStart Параметр определяет должен ли агент выполнить активные проверки немедленно после перезапуска агента или равномерно распределить их по времени. Поддерживается, начиная с Zabbix 6.0.2.
Plugins Плагины могут иметь свои собственные параметры, в формате Plugins..= . Общий параметр плагинов — System.Capacity, задаёт ограничение количества проверок, которые могут быть выполнены одновременно.
StatusPort Этот порт агент 2 будет слушать для запросов HTTP состояния и отображать список настроенных плагинов и некоторых внутренних параметров
Исключенные параметры Описание
AllowRoot, User Не поддерживается, так как режим демона не поддерживается.
LoadModule, LoadModulePath Загружаемые модули не поддерживаются.
StartAgents Этот параметр использовался в Zabbix агенте для увеличения параллелизма пассивных проверок или для их отключения. В Агенте 2 параллелизм настраивается на уровне плагинов и может быть ограничен настройкой производительности. Между тем полное отключение пассивных проверок в настоящее время не поддерживается.
HostInterface, HostInterfaceItem Ещё не поддерживается.

Для получения подробной информации смотрите параметры файла конфигурации по zabbix_agent2.

Коды завершения

Начиная с версии 4.4.8, Zabbix агент 2 также может быть скомпилирован с более старыми версиями OpenSSL (1.0.1, 1.0.2).

В этом случае Zabbix предоставляет мьютексы для блокировки в OpenSSL. Если блокировка или разблокировка мьютекса не удалась, то в стандартный поток ошибок (STDERR) выводится сообщение об ошибке, и агент 2 завершает работу, возвращая код 2 или 3 соответственно.

Источник: www.zabbix.com

Отличие Zabbix Agent2 от обычного агента мониторинга

Послушал вебинар на тему Zabbix_agent2, который я анонсировал ранее. В целом было полезно, потому что я с этим агентом вообще не знаком. Но сам по себе материал очень поверхностный. Никаких примеров не было. Просто небольшое описание возможностей.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.

Я основные моменты по zabbix agent2 законспектировал и делюсь с вами:

  1. В agent2 есть буфер для хранения информации. Если нет связи с сервером, то данные накапливаются на агенте и потом отправляются. Это полезная штука, только ради которой можно переходить на этого агента.
  2. Поддержка плагинов на Go. Уже есть для mysql, postgres, redis, memcached, docker. Постараюсь посмотреть на них в ближайшее время и написать статью.
  3. Статус агента можно проверить через браузер. Любопытная вещь, впервые об этом услышал. Пока не придумал, зачем это может быть нужно.
  4. Старый агент будет по прежнему развиваться и поддерживаться. Нет планов по его закрытию.
  5. На одном и том же узле могут работать оба агента одновременно.

Немного погуглил после вебинара на тему второго агента. Вроде ничего нового и полезного не нашел. Делюсь вот этой ссылкой — https://temofeev.ru/info/articles/razrabotka-plaginov-dlya-zabbix-agent-2/ Там очень подробно описан механизм работы нового агента zabbix, так же рассказано, как для него писать плагины. Приведены конкретные примеры кода.

❗️ Плавно подходим к тому, что чтобы настраивать хороший мониторинг, нужно быть программистом. Эту мысль я уже озвучивал раньше в заметках. Так что господа админы: «Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!»

Есть еще вариант переквалифицироваться в строителя, таксиста или водителя автобуса. У них пока значительно меньше изменений, но не факт, что эти профессии не исчезнут через несколько десятилетий вообще. Так что программистами быть, иначе в охрану. Там ничего учить не надо. Ну либо картриджи заправлять. У нас, думаю, эта тема никогда не умрет 🙂

Источник: serveradmin.ru

Zabbix: установка и базовая настройка системы мониторинга

date

07.05.2020

user

insci

directory

CentOS, Linux, Ubuntu, Windows Server 2016

comments

комментариев 10

Zabbix это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.

Читайте также:
Что за программа сканматик

Общий интерфейс Zabbix сервера представлен на скриншоте ниже.

веб интерфейс системы мониторинга zabbix

Из чего состоит Zabbix и что он может?

Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.

Инсталляция Zabbix сервера состоит из:

  • бинарника zabbix_server (обычно работает как сервис);
  • MySQL (MariaDB)/PostgreSQL базы данных;
  • Веб сервера Apache2/Nginx с обработчиком PHP;
  • Файлов самого frontend сайта (.php, .js, .css и т.д.).

Обычно схема работы выглядит так:

    Агент Zabbix посылает данные на сервер

Zabbix может работать со всеми известными протоколами, а благодаря системе внешних скриптов, Zabbix может выполнять и получать данные из любых исполняемых скриптов/бинарников.

Установка Zabbix Server в Linux (Ubuntu, CentOS)

В этой статье мы рассмотрим пример установки Zabbix Server 4.4 на Linux (на примере Ubuntu Server 18.4 и CentOS) через пакетный менеджер.

Перейдите на страницу загрузки https://www.zabbix.com/download и выберите репозиторий, соответствующий вашему дистрибутиву Linux. Готовые пакеты есть для всех популярных дистрибутивов.

Например, для установки Zabbix на Ubuntu 18.04 нужно последовательно выбрать :

Zabbix Version (4.4) -> OS Distribution (Ubuntu) -> OS Version (18.04 Bionic) -> Database (MySQL) -> Веб сервер (Nginx или Apache).

инструкция по установке zabbix, получение репозиториев

Скачем и добавим репозиторий:

# wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
# dpkg -i zabbix-release_4.4-1+bionic_all.deb
# apt update

Теперь можно установить необходимые пакеты:

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

установка zabbix-server в linux ubuntu

Для установки Zabbix в CentOS 8/RHEL 8 нужно подключить репозиторий с актуальной версией Zabbix (можно установить Zabbix из ветки 4.0 LTS или последнюю версию Zabbix 4.4):

# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all

Предполагаем, что на сервере уже установлены: nginx, MySQL/MariaDB, php и php-fpm. Теперь через пакетный менеджер установим сам сервер Zabbix и агент:

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent

Осталось создать базу данных для Zabbix в MySQL (вместо MySQL можно использовать PostgreSQL, просто замените в командах ‘mysql’ на ‘pgsql’).

Создайте базу данных и дайте права пользователю, из-под которого Zabbix будет обращаться к базе данных:

mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to [email protected] identified by ‘ВашПароль’;
mysql> quit;

Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix

Измените конфигурационный файл /etc/zabbix/zabbix_server.conf, укажите пароль от вновь созданного пользователя.

DBPassword=Пароль_Пользователя_Zabbix

Так как в моем случае веб сервером служит nginx, нужно изменить nginx.conf, раскомментировав следующие строчки

# listen 80; # server_name example.com;

Уберите # и поменяйте example.com на домен, по которому вы хотите заходить на Zabbix, в моём случае это test.zabbix.local .

Для Apache файл нужно править файл конфигурации /etc/httpd/conf.d/zabbix.conf .

Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку

php_value[date.timezone] = Europe/Moscow
Убедитесь, что время на Zabbix сервере синхронизировано с надежным NTP источником.

Дополнительно можно выставить следующие параметры PHP в /etc/php.ini :

memory_limit 128M upload_max_filesize 8M post_max_size 16M max_execution_time 300 max_input_time 300 max_input_vars 10000

Добавьте службу zabbix-server в автозапуск и запустите ее:

# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm

Настройка веб-интерфейса Zabbix

Теперь нужно настроить frontend (веб-интерфейс) Zabbix. В браузере откройте указанный ранее URL адрес zabbix сервера. В моем случае это test.zabbix.local (или на домен, который вы указывали. Не забудьте прописать его у себя в hosts файле или на DNS сервере).

zabbix веб installer

Убедитесь, что во всех требования инсталлятора указано ОК.

zabbix check pre-requisites

Укажите данные для подключения к БД. Используйте пользователя и пароль, который создали ранее.

данные для подключения к базе данных zabbix

Укажите название Zabbix сервера. Порт рекомендую оставлять стандартный – TCP 10051.

Система Zabbix по-умолчанию использует два порта:

  • TCP 10050 — порт пассивного агента, по нему zabbix сервер опрашивает клиентов;
  • TCP 10051 — порт, на котором zabbix сервер получает данные от клиентов (активный агент).

Не забудьте открыть данные порты. Например, на Zabbix сервере на базе CentOS можно открыть порты в firewalld с помощью firewall-cmd:

# firewall-cmd —add-service= —permanentfirewall-cmd —add-port= –permanent

А на агенте достаточно открыть 10050:

# firewall-cmd —permanent —add-port=10050/tcp

Не забудьте перезагрузить firewalld:

имя и порты zabbix сервера

После этого жмите Next Step и Finish. После успешной установки вас попросит залогиниться. По-умолчанию логин Admin , пароль zabbix (замените его).

Читайте также:
Sap программа что это такое фото

авторизация веб-интерфейсе в zabbix

zabbix dashboard

На этом установка сервера Zabbix Server завершена.

На странице https://www.zabbix.com/download есть пошаговые инструкции для установки Zabbix Server на другие операционные системы, а так же инструкции как собрать zabbix-server из исходного кода или запустить его в docker контейнерах.

Вы можете настроить Zabbix на аутентфикацию пользователей через Active Directotry LDAP.

Установка Zabbix Agent в Windows

агенты zabbix для windows

Попробуем установить Zabbix агент на сервер Windows и добавим его на наш сервер мониторинга Zabbix. Скачать версию Zabbix агент для Windows можно здесь: https://www.zabbix.com/download_agents.

Выберите нужную версию агента под Windows. Я выберу формат msi (amd64) (без OpenSSL). Если вы планируете устанавливать zabbix agent на сервера/компьютеры домена через групповые политики или SCCM, то можете скачать zip архив с бинарными файлами и конфигурационными файлами.

Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “Server or Proxy for active checks” я указал IP адрес в формате IP:PORT. Поскольку порт я оставлял стандартный, я пишу IP:10051.

настройка параметров zabbix сервера при установке агента в windows

Далее еще пару раз нажмем Next и Install.

После этого убедимся, что наш агент установлен. В списке служб должен появиться сервис Zabbix Agent.

служба zabbix agent в windows

На клиенте Windows нужно разрещить входящие подключения с IP адреса сервера Zabbix в Брандмауэре Windows:

New-NetFirewallRule -DisplayName «ZabbixMonitoring» –RemoteAddress 192.168.1.100 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

добавление хоста в мониторинг Zabbix

Нажмите Create host и заполните данные. Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента.

добавление windows устройства в Zabbix сервере

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

шаблоны zabbix для windows

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:Program FilesZabbix Agentzabbix_agentd.txt).

перезапуск службы Zabbix agent

лог zabbix_agentd.txt

Сообщение “started [active checks #1]” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

проверка получение данных от хоста в zabbix

данные об устройстве в веб интерфейсе zabbix

В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.

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

события в dashboard zabbix

На этом настройка Windows Agentа завершена.

Установка Zabbix Agent в Linux

Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:
# wget https://repo.zabbix.com/zabbix/4.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.4-1+bionic_all.deb
# dpkg -i zabbix-release_4.4-1+bionic_all.deb
# apt update
# apt install zabbix-agent

В CentOS для добавления репозитория и установки агента zabbix используется команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent

Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.

Server=IP ServerActive=IP:10051 Hostname=testagent

После этого запустите сервис агента:

# service zabbix-agent start

Убедитесь, что агент успешно запустился.

установка zabbix agent в linux ubuntu

Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.

Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix. Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent.

добавление ubuntu в мониторинг zabbix

23

Перезагрузите Zabbix агент и проверьте лог.

лог zabbix_agentd

Проверьте, что данные от агента появились на сервере Zabbix.

данные с linux сервера появились в веб интерфейсе zabbix

На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник: winitpro.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru