Windows by zabbix agent active отличие

Обновлено: 07.07.2024

Много статей написано о том, как настроить мониторинг тех или иных устройств используя Zabbix сервер и Zabbix агенты. Но все примеры сводятся к тому, что ставится агент на компьютер например с windows добавляется узел сети на сервере как обычный агент (не активный) и все хорошо работает так как у них есть ip связность и они видят друг друга. В некоторых примерах показывают, как они пробрасываю порт, 10050 до устройства которое нужно мониторить и далее также настраивают.

Вот интересно, во всех этих примеров никто не говорит, что делать, когда устройств 100 и пробрасывать порт до них кажется не очень хорошей идеей!?

Но это все примеры, когда Zabbix сервер находится за NAT или вообще в маршрутизируемой сети с ip связностью. А что, если нужно мониторить действительно 100 и более устройств? Тут на помощь приходит работа zаbbix агента в активном режиме. Что значит активный режим? То, что не сервер будет периодически опрашивать агента, а наоборот агент будет подключаться к серверу смотреть какие данные он должен собирать и после сбора сам отправлять на сервер.

На эту тему много что написано, но конкретных примеров нет.

Поэтому в этой статье я опишу метод пошаговой настройки как роутеров, так и Zabbix сервера и агента, который мы применяем в нашей практике абоненсткого обслуживания серверов и сетевого оборудования. Я не в коем случаи не претендую на то, что мой вариант самый правильный:). Больше хочу помочь в понимании тем, кто только начал разбираться что да как.

Итак, у нас есть следующая схема


По понятным соображениям два последних октета белых ip буду затирать.

Сервер SRV03 находится за NAT, на маршрутизаторе MikroTik настроен srcnat masquerade на сеть 192.168.0.0\24

На сервер SRV03 ставим Zabbix agent


Строку Server и Server Active пишем белый ip нашего роутера на котором далее пробросим порт на Zabbix сервер. Закомментированные строки не учитываются.

Идем на MikroTik в сети LAN 2 и делаем правило проброса порт 10051 на наш заббикс сервер


Тесть все подключения, которые приходят на интерфейс ether1-WAN на порт 10051 отправлять на адрес 192.168.45.18 с портом 10051.

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


Это то и понятно так как не чего нем еще не создано, сделаем это. Создадим узел сети с именем SRV03 именно с таким же, как и название сервера с другим работать не будет учтите это.


В поле интерфейсы агента пиши белый ip роутера (не серый ip самого сервера) за которым находиться наш SRV03 порт пишем 10051 (он по умолчания для активных проверок) и сохраняем.

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


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


Проверить можно ли действительно все работает, можно добавив элементы данных и посмотреть приходят ли различные параметры с SRV03. У меня есть шаблон в нем уже созданы триггеры и элементы данных.

Заметьте, когда создаете ЭД надо выбирать Тип: Zabbix агент (активный).


Посмотри приходят ли данные и видим, что все работает.


Подведем итог

1) В конфиге Zabbix агента в Server Aktive пишем белый ip роутера за которым ZServer

1, проактивные и пассивные относины к ссылке, здесь мы сказали, что инициатива и пассивная относится к «агенту».

2, агент работает в пассивном режиме, то Zabbix Server будет опросить агент, когда сервер Zabbix запланирован для мониторинга ключевого слова Zabbix в качестве параметра запроса. После получения запроса запросить данные мониторинга, соответствующую этому ключевому слову мониторинга, и, наконец, возвращает это на сервер.

3. Тип элемента мониторинга мониторинга пассивного режима, вам необходимо выбрать «Zabbix Agent» в интерфейсе настроек интерфейса.


Пассивные параметры конфигурации

Используя пассивный агент, вам необходимо указать следующие параметры конфигурации в файле конфигурации Zabbix_agentd.conf:

Server : Используется для указания имени хоста или IP-адрес сервера Zabbix. Этот параметр представляет собой список IP-адресов, разделенных запятыми (или именем), а агент Zabbix принимает только соединение, чтобы указать хост в списке.

ListenPort : Номер порта, используемый для указания слушателя агента Zabbix, значение по умолчанию составляет 10050, диапазон значения составляет 1024-32767.

ListenIP : Используется для указания IP-адреса прослушивателя агента Zabbix Agent, этот параметр подходит для случая, когда хост монитора имеет несколько сетевых карт или несколько IP-адресов. Этот параметр представляет собой список IP-адресов разделенных запятыми.

StartAgents : Используется для указания количества экземпляров процессов Zabbix_Agentd заранее для обработки элементов пассивного мониторинга, значение по умолчанию составляет 3. Если этот параметр установлен на 0, пассивный режим агента отключен, а агент не будет прослушивать любой порт TCP.

Zabbix_get Tool.

Инструмент ZABBIX_GET может использоваться для моделирования процесса связи сети между пассивным агентом и сервером Zabbix. Zabbix_get применяется на стороне сервера и запрашивает данные агенту.

Применение:

Вариант:

-s/-host <host name or IP> : Укажите имя хоста или IP-адрес агента Monited Server.

-p/--port <port number> : Укажите номер порта агента. По умолчанию 10050.

-I/--source-address <IP address> : Укажите IP-адрес источника.

-k/--key <item key> : Укажите ключевые слова для элемента мониторинга, чтобы получить соответствующие данные мониторинга.

пример: Выполните следующую команду на сервере Zabbix:

рабочий процесс


Примечание. Для обработки потока «Данные мониторинга запросов» см. Следующий анализ.

Анализ источника: Listener_Thread

Активный контроль

2. Тип элемента мониторинга активного режима требуется для выбора «Zabbix Agent» в интерфейсе интерфейса настройки.

3, в интерфейсе настроек передней части Update interval : Монитор времени обновления данных в секундах. Этот параметр также будет получен, когда агент запрашивает список активных элементов мониторинга на сервер Zabbix. Агент будет активно отправлять данные мониторинга на сервер Zabbix на основе этого временного интервала. Мы увидим этот параметр в исходном коде.


Параметры конфигурации, связанные с активным режимом

Используйте Active Agent, вам необходимо указать следующие параметры конфигурации в файле конфигурации Zabbix_agentd.conf:

ServerActive : Используется для указания Zabbix Server, способный получать данные мониторинга. Этот параметр - это список «IP-адресов: номеров портов» (или «имя хоста: номер порта») с запятой. Если номер порта не указан, используйте номер порта по умолчанию 10051. Если этот параметр не указан, активный режим агента отключен.

RefreshActiveChecks : Используется для уточнения временного интервала обновления активного списка элементов мониторинга, в считанные секунды.

BufferSend : Используется для уточнения времени передачи буфера агента в секундах. Время накопления данных мониторинга не превышается временем, указанным этим параметром в буфере.

BufferSize : Используется для указания размера буфера, то есть максимальное количество данных мониторинга. Если буфер заполнен, агент отправит все собранные данные мониторинга на сервер Zabbix или агент.

Zabbix_Sender Tools

Утилита Zabbix_Sender может использоваться для моделирования потоков сети связи между активными серверами агента и Zabbix. Zabbix_Sender применяется к стороне агента и передает данные на сервер.

Применение:

Вариант:

-c/--config <config-file> : Использовать config-file Указанный файл конфигурации. Zabbix_Sender прочитает детали сервера из файла конфигурации агента. Абсолютный путь файла конфигурации должен быть указан. По умолчанию Zabbix_Sender не читает какой-либо профиль. Zabbix_sender использует только в файле конфигурации Hostname 、 ServerActive (Только его первая запись) и SourceIP параметр.

-z/--zabbix-server <server> : Имя хоста или IP-адрес Zabbix Server. Если сервер контролируется прокси, то имя хоста или IP-адрес прокси должен быть указан.

-p/--port <port> : Указывает номер порта сервера Capture (Frapper), работающий на сервере Zabbix. По умолчанию 10051.

-I/--source-address <IP> : Укажите IP-адрес источника.

-k/--key <key> : Укажите ключевые слова для элемента мониторинга.

-o/--value <value> : Укажите данные мониторинга.

-i/--input-file <inputfile> : Из inputfile Данные мониторинга нагрузки в указанном файле.

-T/--with-timestamps : Эта опция может быть --input-file Опция используется в сочетании.

-r/--real-time : При получении данных мониторинга вы отправите его на сервер Zabbix. Эта опция может использоваться при чтении данных мониторинга со стандартного ввода.

пример: Выполните следующую команду на агенте Zabbix:

рабочий процесс


Примечание. Для обработки потока «Данные мониторинга запросов» см. Следующий анализ.

Анализ исходного кода: Active_Checks_Thread

1. Функция отправки индикатора send_buffer ,будут buffer Данные отправляются на стороне сервера, buffer Данные будут сериализовать json Среда, затем используйте zbx_tcp_send Функция отправляется. Мы введем в следующую статью.

2、 active_checks_thread В 3 времени параметры, они являются:

RefreshActiveChecks : Используется для уточнения временного интервала обновления активного списка элементов мониторинга, в считанные секунды.

«Текущее время - последнее время обновления> = Обновить интервал времени ( RefreshActiveChecks Когда вы обновляете активный мониторинг.

Update interval : Монитор времени обновления данных в секундах. Агент будет активно отправлять данные мониторинга на сервер Zabbix на основе этого временного интервала.

«Текущее время - время доставки в последний раз> = Интервал времени отправки ( Update interval При отправке активного индикатора мониторинга.

BufferSend : Используется для уточнения времени передачи буфера агента в секундах. Время накопления данных мониторинга не превышается временем, указанным этим параметром в буфере.

У только начинающих администраторов zabbix часто возникает вопрос. В чем отличие между активным и пассивным агентом? И какой агент лучше использовать. В данной статье постараемся ответить на эти вопросы.

Отличие активного и пассивного агента

При использовании пассивного агента, zabbix сервер отправляет запросы на zabbix агент, в соответствии с настройками элементов данных (например загрузку cpu, памяти и т.д). А в ответ получает значения этих данных.

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

Как следует из описанного выше. Основное отличие заключается в том, что при пассивном агенте данные запрашиваются сервером, а при активном данные отправляются самими агентами.

Какой агент лучше использовать?

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

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

преимущества пассивного агента

  • Не работает если узел находится за NAT
  • В отличие от активного агента больше нагрузка на сервер

Преимущества активного агента

  • Меньшая нагрузка на сервер
  • Возможность работы за NAT узлов
  • Необходимо создавать шаблоны, в стандартной установке все шаблоны для пассивной проверке.

Создание шаблона для активного агента





Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

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

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

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

Этот раздел описывает детали пассивных и активных проверок, которые выполняются Zabbix агентом.

Zabbix использует протокол на основе JSON для взаимодействия с Zabbix агентом.

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

Пассивные проверки

Пассивной проверкой является простой запрос данных. Zabbix сервер или прокси запрашивает какие-либо данные (к примеру, Загрузку CPU) и Zabbix агент отправляет обратно результат серверу.

Запрос сервера

Ответ агента

Часть в квадратных скобках выше опциональна и отправляется только по неподдерживаемым элементам данных.

Сервер отправляет <ЗАГОЛОВОК><ДЛИНАДАННЫХ>agent.ping\n Агент читает запрос и отвечает с <ЗАГОЛОВОК><ДЛИНАДАННЫХ>1 Сервер обрабатывает данные, чтобы извлечь значение, в нашем случае 1

Для неподдерживаемых элементов данных:

Сервер отправляет <ЗАГОЛОВОК><ДЛИНАДАННЫХ>vfs.fs.size[/nono]\n Agent читает запрос и отвечает с <ЗАГОЛОВОК><ДЛИНАДАННЫХ>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory

Активные проверки

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

Затем агент периодически отправляет новые значения на сервер(а).

Получение списка элементов данных

Запрос агента

Ответ сервера

Сервер должен ответить положительно. У каждого полученного элемента данных обязательно должны быть указаны параметры key, delay, lastlogsize и mtime, независимо от того элемент данных является журнальным или нет.

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

Отправка агента

Виртуальный ID назначается каждому значению. Значением ID является простой счётчик с инкрементом, уникальный в пределах одной сессии передачи данных (идентифицируется при помощи токена сессии передачи данных). Этот ID используется, чтобы отбрасывать дубликаты значений, которые могут быть отправлены в средах с плохой связью.

Читайте также: