Что такое заббикс агент
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 адреса.
Что такое Zabbix: универсальная система мониторинга всего на свете
Он позволяет собирать данные о состоянии чего угодно — от сетевых соединений до ключевых бизнес-метрик продукта. Сотни плагинов, скриптов, автоматизаций расширяют его и добавляют любое нужное поведение — от уведомлений о сбоях до сложных анализаторов метрик.
В статье разберемся, что же может Zabbix и зачем используют этот инструмент.
Основные концепции для общего понимания работы Zabbix
Zabbix состоит из нескольких частей, не связанных между собой:.
Всё вместе работает очень просто — агенты размещаются на серверах и мониторят их состояние, ежечасно/ежеминутно/ежесекундно сообщая о параметрах системы в центральное ядро. Ядро проверяет, всё ли в порядке у серверов, а если что-то идет не так — посылает администратору уведомление. Администратор заходит в веб-интерфейс и там разбирается в чем дело.
Так выглядит интерфейс Zabbix
Несмотря на кажущуюся простоту концепции, Zabbix требует знаний и умений для правильного написания конфигурационных файлов. Однако в умелых руках эта штука может практически всё.
Что можно мониторить с помощью Zabbix
Zabbix-агенты находятся там, где нужно собирать метрики, они либо передают данные серверу, либо сервер сам забирает их у агентов
Что может Zabbix и чем он так хорош
К этому всему нужно добавить, что всё это добро — бесплатно, свободно и общедоступно.
Система мониторинга Zabbix для начинающих
Содержание:
Zabbix — это универсальный инструмент мониторинга, способный отслеживать динамику работы серверов и сетевого оборудования, быстро реагировать на внештатные ситуации и предупреждать возможные проблемы с нагрузкой. Система мониторинга Zabbix может собирать статистику в указанной рабочей среде и действовать в определенных случаях заданным образом.
В этой обзорной статье расскажем об основных принципах и ключевых инструментах, на которых построена универсальная система мониторинга Zabbix.
Обзор
Систему создал Алексей Владышев на языке Perl. Впоследствии проект подвергся серьезным изменением, которые затронули и архитектуру. Zabbix переписали на C и PHP. Открытый исходный код появился в 2001 г., а уже через три года выпустили первую стабильную версию.
Веб-интерфейс Zabbix написан на PHP. Для хранения данных используются MySQL, Oracle, PostgreSQL, SQLite или IBM DB2.
На данный момент доступна система Zabbix 4.4. Скачать ее можно на официальном сайте. Там же можно найти официальные курсы и вебинары для начинающих пользователей системы.
Далее рассмотрим, из чего состоит и как работает технология Zabbix в доступном формате «для чайников».
Архитектура Zabbix
У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.
Основные возможности
Функционал включает в себя общие проверки для наиболее распространенных сервисов, в том числе СУБД, SSH, Telnet, VMware, NTP, POP, SMTP, FTP и т.д. Если стандартных настроек системы недостаточно, их можно изменить самостоятельно или же пользоваться дополнением через API.
Стандартные функции системы
Проверки
Для описания системы мониторинга Zabbix существует два ключевых понятия:
Сам Zabbix-агент способен отражать текущее состояние физического сервера, собирая совокупность данных. У него достаточно много метрик. С их помощью можно проверить загруженность ядра (Processor load), время ожидания ресурсов (CPU iowait time), объем системы подкачки (Total swap space) и многое другое.
В Zabbix существует целых 17 способов, дающих возможность собирать информацию. Указанные ниже, входят в число наиболее часто применяемых.
У проверок есть заданные шаблоны (Templates), которые упрощают создание новых. Кроме обычных операций существует возможность регулярно проверять доступность веб-сервера с помощью имитации запросов браузера.
Проверка через пользовательский параметр
Чтобы выполнить проверку через агент, нужно прописать соответствующую команду в конфигурационный файл Zabbix-агента в качестве пользовательского параметра ( UserParameter ). Сделать это можно с помощью выражения следующего вида:
Помимо самой команды, приведенный синтаксис содержит уникальный (в пределах узла сети) ключ элемента данных, который надо придумать самостоятельно и сохранить. В дальнейшем, ключ можно использовать для ссылки на команду, внесенную в пользовательский параметр, при создании элемента данных.
Пример
С помощью данной команды можно настроить агент на постоянное возвращение значения « 1 » для элемента данных с ключем « ping ».
Триггеры
У каждого триггера существует уровень серьезности угрозы, который маркируется цветом и передается звуковым оповещением в веб-интерфейсе.
Некоторые функции триггеров
Прогнозирование
Триггеры обладают еще одной важной функцией для мониторинга — прогнозированием. Она предугадывает возможные значения и время их возникновения. Прогноз составляется на основе ранее собранных данных.
Анализируя их, триггер выявляет будущие проблемы, предупреждает администратора о возникшей вероятности. Это дает возможность предотвратить пики нагрузки на оборудование или заканчивающееся место на жестком диске.
Функционал прогнозирования добавили с обновлением системы 3.0, вышедшим в феврале 2016 года.
Действие
Действие (Action) представляет собой заданную реакцию на событие (Event). Действие может устанавливаться автоматически или вручную как для одного из событий, так и для целой группы.
Параметры действий
Для событий, вызванных триггером или обнаружением, есть свои типы условий. Например, «Application» с операторами « = », « like » и « not like » значит, что триггер является частью указанного приложения. Или «Service type» с операторами « = », « »и « > » предусматривает, что обнаруженный сервис совпадает с указанным.
Операции
Пользователь может указать для событий операцию или группу операций.
Параметры операций
Низкоуровневое обнаружение
Функция Низкоуровневого обнаружения (LLD) автоматически создает элементы и триггеры, которые позволяют отслеживать системы сервера, находящимся под наблюдением. Включение функции происходит через настройку атрибутов, которую можно сделать, пройдя по пути: «Настройка» → «Шаблоны» → «Обнаружение» (вкладка в строке с шаблоном) → вкладки «Правила обнаружения»/«Фильтры».
Что можно обнаружить
Дополнительные типы
Задать собственные типы низкоуровневого обнаружения возможно с применением формата JSON. Типы проверок, для которых можно указать список портов и интервал для них:
Если хост пропадает или обнаруживается, для события можно привязать любое действие — условия и операцию для них.
Прокси
Функция буферизации через прокси используется в том случае, когда существующая инфраструктура достаточно большая, а выделенный сервер не способен нести такую нагрузку. Прокси выступает промежуточным звеном, которое собирает информацию с агентов в буфер, а после отправляет данные на сервер.
Прокси используется еще в нескольких случаях — если агенты находятся далеко друг от друга или ограничены локальной сетью. Это сказывается на доступности агентов и величине пингов.
Zabbix прокси функционирует как демон. Для его использования обязательно наличие отдельной базы данных.
Особенности веб-интерфейса
Система мониторинга Zabbix располагает удобным веб-интерфейсом, в котором сгруппированы элементы управления. Консоль предусматривает просмотр собранных данных, их настройку. Для безопасности входа и работы осуществляется автоматическое отсоединение через 30 минут пользовательского бездействия.
На главном экране всегда представлена информация о состоянии узлов сети и триггеров.
Пользователю доступны пять функциональных разделов, включая Monitoring («Мониторинг»), Inventory («Инвентарные данные»), Reports («Отчеты»), Configuration («Конфигурация») и Administration («Администрирование»).
В разделе «Конфигурации» можно найти группы хостов. По каждому элементу списка можно посмотреть более подробную информацию, например, последние события и графики данных.
Управлять шаблонами, доступными администратору, можно в соответствующем подразделе — Templates («Шаблоны»).
Версия 4.4
Узнать версию установленного Zabbix сервера можно во время запуске в файле-протоколе.
Основные нововведения в Zabbix 4.4
Заключение
Zabbix по праву считается одним из самых продвинутых инструментов для удалённого мониторинга аппаратных и программных ресурсов. Система с успехом позволяет решать задачи по отслеживанию сетевой активности и работоспособности серверов, а также предупреждать о потенциально опасных ситуациях. Благодаря встроенным механизмам анализа и прогнозирования, Zabbix может стать основой для создания полноценной стратегии эффективного использования IT-инфрастуктуры в компаниях любого масштаба.
Способности Zabbix ограничены только имеющимися в распоряжении ресурсами. VDS от Eternalhost на SSD-дисках обеспечит системе максимальное быстродействие и возможность мониторить множество узлов в сети.
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 агента из пакетов.
В качестве альтернативы вы можете обратиться к инструкциям по ручной установке, если вы не хотите использовать пакеты.
В целом 32-битный Zabbix агент будет работать на 64-битных системах, но в отдельных случаях возможно возникновение ошибок.
Если установлен пакетом
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 опция может использоваться для изменения уровня журналирования отдельных процессов.
Выполнение административных функций не поддерживается в OpenBSD, NetBSD и Windows.
Пользователь процесса
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 часто возникает вопрос. В чем отличие между активным и пассивным агентом? И какой агент лучше использовать. В данной статье постараемся ответить на эти вопросы.
Отличие активного и пассивного агента
При использовании пассивного агента, 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.