Настройка мониторинга посредством Zabbix


Общие сведения

В инструкции описывается настройка мониторинга служб Avanpost FAM посредством системы Zabbix с целью отслеживания работоспособности компонентов Avanpost FAM. Zabbix представляет собой систему мониторинга, позволяющую контролировать состояние серверов, сетевых устройств, приложений и других компонентов IT-инфраструктуры. Функциональность, описываемая в данной инструкции доступна для веб-интерфейса и десктопного интерфейса Zabbix.

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

Пример системных требований

Пример конфигурации оборудования для Linux/BSD/Unix-платформы при минимальной инсталляции (1000 метрик):

  • Ядра CPU/vCPU: 2;
  • Память: 8 (ГБ);
  • База данных: MySQL сервер, Percona сервер, MariaDB сервер, PostgreSQL.

Этап 1. Установка Zabbix Agent

Установка агента Zabbix производится на целевом сервере с развернутой системой Avanpost FAM.

Для установки Zabbix Agent необходимо: 

  1. Скачать и установить репозиторий Zabbix для текущей ОС:

    rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/10/noarch/zabbix-release-7.4-4.el10.noarch.rpm

    Адрес репозитория, по которому расположена последняя версия Zabbix, может отличаться от указанного.

  2. Установить Zabbix Agent через менеджер пакетов: 

    yum install zabbix-agent

Этап 2. Настройка Zabbix Agent

Для настройки Zabbix Agent необходимо: 

  1. Открыть конфигурационный файл zabbix_agentd.conf для редактирования.

    Возможные пути к файлу (могут отличаться в зависимости от устанавливаемой версии Zabbix): 

    • /etc/zabbix_agentd.conf 
    • /etc/zabbix/zabbix_agentd.conf 
  2. Внести следующие изменения в файле конфигурации:

    • Server=<IP_адрес_Zabbix_сервера>;
    • ServerActive==<IP_адрес_Zabbix_сервера>;
    • Задать имя хоста FAM с помощью Hostname=<имя_хоста>;
    • Добавить следующую строку для разрешения выполнения удаленных Bash команд агентом:
      AllowKey=system.run[*]

Этап 3. Настройка правил брандмауэра

Для настройки правил брандмауэра необходимо: 

  1. Создать новое правило в брандмауэре для Zabbix Agent, включающее порт 10050:

    firewall-cmd --permanent --new-service=zabbix
    firewall-cmd --permanent --service=zabbix --add-port=10050/tcp
    firewall-cmd --permanent --service=zabbix --set-short="Zabbix Agent"
  2. Добавить сервис Zabbix в общую конфигурацию брандмауэра: 
    firewall-cmd --permanent --add-service=zabbix
    firewall-cmd --reload

Этап 4. Запуск агента Zabbix

Для запуска агента Zabbix необходимо:  

  1. Настроить автозапуск при загрузке системы: при помощи команды 

    systemctl enable zabbix-agent
  2. Запустить Zabbix Agent при помощи команды:

    systemctl start zabbix-agent
    

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

Для настройки отслеживания работоспособности компонентов Системы посредством Zabbix необходимо:

  1. Зайти в веб-интерфейс Zabbix-сервера.
  2. Перейти в раздел Configuration → Hosts. Нажать "Create host".



  3. В открывшемся окне задать настройки согласно таблице: 

    ПараметрЗначение
    Host nameУказать имя хоста
    TemplatesВыберите шаблон "Linux by Zabbix agent", чтобы получать подробную информацию о состоянии сервера FAM.
    GroupsУказать группу хостов "Discovered hosts".
    InterfacesДобавить интерфейс типа "Agent" и указать IP-адрес сервера FAM.

  4. В разделе "Items" создать новый элемент данных (Item).



  5. В открывшемся окне установить настройки: 

    ЗначениеПараметр
    NameЗадать имя (например, "Status Fam").
    TypeВыбрать типа Zabbix agent
    Key

    system.run[systemctl status idp |grep -o active] 

    Данная команда получает статус службы FAM, когда она активна.

    Host interfaceИнтерфейс хоста. IP-адрес и порт, по которым Zabbix-сервер может связаться с хостом (целевой системой мониторинга).
    Update intervalИнтервал обновления. Параметр, который определяет, с какой периодичностью элемент данных (Item) будет запрашивать или получать новые данные от хоста.
    History storage periodПериод хранения истории (как долго полученные данные будут храниться в БД Zabbix).

  6. В разделе "Triggers" создать новый триггер.



  7. В открывшемся окне установить настройки:

    ЗначениеПараметр
    NameЗадать имя триггера (например, "FAM not Active").
    Expression

    Определить условие триггера, используя выражение:

     last(/fam/system.run[systemctl status idp |grep -o active])<>"active"

    Это условие отправит уведомление, если служба FAM не активна.


Приложение А. Инструменты мониторинга Zabbix

В разделе Monitoring → Dashboards создаются и настраиваются графические панели, которые отображают актуальные данные о состоянии системы (в т.ч. наличие проблем в системе). 

В разделе Monitoring → Latest data отображаются последние полученные данные с хоста или группы хостов.

Раздел предназначен для отслеживания текущих значений метрик мониторинга (загрузка процессора, использование памяти, доступность сервисов и др.).

В разделе Monitoring → Hosts производятся настройки и отображаются графики, которые демонстрируют статистику и изменения значения метрик мониторинга в течение определенного периода времени.



Обсуждение