что такое заббикс агент
Активный и пассивный zabbix агент
У только начинающих администраторов zabbix часто возникает вопрос. В чем отличие между активным и пассивным агентом? И какой агент лучше использовать. В данной статье постараемся ответить на эти вопросы.
Отличие активного и пассивного агента
При использовании пассивного агента, zabbix сервер отправляет запросы на zabbix агент, в соответствии с настройками элементов данных (например загрузку cpu, памяти и т.д). А в ответ получает значения этих данных.
При активном агенте. Агент сначала запрашивает у zabbix сервера список элементов данных, частота этих запросов указана в параметре RefreshActiveChecks в настройках zabbix агента, обычно это не чаще одного раза в час, если у вас изменения в настройка узлов сети происходят редко, то можно указать обновление раз в сутки что бы меньше нагружать сервер. После получения элементов данных zabbix агент отправляет данные на сервер в соответствием с настройками этих данных.
Как следует из описанного выше. Основное отличие заключается в том, что при пассивном агенте данные запрашиваются сервером, а при активном данные отправляются самими агентами.
Какой агент лучше использовать?
Какой агент использовать это дело вкуса. По моему мнению если у вас небольшая сеть и в которую редко добавляются новые узлы, то можно использовать пассивный агент.
Если же у вас большая сеть и на сервере десятки или сотни тысяч активных элементов данных. А также если в сети постоянно появляются новые узлы. То в этом случае лучше, а также если узлы находятся за НАТом то необходимо использовать активный zabbix агенты.
преимущества пассивного агента
Преимущества активного агента
Создание шаблона для активного агента
Создать шаблон для активного zabbix агента из уже существующего на самом деле очень просто. Рассмотрим на примере стандартного шаблона «Template OS Linux». Для этого открываем его на редактирование и смотрим какие еще шаблоны к нему присоединены, кликнув по вкладке «Присоединенные шаблоны»
Прямо здесь кликаем по имени «Template App Zabbix Agent» и в открывшемся шаблоне нажимаем кнопку «Полное клонирование». Переименовываем новый шаблон например в «Template App Zabbix Agent_activ». И жмем добавить. Затем открываем созданный шаблон на редактирование, переходим на вкладку «элементы данных» и выделяем все элементы данных.
После чего жмем «Массовое обновление». Выбираем тип «Zabbix агент (активный)»
И нажимаем «обновить»
Снова открываем шаблон «Template OS Linux» и здесь нажимаем кнопку «Полное клонирование». И создаем новый шаблон «Template OS Linux_activ». Открываем шаблон «Template OS Linux_activ» на редактирование и переходим на вкладку «Присоединенные шаблоны». Здесь отсоединяем шаблон «Template App Zabbix Agent» и присоединяем «Template App Zabbix Agent_activ».
Затем переходим в элементы данных и также с помощью кнопки «Массовое обновление» меняем тип на «Zabbix агент (активный)». Еще нам нужно изменить тип в правилах обнаружения. Для этого переходим на вкладку «Правила обнаружения» и нажимаем в каждом правиле на ссылку «Прототипы элементов данных». К сожалению здесь массовое обновление не работает. Поэтому проходимся по каждому элементу вручную и меняем тип. Теперь у нас есть новый шаблон «Template OS Linux_activ», который работает с активным zabbix агентами. И уже его мы можем навешивать на хосты.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Что такое Zabbix: универсальная система мониторинга всего на свете
Он позволяет собирать данные о состоянии чего угодно — от сетевых соединений до ключевых бизнес-метрик продукта. Сотни плагинов, скриптов, автоматизаций расширяют его и добавляют любое нужное поведение — от уведомлений о сбоях до сложных анализаторов метрик.
В статье разберемся, что же может Zabbix и зачем используют этот инструмент.
Основные концепции для общего понимания работы Zabbix
Zabbix состоит из нескольких частей, не связанных между собой:.
Всё вместе работает очень просто — агенты размещаются на серверах и мониторят их состояние, ежечасно/ежеминутно/ежесекундно сообщая о параметрах системы в центральное ядро. Ядро проверяет, всё ли в порядке у серверов, а если что-то идет не так — посылает администратору уведомление. Администратор заходит в веб-интерфейс и там разбирается в чем дело.
Так выглядит интерфейс Zabbix
Несмотря на кажущуюся простоту концепции, Zabbix требует знаний и умений для правильного написания конфигурационных файлов. Однако в умелых руках эта штука может практически всё.
Что можно мониторить с помощью Zabbix
Zabbix-агенты находятся там, где нужно собирать метрики, они либо передают данные серверу, либо сервер сам забирает их у агентов
Что может Zabbix и чем он так хорош
К этому всему нужно добавить, что всё это добро — бесплатно, свободно и общедоступно.
Zabbix agent установка и настройка
Zabbix agent можно установить практически на любую операционную систему. В этой статье будет собираться опыт установки агентов Zabbix на разные операционные системы и устройства. Контроль любых параметров после изучения документации от разработчика.
Введение
Узнать как производится установка системы вы можете из статьи Установка Zabbix 4.2. Понять основный принцип работы а так же вникнуть в структуру работы с системой можно в статье Настройка Zabbix сервера. В базовой версии настроек агента вполне достаточно, но если вы захотите контролировать какие то свои параметры вам это удастся после изучения документации на сайте разработчика.
В последствии я напишу еще много статей на тему Zabbix и возможно из них вы узнаете то что вам надо. Подпишитесь и тогда вы будете в курсе всех новых статей.
Действия на сервере Zabbix
Вы можете вначале настроить агента и лишь потом зайти на сервер и добавить необходимый узел, но мне такой вариант не нравится. Добавив узел мониторинга на сервере Zabbix, при проверке агента мы сразу увидим ошибки в случае их наличия.
Система позволяет сделать такие настройки обнаружения при которых сервер сам будет искать агентов и в случае их появления сразу добавлять к себе по ранее заданным сценариям. Конечно круто использовать такие механизмы, но они требуют хорошего понимания системы. Начнем с простого и по мере изучения будем усложнять настройки системы.
Добавление узла сети в Zabbix
В статье про настройку Zabbix я детально останавливался на вопросе подключения активного агента. Дальше я не буду повторятся в этом вопросе а лишь покажу разные варианты указания параметров.
Для добавления узла сети идем по пути:
Настройка — Узлы сети — Создать узел сети
В поле «Имя узла сети» ставится значение которое указывается в настройках агента в поле «Hostname».
Для обычного агента:
Для активного агента:
Все последующие картинки и описания будут делаться с учетом использования обычного агента Zabbix!
В списке узлов сети вы всегда можете наглядно видеть короткую информацию об узлах мониторинга. Например, в примере ниже видно что первый узел работает по активному агенту, второй имеет проблемы с подключением и третий у которого всё хорошо.
Проверка получения данных с агента
После подключения узла сети к мониторингу обязательно проверьте правильность получения данных во всех группах элементов данных. Например, для наглядности на картинке ниже показаны только элементы группы OS.
Сразу не спешите смотреть, так как должно пройти время. Для получения данных об агенте минимум 5 минут.
Установка Zabbix Agent на Linux
Для установки агентов необходимо вначале подключить репозиторий для нужного дистрибутива. На сайте разработчика Zabbix на странице Скачать и установить Zabbix выбираем необходимый дистрибутив и версию.
Для любого дистрибутива необходимо сделать стандартные действия:
При установке агента на самом сервере Zabbix никаких действий с настройкой не требуется, так как узел по умолчанию имеется на сервере.
Особое вниманию заостряю на порты работы агента Zabbix. На агенте должен быть открыт порт 10050 так как именно по нему Zabbix сервер будет пытаться получить данные с агента. В случае использования активного агента (агент сам отправляет данные на сервер Zabbix) должно быть разрешено исходящее подключения по порту 10051.
На сервере Zabbix должен быть открыть порт 10051.
В случае отсутствия нужного дистрибутива переходим на закладку Для установки агентов и скачиваем агент для необходимого нам дистрибутива.
Почти во всех дистрибутивах вы найдете пакет Zabbix агента и воспользовавшись имеющейся документацией от разработчика дистрибутива вы сможете найти ответ как устанавливается агент или сервер в нужной системе.
Zabbix agent для CentOS 7
После выбора необходимой операционной системы вы увидите страницу на которой указаны все необходимые команды которые необходимо выполнить в консоли.
Подключаем репозиторий версии Zabbix 4.2 выполнив необходимую команду:
Очистим и пересоздадим кэш yum:
Произведем установку введя в консоли следующую команду:
В случае использования FirewallD необходимо выполнить команды которые открою порт 10050:
Более подробно как работать с FirewallD рассказано в статье FirewallD базовая настройка.
В файле конфигурации агента /etc/zabbix/zabbix_agentd.conf необходимо указать параметры для подключения к серверу Zabbix:
При использовании Zabbix proxy необходимо указывать его IP адрес.
Запускаем агент и добавляем в автозагрузку:
Проверяем лог файл агента для CentOS 7 следующей командой:
Согласно выводу всё в порядке.
Zabbix agent для Debian
На сайте разработчика Zabbix на странице Скачать и установить Zabbix выбираем необходимый дистрибутив и версию.
В примере описан вариант установки и настройки Zabbix agent для операционной системы Debian 10 Buster.
Подключаем репозиторий версии Zabbix 4.2 выполнив необходимые команды:
Обновляем список пакетов:
Произведем установку выполнив в консоли следующую команду:
В случае использования системы firewall открываем 10050 порт. 10051 порт должен быть открыт на исходящие соединения.
В файле конфигурации агента /etc/zabbix/zabbix_agentd.conf необходимо указать параметры для подключения к серверу Zabbix:
При использовании Zabbix proxy необходимо указывать его IP адрес.
Добавляем в автозагрузку и производим перезапуск агента:
Проверяем лог файл агента следующей командой:
Согласно выводу всё в порядке.
Установка Zabbix agent на XigmaNAS
Открываем доступ пользователю Root по SSH в веб панели управления и заходим стандартными командами для подключения по ssh.
Еmbedded версия XigmaNAS
При использовании версии Еmbedded, вы должны понимать, что все изменения, которые вы производите в системе пропадут при перезапуске системы!
Выводим список всех возможных пакетов Zabbix:
На момент написания статьи актуальная версия была 4.2.4:
Активируем сервис как службу:
Копируем конфигурационный файл настройки агента и открываем его для редактирования:
Сохраняем файл и запускаем агент Zabbix:
Для проверки смотрими логи выполнив команду:
Проверить статус можно следующей командой:
Full версия XigmaNAS
Вначале выполняем действия как для Еmbedded версии.
При использовании full версии после перезагрузки агент не запуститься и при попытке запустить в ручном режиме выдаст ошибку.
Ошибка говорит о том что пользователя Zabbix нет. Добавлять пользователя через консоль используя стандартные команды для FreeBSD не получится. Работать с пользователями и группами вы сможете только используя веб панель управления.
Добавте пользователя и группу Zаbbix через веб панель управления XigmaNAS. При добавлении пользователя обязательно сделайте ему домашней папку /var/run/zabbix.
В консоли из под пользователя root дайте необходимые права на папку с программой и лог файл:
После этого служба будет нормально стартовать после перезагрузки.
В случае если не дать права на лог файл будет ошибка. Надо или давать права на лог файл или менять путь в файле настройки.
Установка Zabbix agent на Windows
Переходим на страницу загрузок Zabbix agent и скачиваем самую последнюю версию агента для Windows нужной разрядности.
Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:
Открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на операционную систему Windows:
Открываем файл zabbix_agentd.win.conf любым текстовым редактором (можно WordPAD) и изменяем следующие параметры:
Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Находясь в настройках Брендмауэра идем по пути:
Дополнительные параметры — Правило для входящих подключений — Создать правило.
В случае использования активного агента идем по пути (даже если не используется лучше открыть):
Дополнительные параметры — Правило для исходящих подключений — Создать правило.
Ищем службу с именем Zabbix agent в оснастке со службами запускаем ее.
Если все прошло успешно то в логе c:\zabbix\zabbix_agentd.log вы увидите примерно такую информацию:
В вариантах агента есть возможность выбрать автоматический установщик, но мне больше нравится настраивать руками.
Возможные ошибки в работе
Буду описывать тут все ошибки которые буду считать общими для разных систем.
Периодические ошибки по сбору параметров
На сервере вы можете видеть периодические ошибки по сбору некоторых параметров. Например, кратковременные сообщения о недоступности агента и тому подобные ошибки. Особенно актуальна проблема если на агенте используется сложный механизм получения необходимых данных.
Timeout — параметр который отвечает за ожидание как на получение так и на отправку данных. По умолчанию выставлено значение в 3 секунды.
Необходимо увеличить этот параметр как на сервере так и на клиенте с которого получаете ошибки. В случае использование Zabbix proxy его там тоже необходимо увеличить. Например, я использую значение 10.
Не работает zabbix_get
Ошибку показанную выше вы можете увидеть при попытке получить данные по любому параметру.
В новых версиях Zabbix утилита для опроса агентов вынесена в отдельный пакет zabbix-get и устанавливать её надо согласно командам применяемым в используемом дистрибутиве.
Следующую ошибку можно получить когда вы запрашивайте параметр на самом агенте.
Необходимо в файл настройки агента в параметр Server добавить через запятую ip адреса компьютеров с которых отправляется запрос. Например, Server=127.0.0.1,192.168.11.19.
Теперь выполнив нужную команду вы увидите правильный ответ.
Заключение
Статья будет постоянно дополняться и изменяться. Не вижу смысла держать информацию если версия программы сильно устарела. Возможно, при таком подходе, я буду терять часть ссылок в поисковых системах. Зато знаю точно, что никого не будут бесить мои статьи которые потеряли актуальность, но по запросу в поисковике вылазят на первую страницу.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.
Zabbix Documentation 5.4
Sidebar
Table of Contents
2 Агент
Обзор
Zabbix агенты разворачиваются на наблюдаемых целях для активного мониторинга локальных ресурсов и приложений (статистика жестких дисков, памяти, процессоров и т.д.).
Агент локально собирает оперативную информацию и отправляет данные Zabbix серверу для дальнейшей обработки. В случае проблем (таких как отсутствие свободного места на жестком диске или аварийного завершения процесса сервиса), Zabbix сервер может быстро уведомить администраторов конкретного сервера, сообщившего об ошибке.
Zabbix агенты чрезвычайно эффективны, потому что используют родные системные вызовы для сбора информации статистики.
Пассивные и активные проверки
Zabbix агенты могут выполнять пассивные и активные проверки.
В случае пассивной проверки агент отвечает на запрос данных. Zabbix сервер (или прокси) запрашивает данные, например, загрузку CPU, и Zabbix агент возвращает результат.
Активные проверки требуют более сложной обработки. Агент сначала получает список элементов данных для независимой обработки от Zabbix сервера. Далее он будет периодически отправлять новые значения серверу.
Выбор между пассивной и активной проверкой осуществляется выбором соответствующего типа элемента данных. Zabbix агент обрабатывает элементы данных типов ‘Zabbix агент’ и ‘Zabbix агент (активный)’.
Поддерживаемые платформы
Zabbix агент поддерживается на:
Агент на UNIX системах
Zabbix агент на UNIX-подобных системах запускается на хостах, которые необходимо мониторить.
Установка
Смотрите раздел установки из пакетов для получения более детальных сведений по установке Zabbix агента из пакетов.
В качестве альтернативы вы можете обратиться к инструкциям по ручной установке, если вы не хотите использовать пакеты.
Если установлен пакетом
Zabbix агент работает как демон. Агент можно запустить, выполнив:
Эта команда будет работать на большинстве GNU/Linux системах. На других системах вам, возможно, потребуется выполнить:
Аналогично, для остановки/перезапуска/просмотра состояния Zabbix агента, используйте следующие команды:
Запуск вручную
Если выше приведенные команды не работают, вам необходимо запустить агент вручную. Найдите путь к бинарному файлу zabbix_agentd и выполните:
Агент на Windows системах
Zabbix агент на Windows работает как служба Windows.
Подготовка
Zabbix агент распространяется в виде zip архива. После загрузки архива вам необходимо распаковать его. Выберите любую папку для записи Zabbix агента и файла конфигурации, например:
Скопируйте bin\zabbix_agentd.exe и conf\zabbix_agentd.conf файлы в c:\zabbix.
Измените c:\zabbix\zabbix_agentd.conf файл в соответствии с вашими требованиями, убедитесь что указан корректный параметр “Hostname”.
Установка
После этого используйте следующую команду для установки Zabbix агента службой Windows:
Теперь у вас должна быть возможность настраивать службу “Zabbix agent” так же как и любую другую службу Windows.
Смотрите более детальные сведения по установке и запуску Zabbix агента на Windows.
Другие опции агента
Имеется возможность запуска нескольких экземпляров агента на одном узле сети. Одиночный экземпляр может быть настроен на использование файла конфигурации по умолчанию или файл конфигурации указанный в командной строке. В случае нескольких экземпляров каждый агент должен иметь свой собственный файл конфигурации (один из них может использовать файл конфигурации по умолчанию).
Следующие параметры командной строки могут быть использованы с Zabbix агентом:
Специальные примеры использования параметров командной строки:
Управление работой
Используя опции административных функций, вы можете изменить уровень журналирования у процессов агента.
Обратите внимание, что допустимый диапазон PID изменения уровня журналирования одного процесса с 1 до 65535. На системах с большими значениями PID опция может использоваться для изменения уровня журналирования отдельных процессов.
Пользователь процесса
Zabbix агент спроектирован для запуска от не привилегированного пользователя (non-root). Он будет работать от любого не привилегированного пользователя от которого был запущен. Таким образом, вы можете запускать агент от имени любого не привилегированного пользователя, без каких либо последствий.
Файл конфигурации
Для получения подробной информации смотрите параметры файла конфигурации по настройке zabbix_agentd или Windows агента.
Региональные настройки (локаль)
Обратите внимание что сервер требует UTF-8 локаль чтобы некоторые текстовые элементы данных могли быть интерпретированы корректно. Большинство современных Unix-подобных систем имеют локаль UTF-8 установленной по умолчанию, тем не менее, есть некоторые системы где это необходимо задать вручную.
Код завершения процесса
До версии Zabbix 2.2, Zabbix агент возвращал 0 в случае успешного завершения процесса и код 255 в случае ошибки. Начиная с версии Zabbix 2.2 и выше Zabbix агент возвращает код 0 в случае корректного завершения процесса и код 1 в случае отказа/аварийного завершения процесса.
Zabbix агент
Родной Zabbix агент, написан на языке C и его можно запускать на различных поддерживаемых платформах, включая Linux, UNIX и Windows, и собирать с устройства такие данные как использование CPU, памяти, диска и сетевых интерфейсов.
Компактность и малые ресурсы
По причине своей компактности агент может работать на устройствах с ограниченными ресурсами.
Конфигурация мониторинга сосредоточена на Zabbix сервере, что упрощает управление Zabbix агентом, который может использовать одинаковый файл конфигурации на всех серверах.
Zabbix агент запущенный под Linux:
Zabbix агент запущенный под MS Windows:
Поддержка опроса и трапов
Zabbix агент поддерживают как пассивные (опроса), так и активные проверки (трапы). Zabbix может выполнять проверки на основе интервала опроса, однако, также имеется возможность планирования определенного времени опроса элементов данных.
Пассивные проверки (опрос):
Активные проверки (трапы):
Функции агента
Zabbix агент поддерживает следующий список проверок по умолчанию.
Расширение Zabbix агента
Мониторинг журналов
Встроенной функцией Zabbix агента является поддержка мониторинга текстовых журналов и журнала событий, включая поддержку ротации журналов.
Имеется возможность построения графиков по элементам данных журнала, при использовании возможности извлечения конкретного содержимого.
Журналы постоянно анализируются Zabbix агентом и при нахождении заданного элемента поиска Zabbix сервер будет оповещен и сможет выполнить какое-либо действие или автоматически отправить оповещение пользователю или группе пользователей.
Поддержка WMI
Zabbix агент имеет встроенную поддержку Windows Management Instrumentation (WMI), который расширяет возможности простого получения и мониторинга информации о системе в режиме реального времени и метрик производительности с Windows серверов и рабочих станций.
WMI запросы можно выполнять при помощи wmi.get[] ключа для извлечения одного свойства в виде строки, целого числа или дробного числа с заданного класса пространства имен WMI.
Для получения более подробных сведений о Windows Management Instrumentation, доступных классах и их свойствах посетите MSDN документацию.
Готовность к IPv6
Zabbix агент поддерживает IPv4 и IPv6 адреса.