Меню

Zabbix agent настройка мониторинга



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

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

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

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

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

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

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

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

  1. Агент Zabbix посылает данные на сервер
  2. Сервер Zabbix получает и обрабатывает данные.
  3. Если полученные данные подпадают под заданные условия, то срабатывает триггер;
  4. Активный триггер сигнализирует о проблеме. Отображается уведомление на фронтенде (сайте), и в зависимости от конфигурации рассылается сообщение по почте и выполняется какие-либо действия (например, перезапуск службы, которая мониторится).

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).

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

# 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

# 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 zabbix@localhost identified by ‘ВашПароль’;
mysql> quit;

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

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

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

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

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

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

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

Добавьте службу 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 сервера. Порт рекомендую оставлять стандартный – TCP 10051.

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

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

# firewall-cmd —add-service= —permanentfirewall-cmd —add-port= <10051/tcp,10050/tcp>–permanent

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

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

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

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

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

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

Читайте также:  Перенести настройки outlook из одного пользователя

Установка Zabbix Agent в 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.

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

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

На клиенте 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).

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

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

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

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

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

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

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

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

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

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

На этом настройка 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

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

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

# service zabbix-agent start

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

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

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

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

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

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

Источник

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_agentd.exe
  • zabbix_get.exe
  • zabbix_sender.exe
  • zabbix_agentd.conf

Открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на операционную систему Windows:

Открываем файл zabbix_agentd.win.conf любым текстовым редактором (можно WordPAD) и изменяем следующие параметры:

Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Находясь в настройках Брендмауэра идем по пути:

Дополнительные параметры — Правило для входящих подключений — Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP; Определенные локальные порты: 10050;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent 10050.

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

Дополнительные параметры — Правило для исходящих подключений — Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP; Определенные локальные порты: 10051;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent 10051.

Ищем службу с именем 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.

Читая их я получаю информацию которая позволяет мне улучшить качество написания статей. Кроме того, оставляя комментарии вы помогаете сайту получить более высокий рейтинг у поисковых систем. Давайте общаться.

Источник

Adblock
detector