Home » Zabbix » Установка и настройка Zabbix 5.0

Установка и настройка Zabbix 5.0

12 мая 2020 года вышел очередной LTS релиз популярной open source системы мониторинга. Я подробно расскажу об установке и начальной настройке Zabbix 5.0 на примере систем CentOS, Debian, Ubuntu со скриншотами и пояснениями. Как обычно, нас ждет много полезных нововведений и улучшений, в том числе полностью новый агент.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

С системой мониторинга Zabbix я знаком очень давно. Начинал использовать с версии 2.0 или 2.2, точно не помню. По моему мнению, на сегодняшний день это один из самых качественных open source проектов. Чтобы не быть голословным, перечислю его положительные стороны:

  1. Полнофункциональная бесплатная версия. Нет никаких ограничений. Платной версии просто не существует.
  2. Хорошая подробная документация на нескольких языках. Я очень часто её использую.
  3. Успешная финансовая модель, которая позволяет компании Zabbix стабильно развиваться и развивать продукт на протяжении многих лет.
  4. Организована система обучения и сертификации.
  5. Постоянно проводятся вебинары, конференции, выступления и т.д. То есть продукт живой и востребованный.
  6. Идет в ногу со временем. Новый функционал чаще всего удовлетворяет возникающие новые потребности.

Перечислил то, что замечаю и ценю лично я. Если у вас есть свое мнение на этот счет, с удовольствием с ним познакомлюсь. Среди систем мониторинга, как мне кажется, Zabbix самый качественный и популярный продукт. Причем, это именно полноценная система мониторинга со своей визуализацией, триггерами, оповещениями, авторизацией и т.д. К примеру, если взять Prometheus, то это только метрики.

Отличительной особенностью Zabbix является универсальность. Это система мониторинга общего назначения. Она не специализируется на чем-то одном — железо, сеть, микросервисы. Какие то узкие задачи она решает не так успешно, как специализированный софт. Но заббикс отличает именно возможность все объединить в себе, в единую систему. За это я его как раз и люблю.

Так или иначе Zabbix используют практически все крупные организации. Я смотрю выступления представителей различных ИТ компаний. Частенько там вижу хотя бы скольз упоминание о заббиксе или графики из него. Вот те компании, упоминание zabbix в которых я отметил — Сбертех, Магнит, 1С, Крок, Яндекс.Деньги.

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

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

Что нового в Zabbix 5.0

Подробно с новыми возможностями версии Zabbix 5.0 можно ознакомиться в официальном документе — What’s New in Zabbix 5.0 LTS. Я перескажу его своими словами и дополню комментариями.

Итак, что же мы получили в новой версии 5.0.

Список основных нововведений

Использование SAML для аутентификации

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, пока не посмотришь на графики в хостах :) Увы, они все те же :(
  • Новое отображение Monitoring->Hosts для просмотра списка устройств с дополнительными параметрами фильтрации.
  • Поддержка фильтрации на основе тэгов событий для некоторых виджетов.
  • Возможность сохранения графиков с 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 к себе на сервер под управлением различных операционных систем.

Установка Zabbix 5 на Centos

Установка 5-й версии Zabbix стала еще проще, чем предыдущие. Я буду использовать web сервер nginx и базу данных Mysql. Первым делом вам необходимо установить и настроить сервер CentOS 8.

Затем нам нужно установить Mysql server. Я в этом качестве предпочитаю Percona Mysql Server, поэтому ставить буду его. Выбираю Percona в данном случае для того, чтобы потом можно было использовать их инструмент для бэкапа базы — XtraBackup.

Подключаем репозиторий Percona и ставим mysql сервер.

# dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# dnf module disable mysql
# percona-release setup ps80
# dnf install percona-server-server percona-toolkit percona-xtrabackup-80
# systemctl enable --now mysqld

Смотрим временный пароль root и с его помощью запускаем скрипт первоначальной настройки mysql.

# grep "temporary password" /var/log/mysqld.log
2020-05-13T16:42:14.161012Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: w2osim:.dgqD
# mysql_secure_installation

Задаем пароль root, соблюдая сложность пароля — не менее 8-ми символов, маленькие и заглавные буквы, цифры, спецсимволы. После того, как сделаем это, приступаем к установке непосредственно Zabbix.

Подключаем репозиторий Zabbix 5 для Centos 8.

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm

Устанавливаем Zabbix Server 5, web интерфейс и agent.

# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent

Создадим теперь пользователя и базу данных mysql для zabbix.

# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '1qaz@WSX';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> exit

Импортируем структуру базы данных для Zabbix 5 из файла. Пароль используем 1qaz@WSX, который указали ранее.

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:

Сразу хочу сделать важное замечание по поводу percona mysql server. При подключенных обоих репозиториях — заббикс и перкона, при обновлении системы через dnf update, вы получите ошибку.

 Problem: package zabbix-server-mysql-5.0.0-1.el8.x86_64 requires libmysqlclient.so.21(libmysqlclient_21.0)(64bit), but none of the providers can be installed
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.17-8.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.15-5.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.15-6.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.16-7.1.el8.x86_64
  - cannot install the best update candidate for package zabbix-server-mysql-5.0.0-1.el8.x86_64
  - cannot install the best update candidate for package percona-server-shared-8.0.17-8.1.el8.x86_64
  - package mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 is excluded
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Суть ее в том, что в зависимостях пакета zabbix-server-mysql стоит библиотека libmysqlclient.so.21, которая ставится с пакетом percona-server-shared. В репозитории перконы лежит более свежая версия этой библиотеки, чем хочет заббикс. В итоге он откатывает пакет на более старую версию и не дает его обновить. Проблем это не вызывает, просто нужно понимать этот нюанс и обновлять систему с ключом nobest. Он позволяет пропускать эту ошибку.

# dnf update --nobest
Last metadata expiration check: 0:00:51 ago on Thu 14 May 2020 11:59:50 AM MSK.
Dependencies resolved.

 Problem: package zabbix-server-mysql-5.0.0-1.el8.x86_64 requires libmysqlclient.so.21(libmysqlclient_21.0)(64bit), but none of the providers can be installed
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.17-8.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.15-5.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.15-6.1.el8.x86_64
  - cannot install both percona-server-shared-8.0.19-10.1.el8.x86_64 and percona-server-shared-8.0.16-7.1.el8.x86_64
  - cannot install the best update candidate for package zabbix-server-mysql-5.0.0-1.el8.x86_64
  - cannot install the best update candidate for package percona-server-shared-8.0.17-8.1.el8.x86_64
  - package mysql-libs-8.0.17-3.module_el8.0.0+181+899d6349.x86_64 is excluded
============================================================================================================================================================
 Package                                   Architecture               Version                                Repository                                Size
============================================================================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 percona-server-shared                     x86_64                     8.0.15-5.1.el8                         ps-80-release-x86_64                     912 k
 percona-server-shared                     x86_64                     8.0.15-6.1.el8                         ps-80-release-x86_64                     912 k
 percona-server-shared                     x86_64                     8.0.16-7.1.el8                         ps-80-release-x86_64                     1.2 M
 percona-server-shared                     x86_64                     8.0.19-10.1.el8                        ps-80-release-x86_64                     1.4 M

Transaction Summary
============================================================================================================================================================
Skip  4 Packages

Nothing to do.
Complete!

Идем далее. Открываем конфиг сервера заббикс — /etc/zabbix/zabbix_server.conf и указываем там параметры подключения к mysql. Там же рекомендую сразу изменить параметр таймаута, увеличив его до 20-ти секунд.

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=1qaz@WSX
Timeout=20

Теперь можно запустить Zabbix Server 5.

# systemctl enable --now zabbix-server

Если вы не отключили SELinux в предварительной настройке Centos, то получите ошибку запуска. Текст ошибки можно посмотреть в системном логе /var/log/messages.

May 13 19:48:24 centos8 zabbix_server[4069]: zabbix_server [4069]: Cannot initialize IPC services: Cannot access path "/var/run/zabbix": [13] Permission denied.
May 13 19:48:24 centos8 setroubleshoot[4061]: SELinux is preventing /usr/sbin/zabbix_server_mysql from using the dac_override capability. For complete SELinux messages run: sealert -l feffa91e-3ba9-4dfd-a95e-0fc81d5e6bc0
May 13 19:48:24 centos8 platform-python[4061]: SELinux is preventing /usr/sbin/zabbix_server_mysql from using the dac_override capability.#012#012*****  Plugin dac_override (91.4 confidence) suggests   **********************#012#012If you want to help identify if domain needs this access or you have a file with the wrong permissions on your system#012Then turn on full auditing to get path information about the offending file and generate the error again.#012Do#012#012Turn on full auditing#012# auditctl -w /etc/shadow -p w#012Try to recreate AVC. Then execute#012# ausearch -m avc -ts recent#012If you see PATH record check ownership/permissions on file, and fix it,#012otherwise report as a bugzilla.#012#012*****  Plugin catchall (9.59 confidence) suggests   **************************#012#012If you believe that zabbix_server_mysql should have the dac_override capability by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'zabbix_server' --raw | audit2allow -M my-zabbixserver#012# semodule -X 300 -i my-zabbixserver.pp#012

Если вы не планируете использовать SELinux, то просто отключите его и пропустите следующий раздел. Если же хотите использовать, то настраиваем далее.

Настройка SELinux для zabbix server

Для того, чтобы настроить работу zabbix сервера с SELinux, скачаем один готовый модуль и один создадим свой. Начнем с готового.

# cd ~
# curl https://support.zabbix.com/secure/attachment/53320/zabbix_server_add.te > zabbix_server_add.te
# checkmodule -M -m -o zabbix_server_add.mod zabbix_server_add.te
# semodule_package -m zabbix_server_add.mod -o zabbix_server_add.pp
# semodule -i zabbix_server_add.pp

Теперь создаем свой модуль. Для того, чтобы это получилось, мы должно хотя бы один раз неудачно запустить zabbix server с включенным selinux.

# ausearch -c 'zabbix_server' --raw | audit2allow -M my-zabbixserver
# semodule -X 300 -i my-zabbixserver.pp

Запускаем zabbix server еще раз.

# systemctl start zabbix-server

После этих действий zabbix server должен нормально работать с включенным selinux. Убедиться в этом можно проверив лог заббикс сервера — /var/log/zabbix/.

# cat /var/log/zabbix/zabbix_server.log
Установка Zabbix 5 на Centos

Теперь подготовим web сервер. Для этого открываем конфиг nginx /etc/nginx/conf.d/zabbix.conf и устанавливаем там 2 параметра:

listen 80;
server_name example.com;

Вместо example.com укажите свое имя виртуального хоста для zabbix сервера. Если вы хотите подключаться не только по доменному имени, но и по ip адресу к web интерфейсу zabbix, вам необходимо в помимо listen 80, добавить директиву default_server.

listen 80 default_server;
server_name example.com;

Одновременно с этим вы должны удалить эту же директиву в основном конфиге nginx — /etc/nginx/nginx.conf. Вместо:

listen 80 default_server;
listen [::]:80 default_server;

Сделать просто:

listen 80;
listen [::]:80;

И в завершении редактируем конфиг php-fpm — /etc/php-fpm.d/zabbix.conf, указывая свой часовой пояс.

php_value[date.timezone] = Europe/Moscow

Запускаем компоненты web сервера.

# systemctl enable --now nginx php-fpm

Теперь можно пройти в браузере по ip адресу http://10.20.1.23 и откроется первая страница установщика Zabbix Server 5.

Zabbix Installer

Если вы видите ошибку подключения к web серверу, то скорее всего у вас firewall блокирует соединения. В Centos 8 по умолчанию включен firewalld. Если он вам не нужен и вы не хотите его настраивать, то просто отключите.

# systemctl stop firewalld
# systemctl disable firewalld

Не хотите отключать — можно просто открыть необходимые для работы веб сервера порты — 80 и 443, а так же 10051 для самого zabbix server.

# firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-port=10051/tcp
# firewall-cmd --reload

Если же вы, как и я, предпочитаете вместо firewalld использовать iptables, читайте мою подробную статью на эту тему — настройка iptables. В целом, по предварительной подготовке сервера все. Ниже пойдет то же самое для Ubuntu / Debian. А в следующем разделе продолжение установки zabbix server через web интерфейс.

Установка сервера Zabbix 5 в Ubuntu, Debian

Установим сервер мониторинга Zabbix 5 на Ubuntu или Debian. Процесс будет примерно одинаковый, поэтому опишу его в одном общем подразделе. Если у вас еще нет сервера, то воспользуйтесь моими статьями по установке и настройке Debian 10.

Подключаем необходимые репозитории. Debian 10:

# wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
# dpkg -i zabbix-release_5.0-1+buster_all.deb
# apt update

Ubuntu 18:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt update

Ubuntu 20:

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
# dpkg -i zabbix-release_5.0-1+focal_all.deb
# apt update

Устанавливаем Zabbix Server 5 и некоторые его компоненты.

# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent

Задаем пароль root для mysql с помощью скрипта предварительной настройки.

# mysql_secure_installation

Создаем пользователя и базу данных для Zabbix Server 5.

mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by '1qaz@WSX';
> exit

Импортируем схему базы и начальные данные. Пароль вводим тот же самый, что и на предыдущем шаге — 1qaz@WSX.

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

Далее открываем конфиг сервера заббикс — /etc/zabbix/zabbix_server.conf и указываем там параметры подключения к mysql. Сразу же рекомендую изменить параметр таймаута, увеличив его до 20-ти секунд.

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=1qaz@WSX
Timeout=20

Теперь можно запустить Zabbix Server 5.

# systemctl enable --now zabbix-server

Убедиться в том, что сервер нормально запустился, можно проверив лог заббикс сервера — /var/log/zabbix/.

# cat /var/log/zabbix/zabbix_server.log
Установка Zabbix 5 на Debian / Ubuntu

Теперь подготовим web сервер. Для этого открываем конфиг nginx /etc/zabbix/nginx.conf и устанавливаем там 2 параметра:

listen 80;
server_name example.com;

Вместо example.com укажите свое имя виртуального хоста для zabbix сервера. Если вы хотите подключаться не только по доменному имени, но и по ip адресу к web интерфейсу zabbix, вам необходимо в помимо listen 80, добавить директиву default_server.

listen 80 default_server;
server_name example.com;

Одновременно с этим вы должны удалить эту же директиву в основном конфиге nginx — /etc/nginx/sites-available/default. Вместо:

listen 80 default_server;
listen [::]:80 default_server;

Сделать просто:

listen 80;
listen [::]:80;

И в завершении редактируем конфиг php-fpm — /etc/zabbix/php-fpm.conf, указывая свой часовой пояс.

php_value[date.timezone] = Europe/Moscow

Запускаем компоненты web сервера.

# systemctl restart nginx php7.3-fpm
# systemctl enable nginx php7.3-fpm
Обращаю внимание на то, что версия php может отличаться в зависимости от операционной системы и версии в базовых репозиториях. В общем случае она будет либо php7.3-fpm, либо php7.2-fpm, либо php7.4-fpm.

Теперь можно пройти в браузере по ip адресу http://10.20.1.23 и откроется первая страница установщика Zabbix Server 5.

Zabbix web installer

Если вы видите ошибку подключения к web серверу, то скорее всего у вас firewall блокирует соединения. В зависимости от системы и образа, из которого вы устанавливали ее (у разных хостеров они разные) по умолчанию может быть включен либо iptables, либо ufw. Если они вам не нужны и вы не хотите их настраивать, то просто отключите.

# systemctl stop iptables
# systemctl disable iptables
# ufw disable

Не хотите отключать iptables — можно просто открыть необходимые для работы веб сервера порты — 80 и 443и 10051 для самого заббикс сервера. Как это сделать, читайте мою подробную статью на эту тему — настройка iptables.

В целом, по предварительной подготовке сервера все. Перемещаемся в браузер и продолжаем установку zabbix server 5 через web интерфейс.

Настройка Zabbix Frontend

Итак, продолжаем установку Zabbix 5. На следующей странице установщика вы увидите список требований к веб серверу. У вас должно быть все в статусе ОК, так как подходящая конфигурация установлена вместе с пакетом.

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

Далее указываем параметры подключения к базе Mysql. Пользователя и базу мы создали ранее, теперь просто их указываем.

Настройка подключения к базе данных mysql

На следующем этапе идут Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры. Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.

Установка Zabbix 5 успешно завершена

После нажатия на Finish увидите окно авторизации Zabbix сервера.

Авторизация в zabbix

Стандартная учетная запись для входа в web интерфейс zabbix следующая:

  • Пользователь Admin
  • Пароль zabbix

После логина увидите стандартный dashboard.

Zabbix dashboard

На этом установка бесплатного сервера мониторинга zabbix окончена. Можно приступать к настройке.

Настройка Zabbix Server

Создание учетной записи и смена пароля

Первое, что нужно сделать после установки — сменить стандартные учетные данные для входа. Можно просто поменять пароль пользователя admin, но лучше создать новую учетную запись с правами суперпользователя, а админа удалить. Для этого идем в раздел Administration -> Users и нажимаем Create User.

Добавление пользователя

Заполняем все необходимые поля. Можно выбрать русский язык. Обычно я стараюсь работать в английском, но в случае с заббиксом можно сделать исключение. Он очень качественно локализован и проблем не возникает. Не забудьте зайти во вкладку Permissions и выбрать User type — Zabbix Super Admin.

Теперь можно зайти под новым пользователем, а Admin удалить. Но система не даст его удалить, так как он является владельцем некоторых объектов:

  • карты сети — Local Network
  • комплексного экрана Zabbix server
  • панелей Global view и Zabbix server health

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

Настройка email оповещений

Дальше нужно настроить очень важную часть системы мониторинга — уведомления на email. Без нее система мониторинга не выглядит целостной и полноценной. Zabbix сервер поддерживает отправку почты через сторонние smtp серверы. Настроим один из них. Для этого идем в раздел Администрирование -> Способы оповещений и нажимаем на Email или Email HTML.

Настройка email уведомлений

Покажу на примере настроек ящика в Яндексе.

Настройки email оповещения

Здесь же можете протестировать выбранный способ отправки.

Тестирование настроек почты

Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Администрирование -> Пользователи, выбираем своего пользователя. Идем во вкладку Оповещения и жмем Добавить. Добавляйте свой ящик и нажимайте Обновить.

Адрес для отправки оповещений zabbix
Типы оповещений пользователя

Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Настройка -> Действия и жмем на Деактивировано, чтобы стало Активировано.

Настройка действий на события

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

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

Так же zabbix умеет звонить через asterisk для оповещения о событиях.

Изменение шаблона стандартных оповещений

Я обычно изменяю стандартный шаблон уведомлений заббикса. Настраивался он раньше в свойствах действий, а теперь этот функционал переехал в настройки способов оповещений, где мы настраивали отправку по email. Возвращаемся туда же и правим шаблон.

Изменение шаблона оповещения в zabbix

Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. Некоторые шаблоны в триггерах указывают имя хоста в названии триггера, но есть и такие, где нет этой информации. Из-за этого в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста, далее статус, а потом имя триггера.

Настройка шаблона сообщений в zabbix

Мне мой вид кажется более наглядным. Шаблон меняет на следующий:

{HOST.NAME} - {TRIGGER.STATUS}: {TRIGGER.NAME}

Он одинаковый и для проблемы, и для восстановления.

Изменение стандартных шаблонов мониторинга

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

Удивительно, но некоторых вещей, которые я отключал в 4-й версии, в 5-й уже не стало. Например, убрали триггер Version of zabbix_agent(d) was changed on {HOST.NAME}, который я всегда отключал. И все остальные мои изменения тоже теперь не актуальны. Вот это поработали разработчики. Теперь нужно время, чтобы изучить обновленные шаблоны, чтобы понять, нужно ли их дорабатывать, как прежде.

Общие настройки

В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие я меняю следующие параметры:

  1. В Веб интерфейсе меняю Макс. количество элементов отображаемое в ячейке таблицы с 50 на 100.
  2. Выставляю актуальные рабочие часы в разделе Рабочее время.
  3. В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
  4. Потом иду в раздел Прочее и меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Общие настройки Zabbix Server

Установка Zabbix Agent на Linux

Если вы хотите установить zabbix-agent на сам сервер мониторинга, то ничего делать не надо, кроме самой установки. Для других систем необходимо подключить репозитории заббикса, которые мы использовали во время установки сервера. Можете посмотреть их в соответствующих разделах для своей системы.

Установка zabbix agent в Centos:

# dnf install zabbix-agent

Тоже самое в Ubuntu/Debian:

# apt install zabbix-agent

Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на другую машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:

Server=10.20.1.23
ServerActive=10.20.1.23
Hostname=srv10
Timeout=10

srv10 — имя вашего узла мониторинга, которое будет указано на сервере zabbix. Timeout рекомендую увеличивать для удобства. По умолчанию он всего 3 секунды и в некоторых проверках этого не хватает.

Запускаем агент и добавляем в автозагрузку:

# systemctl enable --now zabbix-agent

Проверяем лог файл /var/log/zabbix/zabbix_agentd.log.

# cat /var/log/zabbix/zabbix_agentd.log

8918:20200514:172338.583 Got signal [signal:15(SIGTERM),sender_pid:9110,sender_uid:989,reason:0]. Exiting …
8918:20200514:172338.584 Zabbix Agent stopped. Zabbix 5.0.0 (revision 9665d62db0).
9116:20200514:172338.595 Starting Zabbix Agent [Zabbix server]. Zabbix 5.0.0 (revision 9665d62db0).
9116:20200514:172338.595 **** Enabled features ****
9116:20200514:172338.595 IPv6 support: YES
9116:20200514:172338.595 TLS support: YES
9116:20200514:172338.595
9116:20200514:172338.595 using configuration file: /etc/zabbix/zabbix_agentd.conf
9116:20200514:172338.595 agent #0 started [main process]
9117:20200514:172338.596 agent #1 started [collector]
9118:20200514:172338.596 agent #2 started [listener #1]
9121:20200514:172338.596 agent #5 started [active checks #1]
9119:20200514:172338.597 agent #3 started [listener #2]
9120:20200514:172338.598 agent #4 started [listener #3]
Установка zabbix Agent на Centos, Debian, Ubuntu

Все в порядке. Идем в веб интерфейс и проверяем поступление данных. Для этого переходим в раздел Мониторинг -> Последние данные. Указываем в разделе Узлы сети Zabbix Server и ждем поступления первых данных. Они должны пойти через 2-3 минуты после запуска агента.

Просмотр метрик в zabbix

Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:

# systemctl stop zabbix-agent

Ждем минимум 3 минуты. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. Раньше, кстати, было 5 минут. После этого проверяем главную панель, виджет Проблемы.

Проверка работы триггера

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

Текст уведомления о событии в zabbix server

Если использовать стандартный шаблон, этой информации не будет.

Установка zabbix агент на Windows

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

Раньше все было сложнее, так как надо было вручную устанавливать службу, распаковав бинарники из архива. Так же потом нужно было руками править конфигурационный файл. Сейчас при дефолтных настройках ничего этого делать не надо.

Для установки Zabbix agent на Windows, идем на страницу загрузок официального сайта. Выбираем там Zabbix Agent и качаем подходящую версию.

Установка Zabbix Agent в Windows

На момент написания статьи еще не было инсталлятора для 5-го агента, но он наверняка появится в ближайшее время. Покажу на примере агента 4.4, который полностью совместим с более свежим сервером. Запускаем msi пакет и доходим до этапа, где надо указать адрес сервера и имя хоста. Делаем это.

Инсталлятор Zabbix Agent

Все остальное оставляем без изменений.

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

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

Чтобы работал мониторинг windows машины, нужно добавить на сервер мониторинга host с таким же Hostname, что мы указали во время установки агента. Для этого идем в web панель, открываем раздел Настройка -> Узлы сети и жмем Создать узел сети.

Добавление хоста мониторинга на сервер

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

Параметры нового хоста

Переходим на вкладку Шаблоны и выбираем там шаблон Template OS Windows by Zabbix agent.

Подключение шаблона мониторинга

Добавляем новый хост на сервер мониторинга. Осталось подождать несколько минут поступления свежих данных. Проверить их можно там, где и раньше, в Последних данных, выбрав новый хост.

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

Настройка шифрованного подключения

Для полноты картины расскажу об еще одном важном моменте. Если данные от zabbix агентов поступают на сервер через интернет. И при этом не используется шифрованный vpn канал, я всегда настраиваю шифрованную передачу данных. Для этого использую наиболее простой вариант шифрования с применением pre-shared ключей.

Покажу на конкретном примере, как настроить подключение zabbix agent к серверу с использованием шифрования на основе pre-shared ключей. В качестве хоста будет выступать обычный linux сервер. Идем в его консоль и формируем 256-битный pre-shared key.

# openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk

В конфигурацию zabbix_agent.conf добавляем следующие параметры.

TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
TLSPSKIdentity=PSK 001

В свойствах хоста на zabbix server в отдельной вкладке Шифрование, настраиваем PSK ключ.

Настройка шифрования в zabbix

Обращаю внимание на частую ошибку, с которой регулярно сталкиваюсь, а а потом долго не могу понять, в чем проблема шифрованного соединения. Почему ничего не работает. Иногда я забываю установить PSK в строке Подключения к узлу сети, так как машинально сразу ставлю галочку PSK в Соединения с узла сети. Обязательно должно быть указано PSK и там, и там.

Если все сделали правильно, то в информации о хосте на сервере мониторинга будет пометка о том, что соединение с агентом зашифровано.

Статус шифрования

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

На этом установка и базовая настройка сервера мониторинга zabbix 5.0 завершена. Советы, замечания, исправления прошу оставлять в комментариях. Материал получился объемный и содержательный. Вполне мог где-то ошибиться.

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

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

Мониторинг в Zabbix:

Остальные материалы на тему мониторинга с помощью Zabbix смотрите в отдельном разделе.

Онлайн курс "Сетевой инженер"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Это авторская программа в сочетании с удалённой практикой на реальном оборудовании и академическим сертификатом Cisco! Студенты получают практические навыки работы на оборудовании при помощи удалённой онлайн-лаборатории, работающей на базе партнёра по обучению — РТУ МИРЭА: маршрутизаторы Cisco 1921, Cisco 2801, Cisco 2811; коммутаторы Cisco 2950, Cisco 2960. Особенности курса:
  • Курс содержит две проектные работы.;
  • Студенты зачисляются в официальную академию Cisco (OTUS, Cisco Academy, ID 400051208) и получают доступ ко всем частям курса «CCNA Routing and Switching»;
  • Студенты могут сдать экзамен и получить вместе с сертификатом OTUS ещё сертификат курса «CCNA Routing and Switching: Scaling Networks»;
Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Помогла статья? Есть возможность отблагодарить автора

Видео

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

51 комментарий

  1. Аватар

    После установки на centos 7 postgres+nginx по инструкции с сайта вендора, nginx показывает welcome page, вместо редиректа на index.php, при установке apache сразу работает. Есть подозрение, что предлагаемых настроек для фронтенда не достаточно, можете дать дельный совет, куда копать?

    Configure PHP for Zabbix frontend

    Edit file /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf, uncomment and set ‘listen’ and ‘server_name’ directives.
    # listen 80;
    # server_name example.com;

    Edit file /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf, add nginx to listen.acl_users directive.
    listen.acl_users = apache,nginx

  2. Аватар
    Андрей

    Привет, всем!
    Вкратце, выполняю чистую установку Zabbix 5.0.1 на сервер RH 7.7, при подключении репозитория
    yum-config-manager —enable rhel-server-rhscl-7-rpms
    пишет, что по-умолчанию все обновы берутся из стандартного репо This system is receiving updates from RHN Classic or Red Hat Satellite, тем самым в списке репозиториев нет rhel-server-rhscl-7-rpms, мне необходимо установить frontend (zabbix-web-mysql-scl), но для этого необходимо поставить rh-php72*, если поставить из remi, то пишет вот такую ошибку (зависимости):
    zabbix-web = 5.0.0-1.el7
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-gd
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-mbstring
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-fpm
    Ошибка: Пакет: zabbix-web-mysql-scl-5.0.0-1.el7.noarch (/zabbix-web-mysql-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-mysqlnd
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-xml
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-ldap
    Ошибка: Пакет: zabbix-web-deps-scl-5.0.0-1.el7.noarch (/zabbix-web-deps-scl-5.0.0-1.el7.noarch)
    Необходимо: rh-php72-php-bcmath

    Так вот каким образом можно подключить репозиторий yum-config-manager —enable rhel-server-rhscl-7-rpms?

  3. Аватар
    Михаил

    Здравствуйте, полезная очень статья, но как факт могу добавить если у вас на centos отключен ipv6, то в файле /etc/nginx/nginx.conf лучше закомментировать строчку listen [::]:80; т.к. с этой строчкой не будет стартовать сама служба nginx, с указанием, того, что не знает что это за директива. Спасибо!

  4. Аватар
    inkvizitooor

    Если selinux не отключить, то при отправке теста почты выходит ошибка
    Connection to Zabbix server «localhost» failed. Possible reasons:
    1. Incorrect server IP/DNS in the «zabbix.conf.php»;
    2. Incorrect DNS server configuration.
    Permission denied

    • Zerox

      После этого надо еще раз собрать модуль для selinux на основе анализа лога и применить. Как-только появляются новые ограничения на что-то, надо обновлять модуль, пока он не соберет в себе все разрешения.

  5. Аватар

    Не могли бы вы сделать статью о то как мониторить на коммутаторах только аплинк порты? заранее спасибо.

    • Zerox

      Это сильно от железок зависит. Лично я вручную не собирал ни один шаблон для мониторинга сетевых устройств. Все время находил готовые в сети. Сидеть самому искать oid и mib очень муторно. А потом еще автообнаружение писать. Сейчас как раз занимаюсь мониторингом сетевых устройств, но все равно на базе готового шаблона от производителя работаю. Не с нуля делаю.

  6. Аватар
    Анатолий

    Решили мы на нашем предприятии внедрить заббикс.
    все вроде срослось (ставил ubuntu + mysql) убунта 20, заббикс 5.0
    Но возникла проблемка на первых же шагах использования. sql съедает память под 100%, в мониторинге было сам сервер заббикс, роутер и мой комп.
    Решил перейти на постгрескл, но столкнулся с неприятностью. Вроде как должен работать, но нет)) Сам сервер запустился, в логах все прекрасно. Но как только захожу на веб интерфейс, он предлагает лишь mysql. Что ему не так, я пока не понял. Самое интересное, коробочный вариант тоже только с mysql. Попробовал отключить ngnix, заходить через appache, но результат тот же. Менял браузеры. Даже влез в /usr/share/zabbix/include* там все php. Но с моей точки зрения он должен дать выбор как минимум из 3 DB… попробую centos+postgresql.

    • Zerox

      А пакет точно поставили для pgsql? Они там разные — zabbix-server-pgsql, либо zabbix-server-mysql. И модуль php еще нужен php7.4-pgsql.

      • Аватар
        Анатолий

        zabbiz-server-pgsql точно ставил (я еще смотрел официальные доки (но они не совсем такие правильные. Там много косяков). А вот про php7.4-pgsql не подумал.
        На centos 8 встало все ровно, при запуске выбора баз снова нет, но по умолчанию подставляет postgresql. Вероятно дело в php. Спасибо за подсказки.
        Кстати если делать все по инструкции, то после создания базы и пользователя на postgre надо поправить файлик pg-hba.conf и поменять аутентификацию с peer на md5. Но если в локальной сети сервер, то еще ничего, а если он наружу смотрит, то после установки заббикса вернуть все назад.

        • Аватар
          Анатолий

          спасибо. php7.4-pgsql установил и сразу все заработало. будем осваивать систему.

  7. Аватар

    Здравствуйте, Владимир! Статья супер! Спасибо Вам за то, что делитесь знаниями!

    Вопрос возник, может Вы скажете как поступить.

    С настройкой всё получилось! Спрятал заббикс за нат, настроил мониторинг нескольких распределенных сетей через прокси, подрубил шифрование, все хорошо. Но, возник вопрос, которого у меня раньше не было. Возможно это было всегда, но меня беспокоит, что файлик {$ZABBIX.SERVER}/setup.php все же остается после конфигурации остается на месте и позволяет в любое время конфигурировать фронт. Как Вы поступаете в таких случаях? Удаляете подобные опасные штуки?

    • Zerox

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

  8. Аватар
    Сергей

    Я не понял как настроить шаблон для snmpv3. Пропал пункт меню «snmpv3 агент» есть просто «snmp агент». Нет полей для ввода логина и паролей. Подскажите пожалуйста

  9. Аватар

    Здравствуйте!
    Скажите, занимаетесь ли Вы установкой и настройкой Zabbix 5.0 для малого бизнеса?
    Мы бы хотели с Вами посотрудничать.

  10. Аватар

    Добрый день, а не могли бы вы опубликовать последовательность установки msi пакета агента посредством GPO.
    Спасибо.

  11. Аватар

    Спасибо за статью.

    А почему не постгрес в кач-ве базы? Там же фишка именно в связке постгрес + timescaledb.

    • Zerox

      Я уже ниже отвечал. Я работаю с малым и средним бизнесом. Там нет больших нагрузок на мониторинг.

  12. Аватар
    Кирилл

    Коллеги, подскажите
    Зачастую, когда сталкиваюсь с настройкой отправки почтовых уведомлений и сейчас, при настройке уже поставленного с нуля цен8 и забб5 сталкиваюсь с проблемой настройки постфикса и не получается отправлять тестовые уведомления с самого заббикса :
    Ошибка при тестировании способа оповещения.
    SSL connect error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number

    Хотя консольно отправка писем с помощью постфикса работает

    Как поправить данную ошибку, кто-то сталкивался ?

    • Zerox

      Ошибка скорее всего из-за версии протокола TLS. Centos 8 не поддерживает старые протоколы, а заббикс, судя по всему, пытается отправить через что-то старое. Подробнее здесь — https://serveradmin.ru/centos-8-tls-v1_0/

  13. Аватар

    Вопрос не совсем про zabbix: почти на всех машинах, где установлен mysql-сервер, zabbix показывает проблему: MySQL: Buffer pool utilization is too low (less 50% for 5m) Подскажите, как подобрать параметры под каждый сервер? ориентируюсь на подсказки mysqltuner, но проблема не проходит.

    • Zerox

      Я не знаю, что показывает этот триггер. Надо смотреть, что конкретно он измеряет. От этого и плясать. Сам обычно тоже по mysqltuner настраиваю.

  14. Аватар

    Спасибо за статью. Решил не тащить старый Zabbix сервер, а переустановить с нуля все. Вопрос по Zabbix Proxy: настроить шифрованное подключение также, как и на агенте?

  15. Аватар
    Sasha Odarchuk

    Всем привет!
    коллеги, а насколько безагентный мониторинг «хуже/беднее» чем агентный?
    Интересует мониторинг Microsoft (Windows Server/Hyper-V/MS SQL/IIS) + Vmware

    • Zerox

      Очевидно, что безагентный будет менее функционален. Другой вопрос, что если безагентного мониторинга достаточно, что нет смысла использовать агенты.

  16. Аватар

    Добрый день!
    застрял на шаге, где создаем базу данных, а именно:
    # zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p
    Enter password:
    ERROR 1046 (3D000) at line 1: No database selected

    Можете помочь, пожалуйста?

    З.Ы Огромное спасибо за статью!

    • Zerox

      Полностью команда выглядит так:

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

      Вы ее не полностью вводите, базу обрезали.

      • Аватар

        Команду вводил такую же как в статье, просто использовал разные вариации) Удалось починить путем пересоздания БД.

  17. Аватар

    Обновил с 4.4 до 5. и получил ошибку:»Database error
    The frontend does not match Zabbix database. Current database version (mandatory/optional): 5000000/5000000. Required mandatory version: 4040000. Contact your system administrator.»

    «[root@zabbix zabbix]# rpm -qa | grep zabbix
    zabbix-agent-5.0.0-1.el8.x86_64
    zabbix-server-mysql-5.0.0-1.el7.x86_64
    zabbix-sender-5.0.0-1.el8.x86_64
    zabbix-release-5.0-1.el8.noarch
    zabbix-web-4.4.8-1.el7.noarch
    zabbix-proxy-mysql-5.0.0-1.el7.x86_64
    zabbix-web-mysql-4.4.8-1.el7.noarch
    »
    Куда копать?

    • Zerox

      Обычно после обновления zabbix при первом запуске новой версии идет обновление базы данных. Если она большая, это длительный процесс. Нужно следать за ним по логу, чтобы убедиться, что он выполнен. Рекомендую почитать логи на предмет этой информации.

      Хотя посмотрел внимательнее, база судя по всему обновилась, а фронтенд нет, так как он хочет базу версии 4.4.

      Ну да, так и есть. У вас же фронт — zabbix-web-4.4.8-1.el7.noarch. Судя по всему обновили вы не все пакеты.

  18. Аватар

    Добрый день!
    В статье вы написали что используете именно этот дистрибутив Mysql из-за бекапов, а почему вообще Mysql а не posgresql?
    Я много у кого интересовался, отвечают что postgresql лучше по производительности и конфе из коробки…
    Спасибо за Ваш труд!

    • Zerox

      У меня нет больших нагрузок, поэтому не принципиально, mysql это или postgresql. Я в основном с небольшими проектами сотрудничаю. Mysql мне просто привычнее и проще в эксплуатации.

  19. Аватар
    Сергей

    Интересно поменяли шаблон в обнаружения сетей в Windows? В версии 4.4.7 создавались элементы с не уникальным именем сети. И часть сетевых просто необнаруживалась, так же были вопросы с какой из сетевой zabbix получает данные, раз у него две с одинаковым именем. Пришлось вернуть обнаружение сети через net.if.discovery.

    • Zerox

      Я практически не использовал промежуточные шаблоны версий 4.2, 4.4. Буду переезжать на новые шаблоны уже на 5-й версии. До этого выборочно смотрел новые, но они сильно поменялись. Повылазили куча ненужных данных и триггеров. Надо внимательно разбираться и отключать лишнее.

  20. Аватар

    Владимир, благодарю за статью! Очень подробно и интересно! Но очень интересует почитать про обновление с 4.4 до 5.0. Может что-то не так обновил, но после обновления новых фич не появилось. Просто новый веб интерфейс. А вот к примеру доп. способы оповещения их почему то нет. Если подскажете, буду очень благодарен!

  21. Аватар
    Алексей

    Владимир, благодарю за статью! Как всегда, выше всех похвал! Тоже очень интересует почитать про обновление с 4.4 до 5.0, т.к. на данный момент информации об этом очень не много.

    • Аватар

      Вам нужна статья? )))))
      1. Делаем снепшот виртуалки
      2. обновляем компоненты yum -y update
      3. Останавливаем сервис systemctl stop zabbix-server
      4. ставим репо rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
      5. Чистим кэш yum clean all && yum makecache
      6. Смотрим установленные пакеты: rpm -qa | grep zabbix
      7. Обновляем нужные yum -y upgrade zabbix-server-mysql zabbix-web zabbix-agent zabbix-get zabbix-sender

      • Аватар

        Еще потом почистить кэш браузера, иначе картинки интерфейса могут не отображаться, у меня так и произошло

      • Zerox

        Технически все просто. А вот как практически склеятся старые настройки с новыми не понятно. Надо тестировать.

      • Аватар
        Александр

        Вообще-то там не все так радужно, советую посмотреть подробнее.
        Во первых в 5.0 шаблоны сильно изменились по сравнению с 4.Х версиями. И когда у вас идет апгрейд с 4.Х версий —>> у вас остаются старые шаблоны (Template). А новые нужно качать с Github`а, и импортировать, и заменять. И основной вопрос в том что в этом процессе, если были кастомные Item`ы, и Trigger`ы —> их прийдется создавать вручную. Так-же может быть потеряны данные прошлых периодов (мы же у старых хостов удаляем шаблоны, и новые подключаем).

        Если вам не важно сохранить историю, и нету кастомных Item`ов и Trigger`ов —> тогда да, можно «раз два и в продакшен». Если же подходить серьезно, и основательно — там не все так просто.

    • Zerox

      Будет скоро, через 2-3 дня, когда сам все проверю.

  22. Аватар
    Кирилл

    Утро доброе! Очень ждал подобную статью, т.к. в целом стал осваивать заббикс и очень нравились нововведения в 4.4, но на проектах (в продакшене) хотелось бы иметь всё же ЛТС версию и наконец релизнули долгожданную 5.0. версию!
    Будет ли статья как обновляться с 4.0\4.4 на новую 5.0. ?
    Спасибо!

    • Аватар

      Кирилл, привет!
      Думаю у него будет статья. А в чем сложность самому обновить с 4.4.8 на 5.0? Инфы на сайты по достаточно по предыдущим апгрейдам

      • Аватар
        Кирилл

        Пумба, здравствуй!
        Пробовал обновиться с 4.4.6 на 5.0 используя статьи с данного сайта и делая аналогичные шаги по обновлению (сверялся с обновлением на 4.2 и на 4.4). По итогу имею отпавшую SQL-базу, исходя из логов — которая не обновилась при скачке новых пакетов заббикса5
        Не исключено, но я некорректно\неправильно обновлял, но пришлось повозиться, чтобы вернуть исходное состояние 4.4. Благо тачка сугубо тестовая и было не жаль потерять половины данных, но в проде так «пакостить» нельзя :)

    • Zerox

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

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.