- Установка Zabbix agent на XigmaNAS
- Еmbedded версия XigmaNAS
- Full версия XigmaNAS
- Настройка Zabbix Server
- Настройка email оповещений
- Изменение шаблона стандартных оповещений
- Изменение стандартных шаблонов мониторинга
- Общие настройки
- Что нового в Zabbix 5
- Список основных нововведений
- Улучшенная безопасность и надежность
- Масштабируемость и производительность
- Новый Zabbix Agent
- Простота и удобство
- Автоматизация и обнаружение
- Встроенная интеграция с системами ITSM
- Встроенные интеграции с системами оповещений
- Новые шаблоны и плагины
- Установка Zabbix Agent в Linux
- Установка Zabbix agent на Windows
- Из чего состоит Zabbix и что он может?
- Возможные ошибки в работе
- Периодические ошибки по сбору параметров
- Не работает zabbix_get
- Установка Zabbix Agent на Linux
- Zabbix agent для CentOS 7
- Zabbix agent для Debian
- Настройка Zabbix сервера после установки
- Настройка главного пользователя
- Настройка e-mail оповещений
- Настройка Zabbix шаблонов
- Использование активного агента Zabbix
- Установка сервера Zabbix 4. 0 в Ubuntu, Debian
- Подготовка сервера к установке
- Установка zabbix агент на Windows и настройка мониторинга
- Настройка шифрованного подключения
- Видео
Установка Zabbix agent на XigmaNAS
Открываем доступ пользователю Root по SSH в веб панели управления и заходим стандартными командами для подключения по ssh.
Еmbedded версия XigmaNAS
При использовании версии Еmbedded, вы должны понимать, что все изменения, которые вы производите в системе пропадут при перезапуске системы!
Выводим список всех возможных пакетов Zabbix:
pkg search zabbix
pkg install zabbix42-agent-4.2.4
Активируем сервис как службу:
Копируем конфигурационный файл настройки агента и открываем его для редактирования:
cp /usr/local/etc/zabbix42/zabbix_agentd.conf.sample /usr/local/etc/zabbix42/zabbix_agentd.conf
ee /usr/local/etc/zabbix42/zabbix_agentd.conf
= необходимые параметры c пояснениями =
# IP адрес сервера Zabbix
# IP сервера Zabbix на который активный агент будет отправлять данные
# имя узла мониторинга, которое указано на сервере zabbix
Сохраняем файл и запускаем агент Zabbix:
service zabbix_agentd start
Для проверки смотрими логи выполнив команду:
Проверить статус можно следующей командой:
Full версия XigmaNAS
Вначале выполняем действия как для Еmbedded версии.
При использовании full версии после перезагрузки агент не запуститься и при попытке запустить в ручном режиме выдаст ошибку.
Ошибка говорит о том что пользователя Zabbix нет. Добавлять пользователя через консоль используя стандартные команды для FreeBSD не получится. Работать с пользователями и группами вы сможете только используя веб панель управления.
Добавте пользователя и группу Zаbbix через веб панель управления XigmaNAS. При добавлении пользователя обязательно сделайте ему домашней папку /var/run/zabbix.
В консоли из под пользователя root дайте необходимые права на папку с программой и лог файл:
chown -R zabbix:zabbix /var/run/zabbix
chown zabbix:zabbix /tmp/zabbix_agentd.log
После этого служба будет нормально стартовать после перезагрузки.
В случае если не дать права на лог файл будет ошибка. Надо или давать права на лог файл или менять путь в файле настройки.
service zabbix_agentd start
= ошибка при отсутствии прав на лог файл =
Настройка Zabbix Server
- карты сети — Local Network
- комплексного экрана Zabbix server
- панелей Global view и Zabbix server health
Они создаются автоматически при установке заббикса. Вам нужно сменить у них владельца на нового пользователя. После этого стандартного админа можно будет удалить.
Настройка email оповещений
Покажу на примере настроек ящика в Яндексе.
Зайдите еще раз в учетную запись и убедитесь, что ящик добавили.
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хост к мониторингу.
Если вам нужны оповещения в telegram, то читайте отдельную статью на эту тему. Так же рекомендую ознакомиться с материалом на тему настройки повторяющихся уведомлений в заббиксе. Для многих триггеров может оказаться очень полезной возможностью. Например, можно каждый день напоминать об окончании времени делегирования домена, пока он не будет продлен.
Так же zabbix умеет звонить через asterisk для оповещения о событиях.
Изменение шаблона стандартных оповещений
Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. В некоторых шаблонах триггера указано имя хоста, но есть и такие, где нет этой информации. В итоге в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста далее статус, а потом все остальное. Вот пример старого и нового оповещения:
Мне мой вид кажется более наглядным. Шаблон меняет на следующий:
Он одинаковый и для проблемы, и для восстановления.
Изменение стандартных шаблонов мониторинга
На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. Вот список того, что я делаю.
Общие настройки
- В разделе Рабочее время выставляю актуальные рабочие часы.
- В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
- В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Что нового в Zabbix 5
Подробно с новыми возможностями версии Zabbix 5.0 можно ознакомиться в официальном документе — What’s New in Zabbix 5.0 LTS. Я перескажу его своими словами и дополню комментариями.
Итак, что же мы получили в новой версии 5.0.
Список основных нововведений
SAML (security assertion markup language) — язык разметки декларации безопасности. Это открытый стандарт обмена данными аутентификации и авторизации. С его помощью проще и надежнее управлять доступом пользователей к ресурсам системы. Так же поддержка saml упрощает интеграцию с облачными провайдерами идентификации — Microsoft ADFS, OpenAM, SecurAuth, Okta, Auth0 и т.д.
Как я понял, это наиболее актуально для облачных установок и интеграций с остальными сервисами.
Улучшенная безопасность и надежность
Zabbix 5.0 предлагает следующие улучшения в плане безопасности и надежности:
- Поддержка HTTP Proxy для веб-хуков, позволяющая настраивать соединения Zabbix Server с внешними системами более безопасно и управляемо.
- Поддержка на агенте черных и белых списков.
- Теперь можно настраивать шифры (ciphers) на всех компонентах, выбирая наиболее надежные.
- Поддержка зашифрованных соединений с MySQL и PostgreSQL.
- Использования алгоритма хэширования SHA256 для пользовательских паролей.
- Поддержка в пользовательских макросах скрытых от посторонних паролей или токенов.
Масштабируемость и производительность
В Zabbix 5.0 появилась поддержка сжатия данных для TimescaleDB. Вкупе с нововведением прошлой версии, когда только появилась поддержка TimescaleDB, это дополнение помогает еще больше экономить на хранении данных.
Веб интерфейс заббикса так же претерпел изменения, для более эффективной поддержки списков из миллионов устройств. Я пока еще не понял, о каких изменениях идет речь. Надо будет посмотреть на практике.
Новый Zabbix Agent
Новый агент получил полную официальную поддержку. Как я понял, он вышел из статуса беты и использования на свой страх и риск. Теперь он стабилен и им можно смело пользоваться (но это пока не точно :)). Основыные характеристики нового агента:
- Написан на Golang.
- Может расширять функционал с помощью плагинов. Как по мне, вот это очень круто. Теперь можно ожидать хороших плагинов, расширяющих базовый функционал.
- Умеет хранить состояние между проверками. Например, не сбрасывать подключение между проверками БД, чтобы не плодить их.
- Поддержка трапов.
- Встроенный планировщик.
- Эффективное использование сети за счет объединения и массовой передачи данных.
- Поддержка хранения собранных метрик.
- Способность заменить существующие агенты в Linux и Windows. Старые агенты пока тоже поддерживаются.
Я еще не тестировал новый агент, но сейчас явно пришло время это сделать.
Простота и удобство
В этом плане в 5.0 реализовано следующее:
- Улучшенное отображение почтовых уведомлений одного и того же события.
- Дополнительные возможности обработки JSON. В частности, новая операция replace и новый оператор для JSONPath.
- Возможность отменить acknowledge для события.
- Поддержка шаблонов сообщений для способов оповещений с прямой отправкой. Тут я не очень понял, о чем речь. Наверное имеется в виду то, что для каждого способа отправки шаблон можно настроить отдельно. В 5-й версии эти настройки переехали из Действий в Способы оповещений.
- Утилита с CLI для тестирования предобработки на основе JavaScript и webhooks.
- Возможность проверить существующий или новый итем через web интерфейс. Не понял, в чем конкретно нововведение, так как этот функционал там уже есть. Но работает он не всегда удачно. Возможно, он просто немного изменился и будет работать лучше.
- Поддержка массового обновления пользовательских макросов.
- Настройки SNMP переместились в интерфейс хоста для более удобного управления и использования в шаблонах. Не заметил этого, либо не понял, о чем идет речь.
- Проверки с помощью nodata() теперь учитывают состояние прокси.
В плане гибкости настроек в Zabbix 5.0 появилось следующее:
- Триггеры поддерживают операции с текстовыми данными. Вот это очень полезно и функционально. Можно, к примеру, содержимое текстовых файлов анализировать прямо в триггере.
- Поддержка макросов хоста для прототипов хоста.
- Появился новый тип данных Float64.
- Поддержка переопределения для LLD позволит создавать более продвинутые шаблоны.
Автоматизация и обнаружение
Автоматизация является неотъемлемой частью системы мониторинга. Поэтому Zabbix 5.0 добавляет поддержку следующих изменений:
- Обнаружение счетчиков производительности Windows.
- Обнаружение счетчиков JMX.
- Улучшенный мониторинг ODBC с возможностью индивидуальной настройки всех параметров для каждой метрики.
Представление данных в удобочитаемом виде имеет большое значение. Zabbix 5.0 улучшает визуализацию, добавляя:
- Новый web интерфейс, оптимизированный под широкоформатные экраны. Интерфейс поменялся существенно. Сразу и не узнаешь zabbix, пока не посмотришь на графики в хостах 🙂 Увы, они все те же 🙁
- Поддержка фильтрации на основе тэгов событий для некоторых виджетов.
- Возможность сохранения графиков с dashboard в виде картинок.
- Поддержка модулей Web интерфейса для расширения функционала.
- Возможность копировать виджеты во время настройки дашбордов. Вот этого мне очень не хватало во время создания больших дашбордов. Каждый раз приходилось вручную выставлять все параметры.
- Улучшенные подписи на картах.
Встроенная интеграция с системами ITSM
ITSM (IT Service Management) — управление ИТ-услугами. Zabbix 5.0 представляет набор готовых интеграций со стандартными облачными и локальными системами ITSM:
- Servicenow
- Jira
- OTRS
- Redmine
- Zendesk
- Zammad
Разработано руководство, определяющее стандарты для webhooks. Они призваны упростить интеграцию Zabbix с внешними системами.
Встроенные интеграции с системами оповещений
Zabbix 5.0 представляет новый набор готовых интеграций со стандартными системами предупреждений (alerting) и оповещений (notification):
- Telegram (наконец-то 🙂
- Slack
- Mattermost
- Msteams
- Victorops
- PagerDuty
- OpsGenie
Новые шаблоны и плагины
Многие существующие шаблоны обновлены. Так же добавлены новые шаблоны и плагины для мониторинга различных сервисов, приложений и устройств. Большинство шаблонов теперь используют дополнительные возможности для автоматического обнаружения различных ресурсов.
Теперь в Zabbix есть готовые шаблоны для:
- Mysql
- Nginx
- Redis
- Postgresql
- Haproxy
- Memcached
- Elasticsearch
- ClickHouse
И вообще, много существенных изменений в шаблонах. Если взять предыдущую версию 4.0, то по сравнению с ней, шаблоны просто не узнать. Надо заново в них разбираться. Это, конечно, большой плюс. Более широкий функционал доступен из коробки и не требует ручного допиливания, как было раньше. Но с другой стороны, в шаблонах стало труднее разбираться. Они реально стали сложными с кучей макросов и автообнаружений. Лично я еще нормально в них разберусь, так как давно zabbix знаю. А вот с нуля будет трудно вникать в суть.
Ну и в завершении обзора нововведений Zabbix 5.0 список менее значительных изменений:
- Наконец-то увеличен размер поля в базе данных для текста acknowledge. Теперь он может быть длиной 4096 символов, вместо прежних 256.
- Добавлена поддержка libssh.
- Latest data отображает данные, даже если в фильтре ничего не указано. Любопытно будет посмотреть, что именно отображать будет.
- Увеличен размер ключа для item с 255 до 2048 символов.
И прочие изменения, устал перечислять. Переходим теперь к делу. Давайте установим Zabbix 5.0 к себе на сервер под управлением различных операционных систем.
- карты сети — Local Network
- комплексного экрана Zabbix server
- панелей Global view и Zabbix server health
Здесь же можете протестировать выбранный способ отправки.
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хотя бы один хост к мониторингу.
Я обычно изменяю стандартный шаблон уведомлений заббикса. Настраивался он раньше в свойствах действий, а теперь этот функционал переехал в настройки способов оповещений, где мы настраивали отправку по email. Возвращаемся туда же и правим шаблон.
Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. Некоторые шаблоны в триггерах указывают имя хоста в названии триггера, но есть и такие, где нет этой информации. Из-за этого в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста, далее статус, а потом имя триггера.
На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. В этот раз в Zabbix 5 я хотел поступить так же, но не пришлось этого делать.
- В Веб интерфейсе меняю Макс. количество элементов отображаемое в ячейке таблицы с 50 на 100.
- Выставляю актуальные рабочие часы в разделе Рабочее время.
- В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
- Потом иду в раздел Прочее и меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Установим теперь хотя бы один агент мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:
# apt install zabbix-agent
Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на удаленную машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:
# mcedit /etc/zabbix/zabbix_agentd.conf
Server=10.1.4.81
ServerActive=10.1.4.81
Hostname=web-server # имя вашего узла мониторинга, которое будет указано на сервере zabbix
Запускаем агент и добавляем в автозагрузку:
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
Проверяем лог файл.

Можно подождать, либо вручную перезапустить агент, чтобы сразу проверить изменения:
# systemctl restart zabbix-agent

Видно, что данные уже начали поступать.
Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:
# systemctl stop zabbix-agent
Ждем минимум 5 минут. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. После этого проверяем Dashboard, виджет Problems.


После возобновления работы агента на debian, вы еще раз получите уведомление о том, что он теперь доступен.
Установка Zabbix Agent в Linux
В CentOS для добавления репозитория и установки агента zabbix используется команды:
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm# dnf clean all# dnf install zabbix-agent
Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.
После этого запустите сервис агента:
# service zabbix-agent start
Убедитесь, что агент успешно запустился.
# cat /var/log/zabbix/zabbix_agentd.log

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


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

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

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

Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:
- zabbix_agentd.exe
- zabbix_get.exe
- zabbix_sender.exe
- zabbix_agentd.conf
Открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на операционную систему Windows:

= код для копирования =
c:/zabbix/zabbix_agentd.exe —config c:/zabbix/zabbix_agentd.conf —install
Открываем файл zabbix_agentd.win.conf любым текстовым редактором (можно WordPAD) и изменяем следующие параметры:
с:/zabbix/zabbix_agenttd.conf
= необходимые параметры c пояснениями =
# IP адрес сервера Zabbix
# IP сервера Zabbix на который активный агент будет отправлять данные
# имя узла мониторинга, которое указано на сервере zabbix
Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Находясь в настройках Брендмауэра идем по пути:
Дополнительные параметры — Правило для входящих подключений — Создать правило.
- Тип правила: Для порта;
- Действие: Разрешить подключение;
- Профиль (ставим галочки): Доменный, Частный, Публичный;
В случае использования активного агента идем по пути (даже если не используется лучше открыть):
Дополнительные параметры — Правило для исходящих подключений — Создать правило.
Ищем службу с именем Zabbix agent в оснастке со службами запускаем ее.

Если все прошло успешно то в логе c:zabbixzabbix_agentd.log вы увидите примерно такую информацию:
В вариантах агента есть возможность выбрать автоматический установщик, но мне больше нравится настраивать руками.
Из чего состоит Zabbix и что он может?
Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.
Инсталляция Zabbix сервера состоит из:
- бинарника zabbix_server (обычно работает как сервис);
- MySQL (MariaDB)/PostgreSQL базы данных;
- Веб сервера Apache2/Nginx с обработчиком PHP;
- Файлов самого frontend сайта (.php, .js, .css и т.д.).
Обычно схема работы выглядит так:
- Агент Zabbix посылает данные на сервер
- Сервер Zabbix получает и обрабатывает данные.
- Если полученные данные подпадают под заданные условия, то срабатывает триггер;
- Активный триггер сигнализирует о проблеме. Отображается уведомление на фронтенде (сайте), и в зависимости от конфигурации рассылается сообщение по почте и выполняется какие-либо действия (например, перезапуск службы, которая мониторится).
Zabbix может работать со всеми известными протоколами, а благодаря системе внешних скриптов, Zabbix может выполнять и получать данные из любых исполняемых скриптов/бинарников.
Возможные ошибки в работе
Буду описывать тут все ошибки которые буду считать общими для разных систем.
Периодические ошибки по сбору параметров
На сервере вы можете видеть периодические ошибки по сбору некоторых параметров. Например, кратковременные сообщения о недоступности агента и тому подобные ошибки. Особенно актуальна проблема если на агенте используется сложный механизм получения необходимых данных.
Timeout — параметр который отвечает за ожидание как на получение так и на отправку данных. По умолчанию выставлено значение в 3 секунды.
Не работает zabbix_get
zabbix_get -s 127.0.0.1 -k pve-t.core1
= вывод команды =
-bash: zabbix_get: command not found
Ошибку показанную выше вы можете увидеть при попытке получить данные по любому параметру.
В новых версиях Zabbix утилита для опроса агентов вынесена в отдельный пакет zabbix-get и устанавливать её надо согласно командам применяемым в используемом дистрибутиве.
Debian 8-10
apt install CentOS 7
yum install
Следующую ошибку можно получить когда вы запрашивайте параметр на самом агенте.
Необходимо в файл настройки агента в параметр Server добавить через запятую ip адреса компьютеров с которых отправляется запрос. Например, Server=127.0.0.1,192.168.11.19.
Теперь выполнив нужную команду вы увидите правильный ответ.
zabbix_get -s 127.0.0.1 -k pve-t.core1
= вывод команды =
65
Установка Zabbix Agent на Linux
Для любого дистрибутива необходимо сделать стандартные действия:
- подключить репозиторий;
- установить агент;
- настроить параметры подключения;
- добавить в автозагрузку и запустить;
- проверить правильность работы.
При установке агента на самом сервере Zabbix никаких действий с настройкой не требуется, так как узел по умолчанию имеется на сервере.
Особое вниманию заостряю на порты работы агента Zabbix. На агенте должен быть открыт порт 10050 так как именно по нему Zabbix сервер будет пытаться получить данные с агента. В случае использования активного агента (агент сам отправляет данные на сервер Zabbix) должно быть разрешено исходящее подключения по порту 10051.
В случае отсутствия нужного дистрибутива переходим на закладку Для установки агентов и скачиваем агент для необходимого нам дистрибутива.
Почти во всех дистрибутивах вы найдете пакет Zabbix агента и воспользовавшись имеющейся документацией от разработчика дистрибутива вы сможете найти ответ как устанавливается агент или сервер в нужной системе.
Zabbix agent для CentOS 7
После выбора необходимой операционной системы вы увидите страницу на которой указаны все необходимые команды которые необходимо выполнить в консоли.

Подключаем репозиторий версии Zabbix 4.2 выполнив необходимую команду:
Очистим и пересоздадим кэш yum:
yum clean all
yum makecache
Произведем установку введя в консоли следующую команду:
yum install zabbix-agent
В случае использования FirewallD необходимо выполнить команды которые открою порт 10050:
firewall-cmd —permanent —zone=public —add-service=zabbix-agent
= применить изменения =
firewall-cmd —reload
В файле конфигурации агента /etc/zabbix/zabbix_agentd.conf необходимо указать параметры для подключения к серверу Zabbix:
vim /etc/zabbix/zabbix_agentd.conf
= необходимые параметры c пояснениями =
# IP адрес сервера Zabbix
# IP сервера Zabbix на который активный агент будет отправлять данные
# имя узла мониторинга, которое указано на сервере zabbix
При использовании Zabbix proxy необходимо указывать его IP адрес.
systemctl start zabbix-agent
systemctl enable zabbix-agent
Проверяем лог файл агента для CentOS 7 следующей командой:
Согласно выводу всё в порядке.
Zabbix agent для Debian
В примере описан вариант установки и настройки Zabbix agent для операционной системы Debian 10 Buster.
Подключаем репозиторий версии Zabbix 4.2 выполнив необходимые команды:
wget https://repo.zabbix.com/zabbix/4.2/debian/pool/main/z/zabbix-release/zabbix-release_4.2-1+buster_all.deb
dpkg -i zabbix-release_4.2-1+buster_all.deb
Обновляем список пакетов:
Произведем установку выполнив в консоли следующую команду:
В случае использования системы firewall открываем 10050 порт. 10051 порт должен быть открыт на исходящие соединения.
vim /etc/zabbix/zabbix_agentd.conf
= необходимые параметры c пояснениями =
Server=192.168.0.109 # IP адрес сервера Zabbix
ServerActive=192.168.0.109 # IP сервера Zabbix на который активный агент будет отправлять данные
Hostname=test # имя узла мониторинга, которое указано на сервере zabbix
Добавляем в автозагрузку и производим перезапуск агента:
systemctl enable zabbix-agent
systemctl restart zabbix-agent
Проверяем лог файл агента следующей командой:
Настройка Zabbix сервера после установки
Со временем вы сами поймете как вам лучше и удобней настроить свою систему мониторинга.
Не рекомендую тупо использовать мои варианты и настоятельно советую оставить стандартные настройки по умолчанию! Все меняется, и то что я меняю сейчас в следующих версиях может уже быть или реализовано другим способом.
Настройка главного пользователя
В открывшейся форме меняем необходимые параметры.
При выборе другого языка при повторной авторизации он будет задействован.

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

Обязательно проверяйте права! В случае добавления нового главного администратора это сделайте обязательно.

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

Настройка e-mail оповещений
Просто добавить пользователю способ оповещения не достаточно. Необходимо сделать еще несколько настроек.
Для отправки сообщений на почту необходимо вначале активировать необходимый способ оповещения. В примере указаны настройки для почты работающей на yandex.


После выполненных настроек обязательно выполните проверочный тест.

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

Мне удобней в получаемом письме видеть вначале название узла мониторинга, статус и название проблемы. Для применения моих предпочтений изменяю параметр в поле «Тема по умолчанию» для «Операции» и «Операции восстановления»
Вот шаблон для копирования:

Настройка Zabbix шаблонов
В следующих статьях обязательно расскажу как создавать свои шаблоны или экспортировать стороние. Сейчас моя задача сделать понятным для вас как работать с шаблонами и из чего они состоят.
На примере шаблона Template OS Linux расскажу из чего он состоит.

Все шаблоны имеют одинаковую структуру и содержат:
- Группы элементов данных — все элементы данных сгруппированы по типу событий. Например, все что связано с процессором находится в одной группе и тд. и тп.;
- Элементы данных — сами параметры подвергающиеся мониторингу;
- Триггеры — правила по которым срабатывает оповещение о произошедшем событии с контролируемым значениями;
- Графики — варианты графиков которые могут выводится для данного шаблона;
- Комплексные экраны — это экраны которые могут быть выведены для узлов которые наблюдаются по данному шаблону. Не стоит путать эти экраны с комплексными экранами находящимися в закладке «Мониторинг»;
- Правила обнаружения — это правила которые определяют параметры которые свойственны для каждого узла мониторинга персонально. Например, дисковые системы и сетевые интерфейсы;
- Веб-сценарии — возможность добавлять сайты и осуществлять их мониторинг.
К каждому шаблону можно присоединить любой другой шаблон. Например, для многих шаблонов присоединен шаблон «Template App Zabbix Agent» который отвечает за параметры мониторинга самого агента.

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

Нажав «Полное клонирование» и введя свое имя вы получите полную копию в которой сможете проводить свои эксперименты.
Для шаблона Windows я отключаю правило обнаружения «Windows service discovery» по причине очень частых срабатываний всяких «очень важных параметров» Windows.

Использование активного агента Zabbix
В сети я не смог найти боле мене полной информации о том как правильно добавлять узлы мониторинга которые не имеют статического IP. Постараюсь закрыть эту брешь в этой статье.
Для добавления узла мониторинга не имеющего статического IP необходимо выполнить 4 условия:
- В параметре «ServerActive» настройки агента указывается IP сервера Zabbix;
- Шаблон который используется для узла должен иметь во всех элементах данных параметр «Zabbix агент (активный)»;
- При настройке узла в параметре «Интерфейсы агента» указывается IP адрес 0.0.0.0 (говорит что принимать данные нужно с любого адреса), подключение через IP и указывается порт 10051.
По умолчанию почти во всех шаблонах параметр сбора стоит «»Zabbix агент». Менять эти параметры в стандартных шаблонах не целесообразно.
Например, для мониторинга узла без статического IP работающего на операционной системе Linux необходимо взять шаблон «Template OS Linux» и произвести его полное клонирование. Название шаблона сделайте понятным для понимания что в шаблоне используется параметр активного агента.
Как в новом шаблоне сделать параметр «Zabbix агент (активный)» во всех параметрах вы разберетесь сами. Обязательно создайте полную копию шаблона «Template App Zabbix Agent» с аналогичным изменением параметра агента. Главное не забудьте поменять его в присоединенных шаблонах вашего нового шаблона.
Больше никаких различий в дальнейшей работе я не заметил. Единственное что бросается в глаза это отсутствие цветовой зеленой метки на цветовой индикации состояния агента.

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

Описывать как создавать карты сети их настраивать нет смысла, так как всё там до безобразия просто.
Параметр «Комплексные экраны узла сети» выведет именно комплексные экраны которые настраиваются в шаблоне!

Комплексные экраны которые которые находятся в закладках Мониторинг — Комплексные экраны вы можете настроить на основании реально получаемых данных с разных узлов сети.
Установка сервера Zabbix 4. 0 в Ubuntu, Debian
С установкой Zabbix на сервер с Ubuntu или Debian попроще, так как в стандартных репозиториях посвежее версии софта, можно использовать их. Подключаем репозитории zabbix 4.0.
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb
# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+stretch_all.deb
# dpkg -i zabbix-release_4.0-3+stretch_all.deb
# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-3+buster_all.deb
# dpkg -i zabbix-release_4.0-3+buster_all.deb
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/4.0/ Дальнейшая установка не будет отличаться от текущей.
Обновляем информацию о репозиториях, а заодно и последние обновления поставим:
# apt update && apt upgrade
Устанавливаем zabbix сервер:
# apt install zabbix-server-mysql zabbix-frontend-php
Он по-умолчанию ставится с apache, который сразу же запускается. Остановим его и отключим:
# systemctl stop apache2
# systemctl disable apache2
Ставим отдельно nginx и php-fpm:
# apt install nginx php-fpm
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.
# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_file_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
Перезапустите mariadb и убедитесь, что она запустилась.
Cоздадим базу данных, пользователя zabbix, и заполним базу.
Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.
# mcedit /etc/zabbix/zabbix_server.conf
Изменяем указанные строки, остальные не трогаем:
Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется, для получения метрики. Поставьте секунд 10.
Запускаем zabbix и добавляем в автозагрузку.
# systemctl start zabbix-server
# systemctl enable zabbix-server
Проверяем запустился ли.
Все в порядке. Запускаем nginx, который у нас будет выступать в качестве web сервера.
# systemctl start nginx
# systemctl enable nginx
Убедимся, что в качестве web сервера работает nginx.
Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/sites-available/default.conf. Приводим его к следующему виду:
# mcedit /etc/nginx/sites-available/default.conf
Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# nginx -s reload
С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.
Подготовка сервера к установке
Начинаем традиционно с подготовки рабочего окружения. Первым делом нам необходимо установить и настроить сервер Debian 9. Дальше нам нужно настроить web сервер для работы интерфейса управления. В этой статье я буду делать стандартную установку Zabbix на традиционный веб сервер apache + php. Если вы хотите, чтобы ваш заббикс работал на веб сервере nginx + php-fpm, читайте отдельный материал по установке zabbix на nginx и php-fpm.
Начнем с обновления системы:
Работа будет проходить на следующей версии Debian:

Теперь установим mysql server — mariadb. Он необходим для хранения всей информации, которую использует zabbix.
На всякий случай упомяну для тех, кто не знает, что такое mariadb и почему мы ставим ее, а не mysql. Mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Есть информация, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. Разработчики CentOS начиная с версии 7 и Debian, начиная с 9-й предлагают ее как сервер баз данных по-умолчанию.
# apt install mysql-server mysql-client
Запускаем mariadb и добавляем ее в автозагрузку:
# systemctl start mariadb
# systemctl enable mariadb.service
Запускаем скрипт первоначальной настройки mysql:
Все подготовительные работы выполнены, двигаемся дальше.
В версии 3.4 (появилась с версии 3.0) есть настройка уведомлений с авторизацией по smtp. Раньше для реализации такой очевидной и необходимой функции приходилось пользоваться сторонними программами и скриптами. Я писал отдельно об этом — отправка email уведомлений с авторизацией smtp. Теперь все это в прошлом. Настроим отправку уведомлений через web интерфейс.

Указываем следующие настройки для отправки почты через gmail.


Идем в закладку Media и жмем .

Указываем почтовый ящик получателя уведомлений.


Установка zabbix агент на Windows и настройка мониторинга
Теперь для полноты картины добавим к серверу один агент, установленный на windows машину и настроим ее мониторинг. Для этого идем на страницу загрузок http://www.zabbix.com/download.php и скачиваем самый последний агент для Windows. Все агенты находятся в разделе Zabbix pre-compiled agents. Прямая ссылка на последнюю версию на момент написания статьи — zabbix_agents_3.4.0.win.zip
Распаковываем архив. Создаем на диске С: папку zabbix и копируем туда следующие файлы:
- zabbix_agentd.exe
- zabbix_get.exe
- zabbix_sender.exe
- zabbix_agentd.win.conf
Исполняемые файлы берите той разрядности, какая у вас в системе. В исходном архиве есть как x32 так и x64. Дальше открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на windows:
c:/zabbix/zabbix_agentd.exe —config c:/zabbix/zabbix_agentd.win.conf —install

Открываем файл zabbix_agentd.win.conf любым текстовым редактором и изменяем следующие параметры:
Теперь открываем оснастку со службами, ищем службу с именем Zabbix agent и запускаем ее.

Не забываем создать разрешающее правило в «Брандмауэре Windows». Брандмауэр Защитника Windows – Дополнительные параметры – Правило для входящих подключений – Создать правило.

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

Потом переходим на вкладку Templates и нажимаем Select. Выбираем шаблон Template OS Windows и жмем маленькую ссылку , затем большую.

Новый host мониторинга добавлен, осталось подождать несколько минут свежих данных. Проверить их можно там, где и раньше, в Latest data, выбрав новый хост.

На этом установка и настройка мониторинга windows с помощью zabbix agent закончена. Можно добавлять новые компьютеры с разными версиями windows. Одна и та же версия агента подходит для всех, и десктопных, и серверных систем.
Настройка шифрованного подключения
В конфигурацию zabbix_agent.conf добавляем следующие параметры.
В свойствах хоста на zabbix server в отдельной вкладке Шифрование, настраиваем PSK ключ.
Обращаю внимание на частую ошибку, с которой регулярно сталкиваюсь, а а потом долго не могу понять, в чем проблема шифрованного соединения. Почему ничего не работает. Иногда я забываю установить PSK в строке Подключения к узлу сети, так как машинально сразу ставлю галочку PSK в Соединения с узла сети. Обязательно должно быть указано PSK и там, и там.
Если все сделали правильно, то в информации о хосте на сервере мониторинга будет пометка о том, что соединение с агентом зашифровано.

Видео
https://youtube.com/watch?v=ZrPloyMAJOk%3Ffeature%3Doembed

