12 мая 2020 года вышел очередной LTS релиз популярной open source системы мониторинга. Я подробно расскажу об установке и начальной настройке Zabbix 5.0 на примере систем CentOS, Debian, Ubuntu со скриншотами и пояснениями. Как обычно, нас ждет много полезных нововведений и улучшений, в том числе полностью новый агент.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Введение
С системой мониторинга Zabbix я знаком очень давно. Начинал использовать с версии 2.0 или 2.2, точно не помню. По моему мнению, на сегодняшний день это один из самых качественных open source проектов. Чтобы не быть голословным, перечислю его положительные стороны:
- Полнофункциональная бесплатная версия. Нет никаких ограничений. Платной версии просто не существует.
- Хорошая подробная документация на нескольких языках. Я очень часто её использую.
- Успешная финансовая модель, которая позволяет компании Zabbix стабильно развиваться и развивать продукт на протяжении многих лет.
- Организована система обучения и сертификации.
- Постоянно проводятся вебинары, конференции, выступления и т.д. То есть продукт живой и востребованный.
- Идет в ногу со временем. Новый функционал чаще всего удовлетворяет возникающие новые потребности.
Перечислил то, что замечаю и ценю лично я. Если у вас есть свое мнение на этот счет, с удовольствием с ним познакомлюсь. Среди систем мониторинга, как мне кажется, 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
Теперь подготовим 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.
Если вы видите ошибку подключения к 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 и некоторые его компоненты, а так же mariadb в качестве mysql сервера.
# apt install mariadb-server 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
Теперь подготовим 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
Теперь можно пройти в браузере по ip адресу http://10.20.1.23 и откроется первая страница установщика Zabbix Server 5.
Если вы видите ошибку подключения к 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. Пользователя и базу мы создали ранее, теперь просто их указываем.
На следующем этапе идут Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры. Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.
После нажатия на Finish увидите окно авторизации Zabbix сервера.
Стандартная учетная запись для входа в web интерфейс zabbix следующая:
- Пользователь Admin
- Пароль 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.
Покажу на примере настроек ящика в Яндексе.
Здесь же можете протестировать выбранный способ отправки.
Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Администрирование -> Пользователи, выбираем своего пользователя. Идем во вкладку Оповещения и жмем Добавить. Добавляйте свой ящик и нажимайте Обновить.
Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Настройка -> Действия и жмем на Деактивировано, чтобы стало Активировано.
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хотя бы один хост к мониторингу.
Если вам нужны оповещения в telegram, то читайте отдельную статью на эту тему. Так же рекомендую ознакомиться с материалом на тему настройки повторяющихся уведомлений в заббиксе. Для многих триггеров может оказаться очень полезной возможностью. Например, можно каждый день напоминать об окончании времени делегирования домена, пока он не будет продлен.
Так же zabbix умеет звонить через asterisk для оповещения о событиях.
Изменение шаблона стандартных оповещений
Я обычно изменяю стандартный шаблон уведомлений заббикса. Настраивался он раньше в свойствах действий, а теперь этот функционал переехал в настройки способов оповещений, где мы настраивали отправку по email. Возвращаемся туда же и правим шаблон.
Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. Некоторые шаблоны в триггерах указывают имя хоста в названии триггера, но есть и такие, где нет этой информации. Из-за этого в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста, далее статус, а потом имя триггера.
Мне мой вид кажется более наглядным. Шаблон меняет на следующий:
{HOST.NAME} - {TRIGGER.STATUS}: {TRIGGER.NAME}
Он одинаковый и для проблемы, и для восстановления.
Изменение стандартных шаблонов мониторинга
На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. В этот раз в Zabbix 5 я хотел поступить так же, но не пришлось этого делать.
Удивительно, но некоторых вещей, которые я отключал в 4-й версии, в 5-й уже не стало. Например, убрали триггер Version of zabbix_agent(d) was changed on {HOST.NAME}, который я всегда отключал. И все остальные мои изменения тоже теперь не актуальны. Вот это поработали разработчики. Теперь нужно время, чтобы изучить обновленные шаблоны, чтобы понять, нужно ли их дорабатывать, как прежде.
Общие настройки
В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие я меняю следующие параметры:
- В Веб интерфейсе меняю Макс. количество элементов отображаемое в ячейке таблицы с 50 на 100.
- Выставляю актуальные рабочие часы в разделе Рабочее время.
- В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
- Потом иду в раздел Прочее и меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Установка 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 Server и ждем поступления первых данных. Они должны пойти через 2-3 минуты после запуска агента.
Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:
# systemctl stop zabbix-agent
Ждем минимум 3 минуты. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. Раньше, кстати, было 5 минут. После этого проверяем главную панель, виджет Проблемы.
Проверяйте email ящик. Туда должно прийти уведомление от заббикс сервера. Обращаем внимание на тему письма, шаблон которого мы отредактировали. В самом начале темы указано имя хоста, на котором сработал триггер.
Если использовать стандартный шаблон, этой информации не будет.
Установка zabbix агент на Windows
В последних версиях Zabbix установка Windows агента значительно упростилась, так как появился готовый установщик. Во время его работы можно сразу указать адрес сервера мониторинга и имя хоста, на который устанавливается агент. В итоге, все делается автоматически, не надо ничего настраивать вручную .
Раньше все было сложнее, так как надо было вручную устанавливать службу, распаковав бинарники из архива. Так же потом нужно было руками править конфигурационный файл. Сейчас при дефолтных настройках ничего этого делать не надо.
Для установки Zabbix agent на Windows, идем на страницу загрузок официального сайта. Выбираем там Zabbix Agent и качаем подходящую версию.
На момент написания статьи еще не было инсталлятора для 5-го агента, но он наверняка появится в ближайшее время. Покажу на примере агента 4.4, который полностью совместим с более свежим сервером. Запускаем msi пакет и доходим до этапа, где надо указать адрес сервера и имя хоста. Делаем это.
Все остальное оставляем без изменений.
Не забываем создать разрешающее правило в Брандмауэре, если он у вас включен. Для этого идем в Панель управления\Система и безопасность\Брандмауэр 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 ключ.
Обращаю внимание на частую ошибку, с которой регулярно сталкиваюсь, а а потом долго не могу понять, в чем проблема шифрованного соединения. Почему ничего не работает. Иногда я забываю установить PSK в строке Подключения к узлу сети, так как машинально сразу ставлю галочку PSK в Соединения с узла сети. Обязательно должно быть указано PSK и там, и там.
Если все сделали правильно, то в информации о хосте на сервере мониторинга будет пометка о том, что соединение с агентом зашифровано.
Видео
Заключение
На этом установка и базовая настройка сервера мониторинга zabbix 5.0 завершена. Советы, замечания, исправления прошу оставлять в комментариях. Материал получился объемный и содержательный. Вполне мог где-то ошибиться.
Команда заббикс внимательно следит за обратной совместимостью своих продуктов. Благодаря этому переход на новые версии проходит в основном безболезненно. Нет необходимости срочно перенастраивать или исправлять старые наработки. В новых версиях только добавляется функционал, старый чаще всего не претерпевает изменений, им можно дальше пользоваться. Бывают, конечно, исключения, но редко.
Материалы по настройке мониторинга различных систем и сервисов не устаревают и остаются актуальным для самых новых релизов. Вот пример мониторинга различных служб и сервисов, приведенных на моем сайте. Возможно, что-то из этого вам будет интересно и полезно.
Мониторинг в Zabbix:
- Web сайтов.
- Принтеров по snmp.
- Роутеров Mikrotik.
- SSH подключений.
- Времени делегирования доменов.
- Создания бэкапов.
- Времени отклика сайта.
- Сервера телефонии asterisk.
- SMART жестких дисков.
- Срок действия сертификатов SSL.
- Почтового сервера postfix.
- Звонок-оповещение Zabbix через Asterisk на мобильный телефон.
- Лог файлов.
- Установка и настройка zabbix прокси.
- Размеров бэкапов.
- Файлового сервера Synology.
- Программного рейда MDADM.
- Служб в Linux.
- MySQL репликации.
- Web сервера nginx и php-fpm.
- Температуры процессора.
Остальные материалы на тему мониторинга с помощью Zabbix смотрите в отдельном разделе.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Здравствуй, уважаемый Владимир! Премного благодарен тебе за твои труды за создание и наполнение этого сайта! Благодаря ему далеких 6 лет назад я открыл себя такое направление в системном администрировании, как мониторинг, и познакомился с прекрасной системой Zabbix! Долгое время я подымал Zabbix исключительно по инструкциям из этого сайта, но со временем многое изменилось (снят с поддержки CentOS, версии как самого Zabbix, так и версий Debian и Ubuntu), и, увы, эти инструкции уже утратили актуальность. Нет ли у тебя в планах написать статью по актуальным версиям средств для внедрения Zabbix-сервера?
Планов у меня может быть громадьё, но фактически у меня нет времени на написание больших объёмных статей. Поэтому обещать ничего не буду. Скорее они не появятся, нежели появятся. По ходу семейной жизни и рождения многочисленных детей оброс заботами, которых ранее не было. Так что на сайт не остаётся времени и внимания.
Ну что ж, с одной стороны жаль, но с другой - любви и процветания новой семье!) Спасибо за ответ!
Добрый день! Уже 4 центоса переставил, весь инет облазил ничего не нашел.
apt update не работает, пишет -bash: apt: команда не найдена
yum install apt ничего не находит в репозитариях. Что делать?
Apt это пакетный менеджер дистрибутивов Debian и Ubuntu. То есть аналог yum и dnf.
Ну а что сделать, чтобы команда apt update заработала без ошибки: -bash: apt: команда не найдена ??
у тебя centos, там файловая система другая, ищи натройку для centos'a а не для debian
ps: У centos не apt а dnf
Просто у вас Инструкция к Центосу же по установке Забикса, apt update это тоже самое что будет yum update?
Как удалить забикс агента с хостовой машины (винда 10) и заново установить? И при попытки зайти на сайт забикса с виртуал бокс(линукс) выходит белый экран, вместо авторизации
Добрый день. Вопрос по интерфейсу, ответа пока не нашёл. Суть: как найти на какой карте находится устройство? Аналог "Locate host on map" в Nagios.
Я не видел в Zabbix такой функционал. Мне кажется, его нет.
Можно, но сложно. У нас реализовано через Python + flask.
Очень удобно.
Возможно подготовлю статью на эту тему - как раз надо переносить данный функционал с 4-ой версии на 5-ю.
Было бы интересно посмотреть на полную реализацию.
Быстро не обещаю, но обязательно сделаю - переносить-то надо ... (тут тяжело вздохнул)
Здравствуйте! Как установить Zabbix агент на компьютер из другой сеть? Я сделал проброс порта, указал в агенте белый IP. А что делать на сервере?
День добрый. Установил zabbix 6 + оповещение в телеграмм. Но что то не могу разобраться с разделом "Инвентаризация". Надо заморочиться и написать самому макросы для определения этих характеристик или как?
Это раздел не обновляется уже лет 5. Я даже не знаю, работает ли с ним кто-то. Если я не ошибаюсь, то всё это вручную надо заполнять. Zabbix для инвентаризации совсем не подходит. Лучше поискать для этого отдельный софт - GLPI (https://t.me/srv_admin/1930), iTop (https://t.me/srv_admin/1564), NetBox (https://t.me/srv_admin/1216), Ralph (https://t.me/srv_admin/1938) и т.д.
Добрый день.
Долго откладывал обновление, поэтому обновлять придется все сразу.
Есть Cent OS 8 c Zabbix 5.2.7.
Решил переехать на Debian 11 с обновление до 8.
Этапы поднимаю Debian 10, ставлю Zabbix 5.0 (Или можно 5.2?) Переношу сервер. Далее обновляю уже OS и Zabbix до актуальных. Вроде правильно.
Но возникла проблема при установке zabbix-frontend-php Zabbix 5.0, ставится Apache, а у меня NGINX.
Пробовал послe установки zabbix-frontend-php отключать Apache, так как если не отключить, то они 80 порт начинают делить и NGINX не стартует.
Но в итоге вроде все запущено и NGINX и Zabbix. Но первоначальное конфигурирование Zabbix не появляется. Высвечивается стартовая страница, причем от Apache, который остановлен.
Всего скорее, что то упускаю, но не могу понять что?.
По переносу у меня есть отдельная статья - https://serveradmin.ru/pereezd-ili-perenos-zabbix-server/
Там подробнее вопрос рассматривается.
Эту статью я конечно же прочитал, но во первых до самого переноса пока дело не дошло. Так как не ставиться нормально новая версия из-за Apache. А во вторых там не совсем удачный пример приведен в плане версионности.
"Если переносите Zabbix Server 5.0, то на новый сервер устанавливаете тоже 5.0" - вот здесь.
Не понятно достаточно мажорной версии такой же или что бы и минорная тоже совпадала.
Если я устанавливаю жестко по вашему мануалу то получаю ошибку при старте NGINX
Jul 06 22:40:08 zabbix-test nginx[17267]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 06 22:40:08 zabbix-test nginx[17267]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jul 06 22:40:08 zabbix-test nginx[17267]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 06 22:40:08 zabbix-test nginx[17267]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jul 06 22:40:09 zabbix-test nginx[17267]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 06 22:40:09 zabbix-test nginx[17267]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jul 06 22:40:09 zabbix-test nginx[17267]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 06 22:40:09 zabbix-test nginx[17267]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jul 06 22:40:10 zabbix-test nginx[17267]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 06 22:40:10 zabbix-test nginx[17267]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jul 06 22:40:10 zabbix-test nginx[17267]: nginx: [emerg] still could not bind()
Нужно некоторое понимание тех вещей, которые вы делаете. В ошибке явно указано, что порт 80 уже занят каким-то другим приложением. Скорее всего apache. Выключите его и nginx запустится.
Создали юзеру новую панель. Но как спрятать dashboard "global view" от него?
Владимир, добрый день.
Подскажите про совместимость версий агентов zabbix с версиями сервера. Если будет установлена 6-ая версия LTS сервера, будет ли с ним работать 5-ая версия агента которая была установлена ранее на другом сервере (с которого собираем метрики). В документации на старые версии нашёл ответ, что вроде бы совместимость обратная есть. Но это теория, а как на практике, может нюансы есть какие-нибудь? У вас лично как происходит, вы обновляете агенты на хостах после обновления версий сервера или по мере выхода новых версий агентов?
На практике я проблем никогда не встречал. Новые версии сервера поддерживают все старые агенты. Версия 6.0 поддерживает даже агента 2.4.
Понял Вас. Спасибо! Хотел ещё поинтересоваться про ваш опыт - вы обновляете планово прежние версии сервера, например 5 LTS на 6 LTS у заказчиков? Или где установлена и работает версия 5, то она (например, если нет проблем с функционалом) так и остаётся там, а все новые инсталляции идут уже новых версий на момент установки?
Если нет нужды перейти на новую версию, то чаще всего не обновляю первый год-два после выхода новой версии. По мере приближения конца срока поддержки планирую обновление. Чаще всего необходимости обновляться нет. Мониторинг весьма консервативная вещь.
Просто сборная солянка из других статей. Если выполнять всё команды так, как в статье - будут ошибки, которые придется траблшутить.
Например:
При смене часового пояса в конфиге /etc/zabbix/php-fpm.conf нужно перезагрузить php, указав версию. На момент написания этого комментария это 7.4, но о версиях php тоже не слова. Всё приходится самому дорабатывать.
Ещё при подключении к Zabbix, параметр Zabbix server is running = No по умолчанию, но у автора он нормально работает.
Хотя бы пробуйте повторить то, что написали.
Советую обратить внимание на дату релиза Zabbix 5.0 LTS и подумать, могло ли что-то за это время измениться, прежде чем тут обвинения и претензии предъявлять. Для таких тугодумов я даже видео записал, где наглядно видно, что копипаст из статьи приводит к положительному результату на момент её написания.
Большое спасибо за такую статью! Все отлично работает. Подскажите пожалуйста как настроить чтобы zabbix открывался по протоколу https? Создал специально для мониторинга поддомен, для него установлен сертификат. Домен и заббикс находятся на разных серверах. И вот по http все открывается как нужно а по https доступа нет - "ERR_CONNECTION_REFUSED".
А веб сервер какой используете? По сути веб интерфейс Zabbix это обычный веб сайт. Все инструкции по настройке https на сайте будут актуальны и для него. Никаких нюансов и отличий нет.
Здравствуйте! Подскажите, возможно исправить? Ошибка файла конфигурации
Тип БД не задан.
Добрый день. Подскажите пожалуйста. Не могу настроить мониторинг жестких дисков. Агент стоит и на винде и на лине. В виндузовых логах пишет следующее: 2021/12/23 13:52:08.504793 check 'vfs.fs.size[“c:”,free]' is not supported: The system cannot find the path specified.
2021/12/23 13:52:09.503413 check 'vfs.fs.size[“c:”,pfree]' is not supported: The system cannot find the path specified.
2021/12/23 13:52:10.501721 check 'vfs.fs.size[“c:”,total]' is not supported: The system cannot find the path specified.
2021/12/23 13:52:11.501188 check 'vfs.fs.size[“c:”,used]' is not supported: The system cannot find the path specified.
2021/12/23 13:52:17.501008 check 'vfs.fs.size[“С:\”,free]' is not supported: The filename, directory name, or volume label syntax is incorrect.
2021/12/23 13:52:19.500997 check 'vfs.fs.size[fs,]' is not supported: Invalid second parameter.
2021/12/23 13:52:21.530542 check 'vfs.fs.size[“c:\”,free]' is not supported: The filename, directory name, or volume label syntax is incorrect.
2021/12/23 13:52:22.502140 check 'vfs.fs.size[“%PATH%”,free]' is not supported: The system cannot find the path specified.
2021/12/23 13:52:23.501491 check 'vfs.fs.size[“d:”,pfree]' is not supported: The system cannot find the path specified.
Не пойму, толи запрос не правильно построил, то ли сервер не может принять нормально инфу от агента. На линуксе лог пустой, но инфа на сервер не приходит. Хост введен правильно, ip-сервера тоже. В ip - tables доступ по порту разрешил.
Добрый день, подскажите на какой БД в данной момент лучше развернуть Zabbix? форках MySQL или PostgreSQL? Что предпочтительнее с вашей точки зрения.
Однозначно PostgreSQL + TimescaleDB.
Добрый вечер. Вопрос касается настройки Zabbix: есть камеры Dahua облачные. Все находятся в разных местах за nat но с белыми ip. Хочу мониторить их состояние подключения. Zabbix server тоже удаленный... Единственный способ подобрал - это net.tcp.service. нашел порт камеры который отвечает на запрос, пробросил порт на роутере за которым камера находится и вроде все работает. Но вот загвоздка. За роутером с nat может находиться не одна камера и таких подключений много. Получается, что для для каждой камеры ручками приходится создавать узел сети и ручками прописывать 'элемент данных (IP и порт). Можно ли создать шаблон на базе net.tcp.service так чтоб он вытаскивал IP адрес и порт указанный в настройках узла сети. Есть ли более легкий способ мониторить подключения камер за nat (icmp не работает). За ранее спасибо!
Я не знаю, можно ли именно так сделать. Не было такой задачи никогда. Но как минимум, порт можно передавать через макрос, который указывается в свойствах узла сети. Его не намного дольше добавить, чем просто в настройки узла.
Я сделал вот так: в элементе данных ключ net.tcp.service[tcp,{HOST.IP},456]. Host.IP он подтягивает, а вот на {HOST.PORT} ругается что элемент данных, что триггер. почему не пойму. Пробовал через макрос, но там нужно присваивать каждому порту свой макрос и все равно нужно в ключе руками менять макрос с нужным портом. Дело в том что таких узлов сети около 60. Настроить в ручную можно, но если пойдут какие либо изменения - это будет сложно отслеживать перенастраивать. Возможно я что-то не правильно реализую, поправьте меня пожалуйста
Попробуйте макрос {HOST.PORT1} например. Вот описание всех встроенных макросов - https://www.zabbix.com/documentation/5.4/ru/manual/appendix/macros/supported_by_location
Макрос порта обозначен как {HOST.PORT<1-9>}.
Не помогло, но спасибо за обратную связь и спасибо за статью!
Можно ли УК становить zabbix на убунту? А мониторить с винды через браузер? Парк арм все с виндой
Не понял, что такое УК?
Отпечатка, просто установить имеется ввиду
Можно.
Владимир, огромное спасибо за Ваши статьи, как всегда получилось с первого раза установить и настроить.
Это странно, так как статья слегка устарела. В версии 5.4 были некоторые изменения. Хотя если ставить 5.0, то всё получится.
Так и есть, ставил 5.0
Здравствуйте. Владимир, подскажите пожалуйста - какие параметры вы выставляете в конфиге zabbix-сервера. Интересуют самые распространённые - StartHTTPPollers, StartPingers, CacheSize, StartPollers, StartPollersUnreachable.
Также интересует, какое значение max_connections у вас в настройках mysql. (По умолчанию оно вроде бы равно 100).
Я понимаю, что все эти параметры сильно зависят от того, что/сколько/и где мониторится, какое железо, интервалы опросов и т.д.
У вас много инсталляций, предполагаю, есть с чем сравнивать. Интересуют просто средние значения, которые может быть вы выкручиваете сразу после установки/настройки/тюнинга системы мониторинга.
А тут нет средних значений. Стартую обычно на дефолтных параметрах, потом изменяю их под текущие нужды. Zabbix Server сам себя мониторит и оповестит о том, что каких-то поллеров не хватает.
Спасибо за ответ! Есть ситуации, когда пропадает связь с сервером zabbix, тогда происходит так (оно и логично, в принципе, раз связи то нет), что zabbix выводит на дашборд все тригеры от сетевых устройств до которых не смог достучаться в заданный интервал. За раз, в моём случае, может быть 30-40 узлов. В это время, если потом просматривать график утилизации полеров, видно что некоторые заняты под 100%. (Можно конечно это поведение обработать через зависимости, но не всегда получается их правильно найти или указать. Обычно когда это сразу можно сделать, я делаю).
Хотел уточнить - вот в этом, описанном выше случае, когда недоступно сразу много устройств из-за потери связи с ними, есть или нет смысл выкручивать кол-во полеров в конфиге (чтобы их всегда/на всё хватало, даже на время аварии имею ввиде) или на это можно, скажем так, не "обращать внимание", т.к. ситуации подобные возникает редко и после восстановления связи загрузка резко падает до 20-30% даже не дефолтных значениях. Как считаете?
Тут есть несколько вариантов. Начну с самого правильного. Обычно умирает какой-то шлюз и вся инфраструктура за ним становится недоступна. Чтобы не было кучи оповещений о недоступности 40-ка узлов, триггеры на них делаются зависимыми от триггера пограничного шлюза. Если он недоступен, то срабатывает только его триггер, а все остальные молчат. В итоге нет лишних оповещений и проверок. И при этом понятно, что отвалился весь сегмент за этим шлюзом.
Второй вариант увеличить количество поллеров, чтобы они более синхронно работали, когда куча недоступных узлов появляется. В это время на них нагрузка значительно возрастает, так как они висят и ждут таймаутов. Если доступность узлов просто пингом проверяется, то нет проблем сделать штук 5-10 поллеров в зависимости от количества хостов. Если поллеров не хватает, то когда все узлы упадут, сработает триггер самого zabbix server о том, что поллеры загружены более чем на 75%.
Владимир, здравствуйте,
подскажите пожалуйста - как обновить версию zabbix с v. 5.0.3 до 5.0.17 (т.е. до последней версии, в рамках одной ветки LTS)? Уверен, что тоже есть нюансы.
Никаких нюансов нет. Подобное обновление выполняется автоматически пакетным менеджером системы при стандартном обновлении.
Владимир.
Предлагаю скопипастить статью и с небольшими правками сделать ее для Debian11. Т.к. по этой не настроить. Проверил на себе)))
Отличие только в этой строке.
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Правда Я еще отдельно устанавливал MariaDB и обновлял до актуальной, т.к. у Корбины она 5 версия. Не знаю на сколько это повлияло на работоспособность.
Переделывать лень)))
Скоро выходит 6-я версия. Обновление будет уже в новой статье. Не вижу смысла обновлять эту.
Подскажите, можно ли открыть доступ в локальной сети к zabbix wmware, если нет доступа к маршрутизатору? Спасибо!
Не понял вопроса.
Из локальной сети не пингуется виртуальная машина и соответственно к заббиксу нет доступа.
А вопрос то в чём? Zabbix работает по протоколу tcp/ip. Должна быть сетевая связность между узлами и сервером, чтобы всё работало. Это вопрос не в плоскости работы самого Zabbix.
Да, извиняюсь наверно не в ту тему написал. На компе с ВМ всё работает.
У заббикса каких-то нюансов в работе с сетью нет. Он ведёт себя как обычное приложение, работающее по сети. Нужен просто доступ хотя бы от хостов к серверу. От сервера к хостам не обязательно.
Заметки на полях: по create.sql.gz
необходимо поставить пакет
sudo apt -y install zabbix-sql-scripts
тогда сработает
sudo zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix
Все верно, спасибо. Ниже в комментариях уже упоминали об этом. В версии 5.4 вынесли этот файл в отдельный пакет.
● mariadb.service - MariaDB 10.3.29 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2021-10-04 11:40:06 MSK; 1min 58s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Process: 5793 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 5794 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 5796 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0
Process: 5804 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
Main PID: 5804 (code=exited, status=1/FAILURE)
Status: "MariaDB server is down"
окт 04 11:40:04 debian mysqld[5804]: 2021-10-04 11:40:04 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
окт 04 11:40:05 debian mysqld[5804]: 2021-10-04 11:40:05 0 [Note] InnoDB: Starting shutdown...
окт 04 11:40:06 debian mysqld[5804]: 2021-10-04 11:40:06 0 [ERROR] Plugin 'InnoDB' init function returned error.
окт 04 11:40:06 debian mysqld[5804]: 2021-10-04 11:40:06 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
окт 04 11:40:06 debian mysqld[5804]: 2021-10-04 11:40:06 0 [Note] Plugin 'FEEDBACK' is disabled.
окт 04 11:40:06 debian mysqld[5804]: 2021-10-04 11:40:06 0 [ERROR] Unknown/unsupported storage engine: InnoDB
окт 04 11:40:06 debian mysqld[5804]: 2021-10-04 11:40:06 0 [ERROR] Aborting
окт 04 11:40:06 debian systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE
окт 04 11:40:06 debian systemd[1]: mariadb.service: Failed with result 'exit-code'.
окт 04 11:40:06 debian systemd[1]: Failed to start MariaDB 10.3.29 database server.
Здравствуйте! Всё работало, а тут такую ошибку выдало.
У вас тут какие-то проблемы с базой данных. Нужно внимательно смотреть лог mariadb и разбираться, что с ней. На вид всё не очень хорошо. Автовосстановление базы не отработало. Возможно было аварийное отключение и в базе ошибки теперь. Надо разбираться.
Oct 4 15:18:34 debian systemd[1]: packagekit.service: Main process exited, code=killed, status=15/TERM x
xOct 4 15:18:34 debian systemd[1]: packagekit.service: Succeeded. x
xOct 4 15:19:02 debian systemd[1]: Starting MariaDB 10.3.29 database server... x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] /usr/sbin/mysqld (mysqld 10.3.29-MariaDB-0+deb10u1) starting as process 7591 ... x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Using Linux native AIO x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Uses event mutexes x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Number of pools: 1 x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Using SSE2 crc32 instructions x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: Completed initialization of buffer pool x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [ERROR] InnoDB: Missing MLOG_CHECKPOINT at 1694173856 between the checkpoint 1694173856 and the end 1694173816. x
xOct 4 15:19:02 debian mysqld[7591]: 2021-10-04 15:19:02 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error x
xOct 4 15:19:03 debian mysqld[7591]: 2021-10-04 15:19:03 0 [Note] InnoDB: Starting shutdown... x
xOct 4 15:19:04 debian mysqld[7591]: 2021-10-04 15:19:04 0 [ERROR] Plugin 'InnoDB' init function returned error. x
xOct 4 15:19:04 debian mysqld[7591]: 2021-10-04 15:19:04 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. x
xOct 4 15:19:04 debian mysqld[7591]: 2021-10-04 15:19:04 0 [Note] Plugin 'FEEDBACK' is disabled. x
xOct 4 15:19:04 debian mysqld[7591]: 2021-10-04 15:19:04 0 [ERROR] Unknown/unsupported storage engine: InnoDB x
xOct 4 15:19:04 debian mysqld[7591]: 2021-10-04 15:19:04 0 [ERROR] Aborting x
xOct 4 15:19:04 debian systemd[1]: mariadb.service: Main process exited, code=exited, status=1/FAILURE x
xOct 4 15:19:04 debian systemd[1]: mariadb.service: Failed with result 'exit-code'. x
xOct 4 15:19:04 debian systemd[1]: Failed to start MariaDB 10.3.29 database server.
Такое пишет в логах.
сделал всё по инструкции.
отключил фаервол, селлинукс, обновил систему и дальше по пунктам.
в итоге не получается зайти в вэб морду
Обновляем систему
# yum update
nano /etc/sysconfig/selinux
SELINUX=disabled
# setenforce 0
# yum install network-scripts
nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=ec97ed37-3705-414a-887c-b97fbe9add09
DEVICE=enp0s3
ONBOOT=no
Установка Zabbix 5 на Centos
# dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
Установлен:
percona-release-1.0-27.noarch
# dnf module disable mysql
Отключение модулей:
mysql
# percona-release setup ps80
* Disabling all Percona Repositories
On Red Hat 8 systems it is needed to disable the following DNF module(s): mysql to install Percona-Server
Do you want to disable it? [y/N] y
# dnf install percona-server-server percona-toolkit percona-xtrabackup-80
установлено
# systemctl enable --now mysqld
# 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: N;3zuy3a%Fal
# mysql_secure_installation
New password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.
Подключаем репозиторий 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
Обновление / установка...
1:zabbix-release-5.0-1.el8
Устанавливаем Zabbix Server 5, web интерфейс и agent
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
Выполнено!
Создадим теперь пользователя и базу данных mysql для zabbix.
# mysql -uroot -p
Enter password: 3!5AfGJ77
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected, 2 warnings (0,04 sec)
mysql> create user 'zabbix'@'localhost' identified with mysql_native_password by '1qaz@WSX';
Query OK, 0 rows affected (0,01 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0,01 sec)
mysql> exit
Импортируем структуру базы данных для Zabbix 5 из файла. Пароль используем 1qaz@WSX, который указали ранее.
Enter password:
# dnf update --nobest
Последняя проверка окончания срока действия метаданных: 0:04:32 назад, Ср 01 сен 2021 13:14:45.
Зависимости разрешены.
Отсутствуют действия для выполнения
Выполнено!
Открываем конфиг сервера заббикс - nano /etc/zabbix/zabbix_server.conf (добавил в самый конец, хотя в настройках в разных местах указаны отдельные параметры)
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=1qaz@WSX
Timeout=20
Теперь можно запустить Zabbix Server 5.
# systemctl enable --now zabbix-server
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-server.service → /usr/lib/systemd/system/zabbix-server.service.
Далее я не вкл Селлинукс
После этих действий zabbix server должен нормально работать с включенным selinux. Убедиться в этом можно проверив лог заббикс сервера - /var/log/zabbix/.
# cat /var/log/zabbix/zabbix_server.log
Теперь подготовим web сервер. Для этого открываем конфиг nginx /etc/nginx/conf.d/zabbix.conf и устанавливаем там 2 параметра:
nano /etc/nginx/conf.d/zabbix.conf
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. Вместо:
nano /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
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
В Centos 8 по умолчанию включен firewalld. Если он вам не нужен и вы не хотите его настраивать, то просто отключите.
# systemctl stop firewalld
# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Есть видео, можно проверить себя. Какая ошибка в веб интерфейсе?
просто этого сайта не существует. сейчас снёс и устанавливаю по новой
странно, после пункта Запускаем компоненты web сервера и отключения фаервола, после перезагрузки сервака в ифконфиг вижу такое:
enp0s3: flags=4163 mtu 1500
ether 08:00-мак адрес txqueuelen 1000 (Ethernet)
RX packets 683 bytes 52375 (51/1/ KiB)
RX errors 0 dropped 24 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Не удается получить доступ к сайту
Превышено время ожидания ответа от сайта 192.168.1.251.
Добрый день всем.
Подскажите пожалуйста, сделал все четко по инструкции, 2 раза
Но каждый раз в вэб интерфейсе при настройке выдает ошибку: Unable to select configuration.
В чем может быть проблема, подскажите пожалуйста
тоже не получается вэбморду открыть. получилось исправить? может у нас общая проблема
добрый день. подскажите, не стартует apache
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2021-08-27 16:15:08 EEST; 35s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 5693 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)
aug 27 16:15:08 zabbix-desktop systemd[1]: Starting The Apache HTTP Server...
aug 27 16:15:08 zabbix-desktop apachectl[5696]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
aug 27 16:15:08 zabbix-desktop apachectl[5696]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
aug 27 16:15:08 zabbix-desktop apachectl[5696]: no listening sockets available, shutting down
aug 27 16:15:08 zabbix-desktop apachectl[5696]: AH00015: Unable to open logs
aug 27 16:15:08 zabbix-desktop apachectl[5693]: Action 'start' failed.
aug 27 16:15:08 zabbix-desktop apachectl[5693]: The Apache error log may have more information.
aug 27 16:15:08 zabbix-desktop systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
aug 27 16:15:08 zabbix-desktop systemd[1]: apache2.service: Failed with result 'exit-code'.
aug 27 16:15:08 zabbix-desktop systemd[1]: Failed to start The Apache HTTP Server.
Извиняюсь, разобрался, его блокировал nginx
Спасибо за статью, по ней установил и всё работает.
Один вопрос по самому агенту - в сервере задаём его адрес или днс-имя для доступа, а если у агента нет постоянного или даже вообще белого адреса (через 4g-модем например), то работать не будет? сам агент не может пушить своё состояние?
Можно и по ip, и по dns имени. Нет разницы. Агент может сам пушить всю информацию. Этот режим работы называется Активный агент Zabbix. Можно погуглить в чём разница с пассивным. Ничего особо настраивать для него не надо. Достаточно указать в настройках хоста, что агент активный.
У меня на шаге отправки тестового сообщения на почту выдало ошибку.
1) Такой вопрос при настрой оповещений по электронной почте, требуется наличие на сервере развёрнутого smtp отдельно как службы или локального днс?
2) Может быть такое, что гугл блокирует попытку zabbix подключиться и по этой причине не работает, оповещения на гугл ящик приходили о попытке подключиться.?
1. Для отправки сообщений нужен только smtp сервер. А для прохождения различных фильтров антиспама нужно всё остальное - dns записи.
2. Да, может. Гугл может считать письма с сервера мониторинга спамом и не принимать их или помечать как спам. Это всё в логе отправки почтового сервера можно посмотреть.
Install
Details Cannot create the configuration file.
Unable to overwrite the existing configuration file.
День добрый! Я всё по ошибке: Alternatively, you can install it manually:
Download the configuration file
Save it as "/usr/share/zabbix/conf/zabbix.conf.php"
Скачал и сохранил по указанному адресу и ничего не помогло. Как решить? Спасибо.
Первый раз такую ошибку вижу. Явно с правами на директорию проблема. Думаю, где-то ошиблись. Попробуйте еще раз все по статье сделать. На видео весь процесс наглядно показан. Если повторить, все будет работать.
Извиняюсь, это я папку conf пропустил. Закинул в неё и заработало) Вуф... замучился, каждый шаг- ошибка)
Возможно ли добавить изображения в поле "описание" узла сети? К примеру, что б при недоступности камеры zabbix отправлял сообщение на почту с изображением (куда направлена камера).
Простого способа это сделать нет. Но в целом возможно. По событию триггера Zabbix может выполнять какие-то действия - запустить скрипт или webhook. Подумайте, как это можно реализовать конкретно с вашей камерой. Реализация получения картинки с камеры будет на вашей стороне. А Zabbix просто выполнит то, что вы ему скажете при срабатывании триггера.
Не совсем правильно написал, изображения предварительно сняты. Хотелось бы в описание добавить что вроде [img]http://zabbix/zabbix.php?action=image.edit&imageid=10[/img], что бы в письме по триггеру была не только текстовая информация, но и изображение.
Тоже застрял на шаге, где создаем базу данных, а именно:
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p
Файла create.sql.gz в указанном каталоге нет.
5.4 ставили или 5.0? В 5.4 куда-то переместили этот файл.
Попробуйте поставить этот пакет:
dnf install zabbix-sql-scripts
Доброго времени суток, выдает ошибку 404 в браузере, в чем может быть проблема?
Либо не по тому урлу заходите, либо веб сервер неправильно настроили.
Все так как вы изложили в статье
В конце статьи есть видео, где можно убедиться в том, что если все повторить в точности как в статье, то настройка пройдет успешно. В видео все команды копируются из статьи.
Добрый день, как то в 5 версии zabbix произошли изменения регулярок в части служб windows, задолбала вот службы BITS скачет туда сюда постоянно, спамит а выключить как раньше добавив исключение в регулярку не получается, кто уже разобрался с тем как теперь отключать?
Так, стоп, а как вы можете выбрать интерфейсу zabbix русский язык, если не ставили его во время установки (статья установка сервера Debian). Это не критика, если что, это то, что сразу бросилось в глаза.
Так не обязательно ставить в систему русский язык, чтобы веб приложение показывало записи на русском. Например, этот сайт крутится на сервере, где не установлен русский язык. Однако сайт на русском.
Интересно... Поставил Zabbix, русского языка нет. буду разбираться. Спасибо.
Добрый день! Быть может глупый вопрос, но я хочу разобраться. Пытаюсь поставить zabbix на виртуальную машину Ubuntu 20.04. Дошёл до пункта конфигурирования nginx /etc/zabbix/nginx.conf. В разделе server_name example.com (виртуальный хост). Как узнать/настроить имя виртуального хоста для zabbix? И я правильно понимаю, что после настройки виртуального хоста не нужно переходить по ip адресу http://10.20.1.23, а по имени виртуального хоста?
Так вот, вместо example.com и пишите свое имя домена. Выбрать его можете самостоятельно, какое больше нравится. Главное dns записи потом для него настроить.
Благодарю. Для того, чтобы добавить хост необходимо добавить строчку в файле /etc/hosts/:
127.0.1.1
И не забыть перезапустить nginx. Удачи всем! :)
Буду полезен ВСЕМ кто сталкнулся с такой проблемой !!!!!!!!!!!!!!!!
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
gzip: /usr/share/doc/zabbix-server-pgsql/create.sql.gz: No such file or directory
Переодически возвращался к проблеме и если вдруг кому понадобиться решение есть !
на cenos 8 не отрабатывала команда rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
вот правильный вывод ее
# rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
warning: /var/tmp/rpm-tmp.J66Yfw: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-release-5.2-1.el8 ################################# [100%]
У меня почему то при выполнении не было этого !!!
1:zabbix-release-5.2-1.el8 ################################# [100%]
Я просто добавил репу сам
mcedit /etc/yum.repos.d/zabbix.repo
Вставляем это
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.2/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/8/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
Здравствуйте. Владимир, спасибо за статью!!
В связи с тем, что только осваиваю linux, возникли трудности при установке.
При переходе к zabbix установщику в пункте Check of pre-requisites, выдает ошибку:
Time zone for PHP is not set (configuration parameter "date.timezone")
PHP option "date.timezone" unknown Fail
Подскажите пожалуйста в чем может быть проблема.
Добрый день. В статье написано об этом. Вы не указали часовой пояс в настройка php-fpm.
Владимир, спасибо за отклик.
Нашел проблему. При установке rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm, выдал ошибку.
с release-8 все заработало
Добрый день.
Статья замечательная, но не увидел (не понял) одного нюанса, в случае если зависнет сам agent установленный на виртуальном сервере, то уведомление никакое не придет?
Пробовал активировать шаблоны "Template Module Windows services by Zabbix agent" и "Template Module Windows services by Zabbix agent active" и останавливать работу агента на сервере (Windows Server), в веб-панели видно, что агент не доступен но уведомление на email не приходит.
Может есть какой-то вариант решения? Пробовал искать в сети, но почему-то ничего подходящего не нахожу.
Если агент перестанет отвечать, то сработает триггер на отсутствие информации об агенте. Он есть в стандартных шаблонах. Так что если настроены действия на триггеры, то придет обычное оповещение. Тут никаких отдельных настроек делать не надо. Если триггер загорается в веб интерфейсе, а сообщение не приходит, то надо разбираться с доставкой сообщений и с действиями.
спасибо за статью и за все комментарии отдельно.
это тот случай, когда в комментах находишь больше инфы по устранению проблем с настройкой, чем в интернете ))))))))))))))))))
День добрый. Есть на сайте заббикс готовые виртуалки с их системами под разные гипервизоры, смотрели в их сторону? мне просто интересно ваше мнение, я понимаю ,что когда сам поднимаешь, то делаешь под себя и оно удобнее, но когда каждые пол года или год заново одно и тоже почти делаешь , то стоит ли смотреть в эту сторону?
Я бы для прода не рекомендовал готовые виртуалки. Надо все сделать самому, чтобы понимать, где, что и как работает. Тем более, в установке zabbix никаких особых сложностей нет. Подобные виртуалки в основном для тестов и новых пользователей, чтобы они сразу смогли попробовать и оценить продукт, не вникая в нюансы установки. Но если принято решение эксплуатировать и внедрять у себя, я рекомендую ставить вручную самому. И не в докере, особенно базу.
А почему такая категоричность к докеру? Какие возникают проблемы при докеризации?
Нет категоричности. Докер решает определенные задачи по разворачиванию продукта. Выступает своего рода пакетным менеджером, где в один клик можно быстро развернуть готовое окружение. Это очень помогает при разворачивании сложных многокомпонентных систем, а так же при разработке с регулярным тестированием и деплоем в разные среды.
В случае с Zabbix Server он сам по себе весь состоит из одного пакета. Легко ставится и обновляется. Всё свое состояние хранит в базе. Какой смысл в данном случае использовать докер? Он будет лишней сущностью, усложняющей систему и накладывающий дополнительные расходы.
> Какой смысл в данном случае использовать докер? Он будет лишней сущностью, усложняющей систему и накладывающий дополнительные расходы.
Про дополнительный расходы не соглашусь - он может накладывает всего лишь ограничение на процесс, плюс изолирует его от остальных. А это бывает очень удобно. Например, можно обкатывать параллельно новую версию приложения или ограничить по ресурсам прожорливое, что очень полезно, когда на хосте используется несколько сервисов. Еще не маловажный фактор - можно относительно легко мигрировать на другую ос для хостовой машины. История с CentOS 8 к этому подталкивает!
В последнее время я все больше стал запускать сервисов по этой причине под docker. Вот жду, когда podman допилят для использования в продакшене, чтобы отказаться от демона docker, как потенциальной единой точки отказа.
По zabbix-у скорее правильно запускать агентов прямо на хостовой машине без докера. Но в тоже время zabbix официально предоставляет запуск агента в докере с привилегированным режимом. Теперь пытаюсь понять какие ограничения могут возникнуть в таком случае.
p.s. Меня просто зацепило высказывание про ограничение докеризации для баз данных, которое я периодически встречаю. Но никто не может толком сказать почему. Но в тоже время, я эксплуатирую докеризированный postgresql, elasticsearch с десятками миллионов записей без проблем.
Использование дополнительных сущностей должно быть оправдано, иначе зачем их использовать? Вы часто мигрируете базы данных между хостами? Обычно база данных это вообще отдельно стоящий сервер или кластер. Зачем там докер? Другое дело, если у вас куча мелких баз и вы их постоянно запускаете. Тогда с докером ими удобнее управлять.
То же самое с мониторингом. Я много и часто настраиваю мониторинг Zabbix. Это не то приложение, которое нужно часто куда-то переносить или с кем-то делить ресурсы. Чаще всего оно устанавливается один раз и никуда не переезжает. Под него выделяется отдельная виртуальная машина. Я не вижу никаких удобств от того, что я туда добавлю докер и запущу сервер в нем. Будут только минусы, так как возникают дополнительные нюансы, связанные с докеризацией.
Другое дело разработка и деплой приложений. Докер в первую очередь для этого и был создан. Там он и раскрывает на полную все свои преимущества и удобства. При этом сам прод не обязательно будет работать в докере.
Добрался до момента, когда требуется изменить значения триггеров, определенные в макросах, но хоть убей, не могу понять где эти макросы описываются?
Например, нужно значение для триггера High memory utilization.
Курю уже не первые сутки, как можно поменять значение данного макроса?
Вменяемой информации пока не нашел.
по дефолту $MEMORY.UTIL.MAX имеет значение 0,9 (90%), а это для многих производственных сред (в частности MS SQL Server, который резервирует себе память и не освобождает) слишком низкое значение, я бы его поднял до 98%
Аналогичные проблемы с утилизацией места на дисках. Если диск большого объема, то ворнинги на 80% и критическое значение в 90% явно занижены для боевой среды.
в данном случае, вроде, макросы $VFS.FS.PUSED.MAX.CRIT и $VFS.FS.PUSED.MAX.WARN.
Добрый день! Подскажите, чем отличаются графики в Zabbix в разделе Мониторинг - Последние данные (там можно посмотреть график, например, использования ОЗУ) от графиков, настроенных через Элементы данных в настройках узла сети.
Т.е. понятно, что во втором случае их нужно заводить через Настройки узла, а в первом случае они появляются сами, но что еще?
Спасибо.
В последних данных стандартный график в виде линии. Его нельзя никаким образом изменить или настроить. Когда вы сами создаете график, можете менять различные параметры, в том числе и отображение.
Ок, спасибо.
Добрый день. Подскажите плиз, какую Вы порекомендуете ОС для установки и поддержки Zabbix, всвязи с новостями о том, что Centos 8 поддерживается до 31.12.2021г.? (до этого в основном работал с этой системой, немного debian) Заранее, спасибо
Возможно вопрос идиотский, но значение TLSPSKIdentity для каждого хоста должно быть уникальным? Или допускается использование значения TLSPSKIdentity одинаковым для всех узлов в сети?
Я не пробовал никогда одинаковые ставить. Всегда разные делаю. Даже не было идеи проверять это. Думаю, быстрее самому проверить, чем ждать ответа здесь.
Вроде нагуглил, что это именно идентификатор самого ключа. В любом случае на 16 машинах используется одинаковый идентификатор. Полёт нормальный!
Добрался до установки агента на Линукс серверы, и сразу засада:
Первым делом решил поставить агент на nginx сервер, через который опубликован zabbix https://serveradmin.ru/nginx-proxy_pass/#Peredaca_https_cerez_nginx_s_pomosu_proxy_pass
с сертификатами Lets Encrypt.
Проблема в том, что агент стартует, по данной статье настроена активная и пассивная проверка, но узел в списке мониторинга не появляется.
статус агента:
[root@nginx zabbix]# systemctl status zabbix-agent
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2021-02-20 03:08:50 MSK; 40min ago
Process: 2104 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)
Process: 2108 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 2110 (zabbix_agentd)
Tasks: 6 (limit: 12421)
Memory: 4.0M
CGroup: /system.slice/zabbix-agent.service
├─2110 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─2113 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─2114 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─2115 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─2116 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─2117 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
Feb 20 03:08:50 nginx.mydomain.ru systemd[1]: Starting Zabbix Agent...
Feb 20 03:08:50 nginx.mydomain.ru systemd[1]: Started Zabbix Agent.
Пробовал хост добавить через админку заббикса, хост добавляется, но индикатора, что есть мониторинг через агента нет.
Ломаю голову.
есть подозрение, что хост не прописан в ДНС, пока не понимаю, обязательно ли это нужно?
Даже более того, в ДНС хост прописан, как zabbix.mydomain.ru, сам называется nginx.mydomain.ru, заббикс во внутренней сетке на себе прописан в хостах, т.к. должен локально отвечать только, как zabbix.mydomain.ru, а по дефолту страница приветствия nginx, который на самом заббикс сервере.
С виндовыми машинами все завелось сразу, поставил zabbix-agent2 и добавил хост вручную в заббиксе. А с линукс машиной -- затык. Похоже, я чего-то не догоняю.
Даже не знаю, как еще поточнее описать проблему(
Смотрите логи агента. Там будет видно, подключился он к серверу или нет. Если нет, то попробуйте добавить по ip адресу, а не dns имени.
Владимир, в том-то и дело, что лог агента ничего не проясняет, я его неоднократно смотрел
2110:20210220:131512.450 Got signal [signal:15(SIGTERM),sender_pid:2991,sender_uid:990,reason:0]. Exiting ...
2110:20210220:131512.451 Zabbix Agent stopped. Zabbix 5.0.8 (revision d3c78f993a).
2996:20210220:131512.467 Starting Zabbix Agent [nginx.mydomain.ru]. Zabbix 5.0.8 (revision d3c78f993a).
2996:20210220:131512.468 **** Enabled features ****
2996:20210220:131512.468 IPv6 support: YES
2996:20210220:131512.468 TLS support: YES
2996:20210220:131512.468 **************************
2996:20210220:131512.468 using configuration file: /etc/zabbix/zabbix_agentd.conf
2996:20210220:131512.471 agent #0 started [main process]
3002:20210220:131512.472 agent #1 started [collector]
3004:20210220:131512.472 agent #3 started [listener #2]
3003:20210220:131512.473 agent #2 started [listener #1]
3006:20210220:131512.475 agent #5 started [active checks #1]
3005:20210220:131512.477 agent #4 started [listener #3]
3006:20210220:131512.500 no active checks on server [10.3.3.222:10051]: host [nginx.mydomain.ru] not found
3006:20210220:131712.541 no active checks on server [10.3.3.222:10051]: host [nginx.mydomain.ru] not found
3006:20210220:131912.583 no active checks on server [10.3.3.222:10051]: host [nginx.mydomain.ru] not found
последние 3 строки о чем говорят не понятно, то ли nginx.mydomain.ru не резолвится и по тому не находится, толи он в заббиксе не описан в хостах?
возможно надо в конфиге IPV6 отключить? он на сервере отключен.
при этом
в /etc/hosts он прописан
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.3.3.2 nginx.mydomain.ru
и по имени отвечает
[root@nginx zabbix]# ping nginx.mydomain.ru
PING nginx.mydomain.ru (10.3.3.2) 56(84) bytes of data.
64 bytes from nginx.mydomain.ru (10.3.3.2): icmp_seq=1 ttl=64 time=0.067 ms
64 bytes from nginx.mydomain.ru (10.3.3.2): icmp_seq=2 ttl=64 time=0.061 ms
64 bytes from nginx.mydomain.ru (10.3.3.2): icmp_seq=3 ttl=64 time=0.103 ms
сервер zabbix 10.3.3.222
сервер с агентом 10.3.3.2
Собственно, тут четко написано, в чем проблема:
Вы в конфиге zabbix-agent обозвали хост этим именем. А на самом сервере zabbix хоста с таким именем нет.
Вы похоже просто не поняли логику работы zabbix. Агент имеет свое имя. Он обращается к серверу по этому имени и забирает всю информацию для себя. На сервере должен быть добавлен этот хост под таким же именем, что и агент.
Да, по статье не понял этот момент "Агент имеет свое имя. Он обращается к серверу по этому имени и забирает всю информацию для себя. На сервере должен быть добавлен этот хост под таким же именем, что и агент."
т.е. для windows хоста написано, что надо добавить хост в настройках заббикса, а для линукс хоста этого не было описано в статье. Проблема в том, что я в прошлый раз создал на заббиксе хост, но, похоже при создении не назначил ни одного шаблоноа, а только группу Linux Server, вот и не было видно, что связь агент-сервер состоялась, соотвсетсвующая иконка напротив хоста была в сером статусе.
Спасибо, за разъяснения!
Отвечу сам себе на последний пост:
В общем, после повторного добавление хоста в "настройка/узлы сети" агент увиделся, но я так понимаю в данном случае идет активный мониторинг? пока не понял, какие выбрать шаблоны из готовых для мониторинга линукс сервера с nginx
пока выбрал:
Template App Nginx by Zabbix agent
Template Module Linux CPU by Zabbix agent
Template Module Linux filesystems by Zabbix agent
Template Module Linux memory by Zabbix agent
Template Module Linux network interfaces by Zabbix agent
единственное, отключил триггер
Nginx: Failed to fetch stub status page (or no data for 30m), модуль ngx_http_stub_status_module не подключен на nginx, а с учетом того, что я NGINX первый раз вчера поставил, смутно пока понимаю, как его безопасно добавить
Привет. Послу учтьновки PSK у меня такой проблем.
Get value from agent failed: TCP successful, cannot establish TLS to server
restart service помогло
Можно глупый вопрос, вот у меня на хосте рисует, что у него есть 45 графиков. Когда я перехожу на вкладку графиков, то отображаются от силы штук 20, нет ни кнопки далее ни ссылки на вторую стрницу. Не подскажете, как их увидеть все?
Справа вверху вкладка "фильтр" есть. Там будет список всех графиков. Можно выбрать, какие отобразить.
спасибо
После выполнения команды
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
После ввода пароля
Не чего далее не происходит просто курсор мигает и все
Сколько времени ждали? Посмотрите, были ли созданы таблицы в базе данных zabbix. Эта команда выполняет sql команды из файла create.sql.gz. Проверьте так же, по данному пути /usr/share/doc/zabbix-server-mysql*/create.sql.gz есть этот файл или нет. * тут является маской.
При команде zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix выводит gzip: /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz: No such file or directory Enter password:
Существует путь /usr/share/doc/zabbix-server-mysql/. Но дальше create.sql.gz там нет, возможно из-за подключения репозиториев Percona. Из-за этого дальнейшее развёртывание не возможно.
На вэб-интерфейсе при первом входе при попытке залогиниться в базу от zabbix выдаёт Unable to determine current Zabbix database version: the table "dbversion" was not found.
По данному пути нет таких файлов - всё по инструкции.
Где-то должен быть файл create.sql.gz. Найдите его поиском. Без него просто не будут созданы таблицы в базе данных и установка не может быть продолжена. Он 100% должен где-то лежать.
Стоя в корне
find: ‘create.sql.gz’: Нет такого файла или каталога
А вот тут его нет?
/usr/share/zabbix-server-mysql/
Он еще может называться schema.sql.gz
Если совсем не найдете, то просто откройте любой установочный пакет с zabbix-server-mysql для любой системы и возьмите этот файл оттуда. Это простой набор sql команд для создания таблиц в базе данных.
Вот чего в статье не хватает
dnf install zabbix-sql-scripts
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
https://www.zabbix.com/download?zabbix=5.4&os_distribution=red_hat_enterprise_linux&os_version=8&db=mysql&ws=nginx
Судя по всему это недавно появилось. Раньше скрипты не были вынесены в отдельный пакет.
Сейчас проверил. Это нововведение версии 5.4. Статья про 5.0, там этого пакета еще нет.
Zabbix 5.2 + pgsql + apache
~$ sudo find / -name create.sql.gz
/usr/share/doc/zabbix-server-pgsql/create.sql.gz
В версии 5.4 этот файл вынесли в отдельный пакет, который надо ставить - zabbix-sql-scripts.
Для этого открываем конфиг nginx /etc/zabbix/nginx.conf и устанавливаем там 2 параметра:
А конфиг нжинкс точно там находится ?
Я сейчас точно не помню, но по-моему тут нет ошибки. Конфиг для nginx лежит в директории zabbix, если он устанавливался из пакетов для nginx.
Добрый вечер После установки zabbix 5.2 на ubuntu 20.04 не стартует сервер:
#sudo systemctl start zabbix-server.service
Job for zabbix-server.service failed because the control process exited with error code. See "systemctl status zabbix-server.service" and "journalctl -xe" for details.
Лог при этом тоже не создается...
База mariadb создана, права есть.
В Front end пустил.
Selinux выключен
IPtables выключен
Размер кэша в конфиге увеличен.
Что еще можно проверить?
Системный лог надо посмотреть. Скорее всего там будет ошибка.
нашел это
invalid entry "Full pathname of file containing the private key for authenticating to database." (not following "parameter=value" notation) in config file "/etc/>
Feb 4 17:25:50 ruspemfizab01 systemd[1]: zabbix-server.service: Control process exited, code=exited, status=1/FAILURE
Проблема решилсаь:)
Не была закомментирована строчка Full pathname of file containing the private key for authenticating to database.
Невнимательность...
огромное Вам спасибо за помощь!
А у меня вот такая ошибка.
[root@localhost ~]# percona-release setup ps-80
Specified repository does not exist: http://repo.percona.com/ps-80/
А предыдущая команда
dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
нормально отработала? Репозиторий установился?
В целом, не обязательно использовать именно percona. Можете поставить обычную mariadb:
# dnf install mariadb mariadb-server
да, норм установился.
И да, я таки марию поставил))
Спасибо за статью!
Может кто-то знает как создать триггер, windows server, чтобы проверять место на дисках C и D в гигабайтах. Условно, чтобы триггер работал если на С < 15Гб, а на D < 20Гб?
Вот набросал быстренько пример. По аналогии делается для второго диска. Выражение триггера:
{xm-win8:vfs.fs.size[C:,total].last(0)}-{xm-win8:vfs.fs.size[C:,used].last(0)}<16106127360
А вот как он выглядит:
16106127360 - разница полного и использованного объема диска в байтах.
Спасибо огромное!!
Zerox, а не подскажите, по какой причине активные проверки могут выборочно не работать? Мониторинг CPU (Template Module Windows CPU by Zabbix agent active), в активном режиме работает, а вот шаблоны (Template Module Windows filesystems by Zabbix agent active и Template Module Windows physical disks by Zabbix agent active) работают только в пассивном режиме, но работают корректно.
Думаю, может из-за установки zabbix agent не под учеткой админа или диск на виртуалке как-то ограничивает.
Так трудно сказать. Я обычно все в пассивном режиме настраиваю. Мне так удобнее. Проверки дисков работают через правила автообнаружения. Может они не отрабатывают в активном режиме. Можно попробовать их принудительно позапускать в пассивном режиме, а потом переводить в активный, когда все диски будут обнаружены.
Добрый вечер! Возможно ли перенести бд забикса с 4.4 на 5, при условии, что сам забикс будет ставиться с 0 на новую машину?
Советую поставить на новую машину версию 4.4, накатить на нее дамп со старого сервера. А потом уже на новом обновлять до 5.0. Это просто логичнее. Хотя и ваш вариант скорее всего сработает.
Добрый день zerox.
Подскажите пожалуйста.
Был изначально Centos 7.x и zabbix 4.2 (mariadb и nginx везде , у меня порядком 100 устройств с агентами 3 ярда 3 гига)
Дальше обновил до 4.5 (кажется)
Дальше обновил до 5, были определенные сложности но благо резервных копий было достаточно все получилось.
Решил что сидеть на Centos 7 не стоит и пора обновится до актуальной версии, накатил Centos 8 и на него весь zabbix и перенёс конфиг, первое что бросилось в глаза все стало медленнее работать, сам вебинтерфейс стал тормозящим. Ну в целом не сильно и ладно. А вот триггеры стали иногда срабатывать сразу все. Забивается проц (все 3 на процентов 75 - 95), сжирается вся память и вся swap, что посоветуете сделать? Изначально было чуть меньше ресурсов, я их увеличил и это стало реже случаться. Боюсь если дам больше ресурсов, полны пик все равно будет достигаться просто позднее.
Подскажите в какую сторону копать для оптимизации ситуации. Спасибо.
Так а что я тут могу заочно посоветовать? Смотрите на нагрузку, какие процессы больше всего выжирают cpu. Это могут быть какие-то процессы zabbix-server или же база данных. Я не видел нигде информации, что после обновлений zabbix как-то кардинально начинал поглощать больше ресурсов. Если сами айтемы для сбора данных не менялись, то плюс-минус, нагрузка та же самая остается. Обычно добавляются новые фичи, новые агенты для сбора данных. Вот они могут увеличивать нагрузку. А если все то же самое, то серьезных изменений производительности быть не должно.
Может после переезда конфиг mariadb поменялся? Это может сильно повлиять на производительность.
Здравствуйте, возникла проблема с win агентами zabbix, ошибка "Get value from agent failed: ZBX_TCP_READ() timed out" на нескольких машинах, на других такой ошибки нет и агент нормально общается с сервером. Не могу понять что могло произойти, с сервера zabbix при выполнении команды:
telnet 10.12.3.128 10050 подключения происходит нормально без ошибок. В логе агента на проблемных машинах:
Starting Zabbix Agent [WS-2-11]. Zabbix 5.0.4 (revision 69c0ad3686).
960:20201217:093728.435 **** Enabled features ****
960:20201217:093728.435 IPv6 support: YES
960:20201217:093728.435 TLS support: YES
960:20201217:093728.435 **************************
960:20201217:093728.435 using configuration file: c:\zabbix\conf\zabbix_agentd.conf
960:20201217:093729.011 Failed to initialize builtin counter: Processor Information
960:20201217:093729.011 Failed to initialize builtin counter: % Processor Time
960:20201217:093730.772 agent #0 started [main process]
4088:20201217:093730.772 agent #1 started [collector]
1940:20201217:093730.772 agent #2 started [listener #1]
3432:20201217:093730.772 agent #3 started [listener #2]
1820:20201217:093730.787 agent #5 started [active checks #1]
1460:20201217:093730.787 agent #4 started [listener #3]
все машины в fron-end zabbixa добавлены не активные шаблоны и выставлен порт 10050.
Помогите разобраться в проблеме, ранее такого не было и я не пойму вообще что могло произойти с этими машинами.
Проблемные машины не на одном свитче находятся? Я видел подобную проблему и она была с сетевым оборудованием. Не знаю, как это может быть связано, но путем тестов удалось это выяснить.
Да на одном свиче, ну так и что с этим делать? Другого свича у нас нет, да и всё работает вроде нормально. Даже те проблемные машины раньше всё с агентом у них было нормально, а потом в один прекрасный момент такая ерунда.
Что делать, не знаю. Я не дебажил подробно эту тему. Просто свитч заменил. Самому интересно, в чем конкретно проблема.
Свежеустановленный Zabbix 5 на nginx как-то разграничивает доступ к веб-интерфейсу из LAN - тут он работает ок, и из других сетей под тем же пользователем - другие VLAN или из WAN через рутер. Ограничения - нет пунктов меню Configuration, Administration, нет собственно данных в виджетах, нет хостов в списке... База на MySQL на другом хосте в LAN - использовал NAS Synology.
Кто это режет, nginx, MySQL или сам Zabbix? Похоже на Zabbix, пункты меню пропали не зря.
Разобрался.
Создал своего пользователя, включил его в группу Zabbix administrators, и локально все было ОК.
По умолчанию в Zabbix 5 почему-то группа пользователей (user group) Zabbix administrators не имеет прав -- host groups:none.
Исправить (под дефолтным Admin):
Administration -> User Groups -> выбрать Zabbix Administrators (точнее, группу пользователя, которому нужен доступ) -> Permissions (видим All groups : none)-> выбрать все группы -> выбрать read или read-write -> кнопка Update
Странные администраторы по умолчанию, ну что есть. В 4 версии такого трабла вроде бы не было.
С пользователями и ролями в zabbix есть вои заморочки. Там все немного не очевидно. Сам часто путаюсь.
Здравствуйте, поступила задача настроить логирование на WINDOWS Server 2019. Я посмотрел что должен быть установлен шаблон active. В добавок необходимо создать новые элементы с log для считывания.
Я создал заббикс с версии 5 по вашей статье установил zabbix клиента zabbix_agent-5.0.4-windows-amd64-openssl. Поставил сначала шаблон обычный, он заработал, потом поменял на active и мне пишет ошибку Zabbix agent is not available (or nodata for 30m). Я не понимаю почему так происходит. Объясните пожалуйста что мне нужно сделать ?
В настройках я указал ServerActive=172.22.145.252 Server=172.22.145.252
Ошибка выглядит вот так 11324:20201211:095633.428 no active checks on server [172.22.145.252:10051]: host [FSO-19015] not found
Zabbix не решает вопросы логирования. Это система мониторинга. Для логов вам нужно ставить ELK Stack:
https://serveradmin.ru/ustanovka-i-nastroyka-elasticsearch-logstash-kibana-elk-stack/
https://serveradmin.ru/nastraivaem-sbor-logov-windows-server-v-elk-stack/
Предпочитаю не отключать SELinux. Защиту всё-таки не просто так придумывали, а отключать её и не пытаться разобраться, как с ней работать - не профессионально. Я это к тому, что настройка SELinux не помогает и сервер всё равно не запускается, хоть админка и работает.
Что значит настройка selinux не помогает? Если правильно настроить, поможет. Есть простой универсальный способ настройки selinux. Анализируем лог ограничений и на его основе создаем модуль, который разрешает то, что запрещено в логе. Попробуйте несколько итераций продлеать:
А вообще, чтобы понимать, нужна ли вам какая-то дополнительная защита на сервере мониторинга или нет, надо хотя бы модель угроз представлять. От какой конкретно проблемы ваз защитит selinux? Представляют ли вообще ваши данные мониторинга какую-то ценность для злоумышленников? Нет смысла без необходимости усложнять систему. Это увеличивает конечные расходы на поддержку.
В первую очередь, у меня не большой опыт работы с линуксом, и я сейчас его изучаю и практикую, в том числе и SELinux. Это понятно, что там где защита будет избыточной и она будет больше мешать, чем помогать, то там она будет отключена. Да и модели угроз пока непонятны. Поэтому SELinux пока не отключаю и хочу научиться его грамотно настраивать.
На счёт audit2allow читал такое, поэтому пока ищу другие способы поиска проблемы.
"Основная ошибка при настройке SELinux - пытаться использовать
утилиту "audit2allow". Audit2allow анализирует логи аудит-демона
(логи находятся по пути /var/log/audit/audit.log) и на основе протокола
ошибок доступа к тем или иным объектам строит модуль для SELinux с
разрешающими правилами.
Эта утилита нужна только лишь при разработке собственных модулей
SELinux, и при попытке как бы "настроить" через неё правила доступа,
в SELinux пробивается огромная дыра в защите. При помощи этой утилиты
можно, конечно, настроить исключения из общих правил действующей
политики, но при условии, что вы полностью понимаете все разрешающие
правила, которые создаёт эта утилита."
Все верно. Эта утилита бьет из пушки и может открыть много лишнего (но не обязательно!), потому что работает автоматически. Но тогда вам нужно учиться самим писать модули, а это не такая простая задача, которую можно решить в рамках настройки zabbix сервера. Особенно если опыт с линуксом небольшой.
Почистил audit.log, перезапустил заббикс-сервер и вот что записалось в лог:
type=AVC msg=audit(1607328067.189:516): avc: denied { name_connect } for pid=960 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328067.189:517): avc: denied { name_connect } for pid=960 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=SERVICE_STOP msg=audit(1607328077.343:518): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zabbix-server comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1607328077.390:519): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=zabbix-server comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=AVC msg=audit(1607328078.230:520): avc: denied { name_connect } for pid=1606 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328078.231:521): avc: denied { name_connect } for pid=1606 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328085.079:522): avc: denied { name_connect } for pid=958 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328085.079:523): avc: denied { name_connect } for pid=958 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328088.713:524): avc: denied { name_connect } for pid=1608 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
type=AVC msg=audit(1607328088.713:525): avc: denied { name_connect } for pid=1608 comm="php-fpm" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket permissive=0
Как я понял, проблема с доступами у php. В инете предложили ввести следующую команду:
setsebool -P httpd_can_network_connect 1
Перезапустил сервак, обновил страницу заббикса - сервер запущен.
Ещё, в самом заббиксе показало ошибку запуска агента. Сделал старт вручную - ошибок нет.
В дополнение к предыдущему комментарию. Сложилось впечатление, что Яндекс smtsp блокирует попытки отправки нескольких подряд подключений, возможно нужно как-то настроить таймаут между подключениями при отправке уведомлений или выполнять отправку всех писем за 1 сессию
Доброго времени суток.
Настроил заббикс по данной статье (это мой первый опыт работы с заббиксом).
Настроены оповещения по e-mail html (да и в текстовом формате проблема такая же)
при наступлении события одному пользователю оповещение уходит нормально, а при оповещении второго пользователя все время ошибка "Failure when receiving data from the peer".
пробовал поменять в администрировние\пользователь\уведомления e-mail адрес на другой, 1 раз из 10-ти помогло и уведомление было отправлено. После возвращения значения e-mail на первый вариант, ошибка стабильно повторяется. При тестирование уведомлений через администрирование\способы оповещения\тест (напротив e-mail) тест на первый адрес проблемного пользователя проходит успешно.
Не могу понять закономерности, т.к. проблема в 9 из 10 случаев и с вторым адресом проблеммного пользователя осталась, только 1 раз из 10 был безпробленный.
отправка идет через smtp.yandex.ru, отправитель blablabla@yandex.ru, т.е. в spf и dkim записях проблемы быть не может, т.к. яндекс для своих отправителей сам следит за их содержимым
Попробуйте просто другой почтовый сервер. Так хоть будет понятно, это проблема вашего zabbix или особенность почтового сервера яндекс. Проблема достаточно известная и гуглится неплохо, но причины ошибок везде разные. Вот пример - https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/410889-error-failure-when-receiving-data-from-the-peer
Да, через наш сервер с самоподписанными сертификатами проблем нет, но при его недоступности получим, что оповещение не придет, хотелось использовать более надежный плацдарм отправки почты.
с gmail отправителем еще больше проблем предвижу, как я понимаю, он вроде только c OAuth работает
Нет, у gmail обычная smtp авторизация. С интеграцией с zabbix проблем нет.
Добрый день.
Настраиваю мониторинг на Dlink через SNMP, есть 2-х юнитовый объединенный Dlink,
на первом юните мониторю стандартным OID: .1.3.6.1.2.1.2.2.1.10.16
А как мониторить второй юнит?
Доброго времени суток.Не подскажете...Я подключил несколько активных агентов присвоил им шаблон,но забикс выдает ошибку
Get value from agent failed: cannot connect to [[IP adress]:10051]: [4] Interrupted system call
Но несмотря на это последние !!данные приходят исправно!!И с графиками все ок
ЧЯДНТ не подскажете? Из-за этого я так полагаю он еще и выдает ошибку Zabbix unreachable poller processes more than 75% busy
https://prnt.sc/vhvqbc
Zabbix 5.2
Смотрите, что выходит. Вы пишите, что сделали несколько активных агентов. Напомню, активный это значит, что данные сам отправляет на сервер мониторинга. И данные у вас поступают, значит в этом плане все ок. А ошибка говорит о том, что сервер мониторинга не может подключиться к агенту. Он он и не должен подключаться, если агент активный. Агент сам подключается, передает данные и забирает указания, что мониторить. Может ошиблись и добавили оба агента - и активный, и пассивный?
Спасибо за ответ,не так выразился узлов несколько подключил по такой схеме.Уточняю все последовательность.Агенты виндовые машины,сервера.скачанный zabix agent2 с сайта который. Подправлен конфиг агента:
Server=IP заббикс сервера
ServerActive=IP заббикс сервера
Добавляю узел
имя-Имя компа на агенте
добавляю в свою группу узлов
интерфейс: "Агент"-"Ip-адресс агента" через IP-порт "10051"
Присоединил шаблон Windows active agent
Вот в такой конфигурации данные приходят но выскакивает та самая ошибка
С пассивными агентами проблем нет, пробрасываю порт на роутере и добавляю в виндовом фаерволе правило все ок.
Может с активными тоже нужны какие правила разрешать? С другой стороны мне бы просто данные не приходили а они доходят до сервера...
Данные доходят, потому что активные агенты их сами шлют. Тут никакие порты не надо пробрасывать, если доступ к серверу мониторинга прямой. Ошибка возникает, когда сервер пытается достучаться до агента и у него это не получается. Тут я затрудняюсь подсказать более конкретно. Вам надо самим разбираться по месту. Я активные агенты редко использую, предпочитаю больше централизацию и самим сервером все забирать.
Там где: Создадим теперь пользователя и базу данных mysql для zabbix.
Не хватает пробела: между -u и root: mysql -uroot -p
Это не ошибка. Без пробела так же работает, проверьте. Я обычно без пробела пишу. И пароль можно тут же без пробела указывать.
Доброго времени суток, пытаюсь сделать это "Открываем конфиг сервера заббикс" пишет что, нет таких файлов в директ
Значит либо не установили сервер, либо ошиблись с названием файла.
Добрый день. Делаю по инструкции (осваиваю zabbix). но уперся в то как сменить владельца на нового пользователя, подскажите пожалуйста
Владельца чего именно? Объектов веб интерфейса для удаления админа? Если пока просто осваиваете систему, можете оставить дефолтного админа. Потом, как разберетесь получше, сделаете.
Добрый день!
Очень хотелось бы увидеть статью про оптимизацию бд под заббикс и настройку поллеров, коллекторов и т.п. под большое количество айтемов, если у вас есть такой опыт.
Я не видел какого-то особенного тюнинга базы именно под Zabbix. Обычно все тюнят базы данных под highload примерно одинаково. В этом плане какие-то особенности именно zabbix мне неизвестны.
Добрый день!
Помогите, у меня Ubuntu 18.04 bionic. При попытки установки apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent, ошибка " Unable to locate package zabbix-nginx-conf" Что можно сделать?
Вариантов два:
1. Не подключили репозиторий zabbix.
2. Репозиторий подключили, но не обновили список пакетов через apt update.
что я делаю не так ?
mysql_secure_installation: команда не найдена
Mysql не установлен. Эта утилита в его составе.
делаю по мануалу, там про это не слово)))
Не понял, как это ни слова?
Подключаем репозиторий 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
# mysql_secure_installation
bash: dnf: команда не найдена
)
я на debian ставлю
тут видимо иначе ?
Я понял. В debian раньше в зависимостях zabbix-server был mysql, поэтому в статье я его отдельно не ставлю. А сейчас они его убрали. Надо будет поправить статью. Значит надо отдельно поставить mysql server:
# apt install mariadb-server
точнее не так
root@ххх:/home/ххх# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет zabbix-agent самой новой версии (1:5.0.4-1+buster).
Уже установлен пакет zabbix-frontend-php самой новой версии (1:5.0.4-1+buster).
Уже установлен пакет zabbix-nginx-conf самой новой версии (1:5.0.4-1+buster).
Уже установлен пакет zabbix-server-mysql самой новой версии (1:5.0.4-1+buster).
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
root@ххх:/home/ххх# mysql_secure_installation
bash: mysql_secure_installation: команда не найдена
что я делаю нет так ?
Здравствуйте! Помогите мне пожалуйста сделать mysql что бы был на другом сервере.
Я создал 2 сервера mysql с IP 10.0.0.243 и zabbix c IP 10.0.0.252 и теперь я хочу сделать ссылку на базу данных что импортировать структуру базы дынных Zabbix.
Как мне сделать ?
Переносите файл create.sql.gz на сервер mysql. Там создавайте пустую базу, пользователя и импортируйте структуру из файла create.sql. То есть сделать надо все то же самое, что в статье, только конкретно создание базы должно быть выполнено на сервере с mysql.
Это понятно. Но как соединить zabbix и SQL сервер ? Если они на разных серверах ?
В смысле как? Указываете в конфиге zabbix сервера не localhost, а ip адрес вашего mysql сервера.
Доброго времени суток.
Все получилось настроить по статье осталось только два вопроса:
1. В панеле сервера весит тригер Zabbix server Zabbix agent is not available (for 3m). От чего он ? как поправить ?
2. По внешнему IP адресу почему Web морда не открывается? Делал по статье https://serveradmin.ru/centos-nastroyka-servera/
Там в статье была настройка /etc/iptables.sh следующего содержания:
# Интерфейс который смотрит в интернет
export WAN=eth0
export WAN_IP=147.15.218.72 - Этот IP это тот что дает статику провайдер верно ?
Какая ошибка при открытии веб интерфейса?
Firefox can’t establish a connection to the server at 85.21.******
The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer’s network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.
И можно по первому пункту еще подсказать куда копать?!
Добрый день!
А как можно мониторить запущен ли ufw? proc.num[ufw] - не работает.
Посмотрите точное название процесса ufw в консоли командой:
# ps ax
У меня нет под рукой сервера с ufw. Я подозреваю, что это просто обертка над iptables, так что искать нужно iptables.
А вообще, firewall мониторят не работой какого-то процесса, а наличием определенных правил. Какой вам толк от того, что ufw работает, если в правилах будет все разрешено?
полностью с вами согласен касаемо мониторинга првила. А с ps не сработает, так как ufw запущен на уровне ядра.
Подскажите пожалуйста, добрался по инструкции когда уже в в морде вбиваешь Configure DB connection. Вбиваю все верно Database name, User, Password и вылетает ошибка: Cannot connect to the database.
Unable to determine current Zabbix database version: the table "dbversion" was not found. Что я сделал не так ? К какому пункту мне вернуться в мануале вышем ?
добрый день!
>>Zabbix database version: the table "dbversion" was not found. Что я сделал не так ? К какому пункту мне вернуться в мануале вышем ?
Дело в том, что при установки скрипта:
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password:
При вводе пароля - установка будто зависает, и ничего не происходит, нужно подождать, я ждал минут 15-20, после этого - откроется обычная консоль, сообщения об успешной команды не будет.
Проверить, выполняется ли запрос, можно подключившись второй раз по ssh, ввести команды:
mysql -uroot -p
mysql> show processlist;
Через пару минут ввести еще раз
mysql> show processlist;
Процессы будут другие - т.е установка идет :)
Посмотрев список процессов вы ничего не увидите полезного по теме заббикс :) Для того, чтобы проверить, отработала ли команда с файлом create.sql.gz, надо зайти в базу zabbix и посмотреть, появились ли там таблицы. Она просто в пустой базе создает структуру таблиц и полей в них. И все, больше ничего. Операция достаточно простая и проблем с ней быть не должно, если база создана, запущена и к ней есть доступ.
Таблицы создаются. Есть решение вопроса???
Решили вопрос? Если да, то как? У меня такая же проблема
тот же вопрос. Как исправить ошибку? Unable to determine current Zabbix database version: the table "dbversion" was not found.
apt install zabbix-sql-scripts
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix
Владимир, добрый день,
подскажите пожалуйста в какую сторону двигаться: есть железка умеющая отправлять трапы при сработке датчиков сигнализации (тип "сухой контакт", с простой логикой: 1 есть сигнал, 0 - нет сигнала). Я настроил триггер, который опрашивает контакты на предмет 0 там или 1 раз 5 сек. Но есть мнение, что это не совсем правильно - типа железка должна трапом сама сигналить о том, что что-то у неё изменилось, а не ждать пока её опросят. Логика посылки трапов у неё также меняется - может за интервал, при сработке датчика 1-н трап отправить, а может пачкой посылать до тех пор, пока не будет исправлена причина поломки/сработки.
Как правильно на это реагировать в плане обработки таких событий Zabbix-ом. Как бы Вы сделали?
Не до конца понял сути вопроса. Если для вас промедление в 5 секунд критично, принимайте трапы сами с устройства. Если не критично, то опрашивайте. Я обычно сам опрашиваю, потому что это удобнее в работе и отладке. Всем управляешь с самого сервера мониторинга. При желании, вручную опрашиваешь метрики и т.д.
Спасибо. Вопрос был в том, какой способ более правильный (или самому делать опрос через интервал, либо чтобы устройство само сигналило о проблеме трапом, который потом ловить и обрабатывать).
Не подскажите ещё по поводу ловушек трапов в zabbix - в документации описываются примеры для старых версий (через snmptt), как построить их приём, сначала на сервере в лог, чтобы потом передавать их оттуда в мониторинг. В 5-ой версии в этом плане ничего не изменилось - может какой-то более удобный способ есть реализованный средствами zabbix-а, без использования доп. утилит?
Я точно не помню. Настраивал прием трапов последний раз очень давно еще на 3-й версии стандартным средством, которое было описано в документации заббикса.
В любом случае спасибо Вам за полезную информацию! В качестве пожелания, можно попросить вас рассмотреть вопрос про детальную настройку snmp трапов в Zabbix в следующих статьях. Данная тема в цикле статей про Zabbix и мониторинг будет востребована, как мне кажется. Тем более на актуальных версиях софта (zabbix 5+centos8).
Здравствуйте, СПАСИБО большое !
В системе Zabbix уже существуют 3 шаблона на VMWARE. Как их подключить к своей EXSI и vCenter что бы я мог мониторить ( Интересует каким протоклом SNMP или ещё каким то ?)
Тут не могу подсказать, так как vmware не приходилось мониторить. Она слишком дорогая и у моих клиентов ее нет. В общем случае, сбор метрик идет по snmp, так что ничего особенного делать не надо. Надо настроить доступ со стороны Zabbix по snmp к vmware и прикрепить к ней соответствующий шаблон.
Здравствуйте. Спасибо большое за статью!
Пассивные проверки в локальной сети работают, но еще существует необходимость мониторить хост за NAT.
На этом хосте в файле конфигурации агента указал: ServerActive=, Hostname=, HostMetadata=. Открыл порт 10050.
На сервере настроил действие авторегистрации активных агентов - в условии хостметадата, в операциях: добавление узла, добавление узла в группу, прикрепление к шаблону(выбрал стандартный для активных агентов: Template OS Windows by Zabbix agent active).
В итоге в логе на хосте выдает сие https://ibb.co/NVhmddx.
Это значит что агент обращается к серверу, но не находит активных проверок для своего хоста на сервере? Или что вообще не может достучаться до сервера? Подскажите пожалуйста что именно я упустил при настройке.
Решено.
По какой-то причине стандартный шаблон не работает.
При создании шаблона вручную с указанием типа(активный агент) для элементов данных - хост зарегистрировался, активные проверки выполняются.
Здравствуйте, возникла проблема You are not able to choose some of the languages, because locales for them are not installed on the web server. Не могу выбрать русский язык, что делать ?
Зависит от системы. Вот решение для Centos 8 - https://serveradmin.ru/centos-8-locale-for-language-ru_ru-is-not-found-on-the-server/
Нужно добавить русский язык в систему.
Владимир, здравствуйте,
можно задать Вам пару вопросов:
1. с какой версии лучше начать знакомство с zabbix, с 4-ой или 5-ой. При условии, что ранее с ним вообще никогда не сталкивался. Для начала хочу развернуть/посмотреть на домашней VM. Какая проще на ваш взгляд?
2. можно ли 5-ую версию развернуть на веб-сервере, под centos7 где работает связка nginx+apache? (просто он уже есть, установленный/настроенный). По идее только конфиги поправить, БД создать и т.д.
3. в 5-ую версию можно ли подгрузить шаблон сделанный под тройку или структура сильно уже другая и придётся адаптировать?
1. Конечно с 5-й. Какой смысл изучать прошлую версию, когда 5-я LTS.
2. Можно. Zabbix это по сути обычный php сайт. Особых требований к хостингу нет.
3. Что-то можно, что-то нет. Зависит от шаблона. Чаще всего можно, но есть исключения.
приветствую, коллеги, такой вопрос, я настроил центос и заббикс по этим инструкциям, но когда дошел до подключения в веб, по 10.20.1.23, ничего не произошло, отключил и iptables (хотя до этого тоже по статье настраивал), и отключил firewalld, но ничего не помогло, как думаете, в чем может быть проблема?
за статью огромное спасибо!
Что значит ничего не произошло? Какая ошибка была?
не удалось получить доступ сайта, превышено время ожидания, ну вот эта стандартная байда)
к сайту*
все делал по видосу, только с адресом своей сети, и на версии 8.2.2004, но не думаю, что это сильно сыграло роль
Доброго дня! Всё делал по инструкции, всё работает! Помогите, пож-та, разобраться с одним моментом: при недоступности Активного агента оповещение приходит только через 30 минут (Zabbix agent is not available (or nodata for 30m)), т.е. по логам срабатывает триггер agent.ping.nodata(30m)}=1. Как уменьшить время до 10 или до 5 минут? Ключ agent.ping, интервал обновления 1 минута, триггер Zabbix agent is not available (or nodata for {$AGENT.NODATA_TIMEOUT}) а вот где задана цифра 30 минут - не могу найти. Это какое-то дефолтное значение? Как его поменять?
Так вот же триггер:
agent.ping.nodata(30m)}=1
Вместо 30m сделайте 5m.
Если следовать этому мануалу касаемо debian 10, то всё ломается на моменте # mysql_secure_installation
Ставил на чистую систему. Нет этого скрипта, команда не выполнится
На Deb10 необходимо выполнить apt install mariadb-server
на centOS 8 не запускался веб-интерфейс из-за отсутствия прав nginx на /var/lib/php/session/
После назначения все завелось.
Спасибо за статью!
Добрый день, Владимир!
Спасибо за статью, установил Заббикс по ней, все летает, мониторинг мониторится, но есть НО)
Добавляю имена служб виндовых в регулярные выражения, такие как BITS и TrustedInstaller, а Заббикс один хрен по ним проблему выдает. Изменил "Период сохранения потерянных ресурсов" на 1 час, вместо 30 дней. Один хрен.
Не понял, куда вы регулярные выражения добавляете и что хотите сделать?
По умолчанию идет мониторинг всех служб Windows в стандартных Шаблонах. Заббикс все время выдает как проблему такие службы как BITS и TrustedInstaller, при их часто автоматическом включении\выключении. Как я понял по многим описаниям на просторах интернета, можно добавить названия данных служб в "Администрирование - Общие - Регулярные выражения - Windows service names for discovery" в конец строки перед скобкой и тогда Заббикс должен начать игнорировать данные службы. Но этого по какой-то непонятной мне причине не происходит. Так же нашел комментарии по данной теме, что нужно изменить "Keep lost resources period" в настройках шаблона "Windows services discovery". Менял с 30 дней на 60 минут. Не помогло. Знакомые рекомендуют самому создать шаблоны на нужные мне службы, но у бывали случаи, когда по разным причинам не работали совсем уж очевидные службы, которые и не подумаешь добавлять в мониторинг, такие как "просмотр событий". Поэтому хотелось бы пойти от противного, сделать "все мониторится, кроме".
Интересно. Я не знал о возможности ограничить автоопределение служб регулярными выражениями. У меня в настройках вообще нет регулярного выражения Windows service names for discovery. Там только для сетевых интерфейсов и файловых хранилищ.
Я обычно отключаю автоопределение виндовых служб и вручную добавляю на мониторинг только те службы, что мне нужны. Стандартный шаблон дает кучу срабатываний, которые лично мне просто не нужны. Я не хожу проверять эти службы. Они могут не запуститься по разным причинам и это не будет критическим событием.
Насчёт регулярных выражений очень многие пишут. И судя по комментариям - это работает. Не могу понять, почему у меня не работает)
Странно, что отличается наполнение, все делал по Вашей инструкции)
Заббикс стоит у меня уже две недели. За это время я добавил в него 11 серверов на 2012, 2016 и 2019 винде. Ругается пока что только на 6-7 одних и тех же служб. Причём все стандартные и "беспокойные".
Самый простой и быстрый вариант, это зайти в хосты и вручную отключить триггеры от ненужных служб. И все. Автообнаружение их трогать уже не будет и они не станут беспокоить.
Зашел в шаблон который прикрепил к сервакам, зашел в его присоединенные шаблоны, нашел там шаблон отвечающий за службы и в его макросах добавил в уже имеющиеся там исключения нужную мне службу. По сути данный пункт дублирует Регулярные выражения, но почему-то вопреки многочисленным описаниям в интернетах регулярные выражения у меня не работают, а вот данный пункт сработал.
Спасибо, Владимир - это самая доходчивая инструкция на русском! Завелось с первого раза с мониторингом белых ресурсоа, правда, с мониторингом за NAT (с помощью активных агентов) пришлось попотеть. Да, кстати, время в веб-интерфейсе убежало на час вперед, почти сутки разбирался. Единственное, что можно добавить к статье, так это пару слов по настройке SSL для веб-интерфейса(желательно, бесплатных самоподписанных) . Всё, что я нашёл - настройки для apache, а в нашей инсталляции он не используется. Это нужно копать в заббиксе или в nginx?
По сути zabbix использует обычный веб сервер. Как к нему прикрутить ssl, можно посмотреть в моей статье про веб сервер - https://serveradmin.ru/nastrojka-web-servera-nginx-php-fpm-php7-na-centos-8/#_ssl_Lets_Encrypt
Спасибо, всё получилось!
Спасибо за статью!!! Очень помогла!!! После настройки SELinux(или пропуска у кого откл) Идет сразу настройка PHP без какого либо заголовка если поправить будет более структурировано. Еще в настройке Web интерфейса наткнулся на ошибку ‘caching_sha2_password’ прямо в теле вебинтефейса хотя все делал по порядку и все было успешно с базой. Решается если еще раз определить пароль на юзера ``mysql> ALTER USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY '%your_password%';.`` Застрял на email оповещениях постояно натыкаюсь то на 530error то еще на что нибудь при тестировании.....
В статье пользователя mysql я так и создаю:
Я с вами не спорю) делал все по вашей инструкции база на все действия писала 'Ok' но проблема все равно вылезла на web интерфейсе. Портатил час времени на решение так как я ещё совсем джуниор...решил в комментариях оставить как триггер, может кому поможет.Спасибо, статья что надо!
спасибо! действительно нашел Ваш комментарий по поиску и помогло!
Добрый день.
Как установить Zabbix 5.0 на Linux CentOS 7.7.1908 c MariaDB на базе Nginx c PHP 7.2, php-fpm через сокет.
Можно внятную инструкцию по установке от начала до конца, по типу этой статьи...https://serveradmin.ru/ustanovka-i-nastroyka-zabbix-4-0/
Мне нужно разворачивать на CentOS 7 это в продуктиве, а не проводить эксперименты с CentOS 8, да к тому же 8 линейка мне не нравится.
Нравится не нравится, а Centos 8 это наше будущее, с которым придется работать в ближайшие несколько лет. Статей по Centos 7 у меня уже не будет.
здравствуйте. пытаюсь настроить чтение БД Percona через удаленный компьютер средствами DBeaver 6.3
не могу дать права пользователю для удаленного подключения к БД. постоянно ошибки или синтаксис не верный или что мне запрещено пользоваться GRANT. я так понимаю синтаксис у Percona немного отличается от MYSQL?
команды типа:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
или
GRANT SELECT ON * . * TO 'zabbix-reader'@'172.27.1.120';
ничего не получается...
в файлике etc\my.cnf прописал bind-address = 0.0.0.0
хотя не знаю нужно это или нет...
если сталкивались прошу помочь или направить куда копать
вот что еще пример из консоли
mysql> GRANT ALL ON zabbix.* TO 'root'@'%';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
У Percona синтаксис полностью идентичен Mysql. Вы просто что-то делаете не так. Мне так трудно посоветовать, так как не вижу, что и как у вас настроено. Плюс, не знаю, что такое Dbeaver. В общем случае вам надо разобраться с настройкой mysql. К zabbix это не имеет отношения.
Здравствуйте, а не могли бы вы добавить к статье как настроить триггер проверки строки на сайте.
Например если на страницу через php выводится "OK" и нужен триггер который будет срабатывать если "OK" не найдена и отключаться если снова все в порядке.
Я вроде сделал так чтобы триггер срабатывал если не нашел искомую строчку на сайте(через Last error message of scenario), но выключить его если все в порядке никак не получается((
Заббикс 5.0
У меня есть отдельная статья по этой теме - https://serveradmin.ru/monitoring-web-sayta-v-zabbix/
Добрый день.
Статья отличная, но вопрос
Minimum required size of PHP post is 16M (configuration option "post_max_size").
Minimum required limit on execution time of PHP scripts is 300 (configuration option "max_execution_time").
Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time").
Time zone for PHP is not set (configuration parameter "date.timezone").
Хотя в php.ini всё вписано. У вас этот шаг как то пропущен...
Установлен nginx + php7.3-fpm + phpmyadmin + сайт на wordpress, а на zabbix спотыкается установка.
Куда копать ?
UPD отбой
правил не тот конфиг
/etc/php/7.3/cli/php.ini вместо
/etc/php/7.3/fpm/php.ini
Добрый день, подскажите, пожалуйста, в чем может быть проблема, после настройки сервера выдает такую ошибку "Zabbix сервер запущен Нет"
Собственно, Zabbix server не работает. Возможно он просто не запущен, может не запускается из-за ошибки какой-то. Надо идти в консоль сервера, попробовать запустить:
systemctl start zabbix-server
Если не поможет, то смотреть лог /var/log/zabbix/zabbix_server.log на предмет ошибок. В принципе, в статье все это есть. Посмотрите внимательно.
zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running)
[Z3001] connection to database 'zabbix_db' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: NO)
Вот ваша ошибка:
Access denied for user ‘zabbix’@’localhost’
Сервер не может подключиться к базе данных mysql по тем данным, что вы указали в конфиге. Либо в самой базе забыли создать этого пользователя.
Добрый день, Владимир!
Столкнулся с такой проблемой: при установке компонента zabbix-nginx-conf в Debian 9.11 получаю ошибку "Package has no installation candidate". Соответственно, как я понимаю, отсутствует файл /etc/zabbix/nginx.conf
Не подскажете, в какую сторону смотреть для решения?
Возможно для Debian 9 просто не собрали этот пакет. В целом, если разбираетесь в настройке веб сервера, сделайте все вручную. По сути, надо либо виртуальный хост отдельный сделать, либо алиас и настроить исполнение php скриптов. Zabbix не требует специальных настроек веб сервера. Он работает как обычный php сайт, типа wordpress и т.д.
Благодарю за ответ!
Настройка сложностей не вызывает, просто думал, может быть там что-то специфическое есть.
После установки на 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
Добрый день.
Почти та же самая ошибка...Установил Zabbix 5.0.1 на CentOS 7.7.1908+Nginx по инструкции с сайта Zabbix, https://www.zabbix.com/ru/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=nginx
nginx тоже показывает welcome page, вместо редиректа на index.php
Там действительно не все настройки написаны
Отредактировал файл /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
Раскоментировал...
# listen 80;
# server_name example.com;
И изменил на...
listen 80 default server;
server_name localhost;
Дальше изменил в файле /etc/opt/rh/rh-nginx116/nginx/nginx.conf
listen 80 default server; на listen 80;
listen [::]:80 default server; на listen [::]:80;
Но всё равно осталось всё то же, при входе в фронтэнд по ip, nginx показывает welcome page, при добавлении к ip/index.php открывается Zabbix.
Помогите пожалуйста.
Так вот же выше инструкция, с видео. Можно все посмотреть и повторить. Для Centos 7 отиличий не много будет. У меня есть прошлые статьи для Centos 7 и тоже с видео. Посмотрите.
Привет, всем!
Вкратце, выполняю чистую установку 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?
Здравствуйте, полезная очень статья, но как факт могу добавить если у вас на centos отключен ipv6, то в файле /etc/nginx/nginx.conf лучше закомментировать строчку listen [::]:80; т.к. с этой строчкой не будет стартовать сама служба nginx, с указанием, того, что не знает что это за директива. Спасибо!
Если 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
После этого надо еще раз собрать модуль для selinux на основе анализа лога и применить. Как-только появляются новые ограничения на что-то, надо обновлять модуль, пока он не соберет в себе все разрешения.
Не могли бы вы сделать статью о то как мониторить на коммутаторах только аплинк порты? заранее спасибо.
Это сильно от железок зависит. Лично я вручную не собирал ни один шаблон для мониторинга сетевых устройств. Все время находил готовые в сети. Сидеть самому искать oid и mib очень муторно. А потом еще автообнаружение писать. Сейчас как раз занимаюсь мониторингом сетевых устройств, но все равно на базе готового шаблона от производителя работаю. Не с нуля делаю.
Решили мы на нашем предприятии внедрить заббикс.
все вроде срослось (ставил ubuntu + mysql) убунта 20, заббикс 5.0
Но возникла проблемка на первых же шагах использования. sql съедает память под 100%, в мониторинге было сам сервер заббикс, роутер и мой комп.
Решил перейти на постгрескл, но столкнулся с неприятностью. Вроде как должен работать, но нет)) Сам сервер запустился, в логах все прекрасно. Но как только захожу на веб интерфейс, он предлагает лишь mysql. Что ему не так, я пока не понял. Самое интересное, коробочный вариант тоже только с mysql. Попробовал отключить ngnix, заходить через appache, но результат тот же. Менял браузеры. Даже влез в /usr/share/zabbix/include* там все php. Но с моей точки зрения он должен дать выбор как минимум из 3 DB... попробую centos+postgresql.
А пакет точно поставили для 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 установил и сразу все заработало. будем осваивать систему.
Здравствуйте, Владимир! Статья супер! Спасибо Вам за то, что делитесь знаниями!
Вопрос возник, может Вы скажете как поступить.
С настройкой всё получилось! Спрятал заббикс за нат, настроил мониторинг нескольких распределенных сетей через прокси, подрубил шифрование, все хорошо. Но, возник вопрос, которого у меня раньше не было. Возможно это было всегда, но меня беспокоит, что файлик {$ZABBIX.SERVER}/setup.php все же остается после конфигурации остается на месте и позволяет в любое время конфигурировать фронт. Как Вы поступаете в таких случаях? Удаляете подобные опасные штуки?
Не задавался этим вопросом вообще, в голову не приходило. Возможно, установка не пройдет по второму разу и стоит какая-то проверка на это, не знаю. Я не строил никогда публичные системы мониторинга. Чаще всего доступ к мониторингу приватный, только я, либо заказчик. Поэтому не прорабатывал отдельно вопросы безопасности. По хорошему, установщик надо удалить.
Я не понял как настроить шаблон для snmpv3. Пропал пункт меню "snmpv3 агент" есть просто "snmp агент". Нет полей для ввода логина и паролей. Подскажите пожалуйста
Вот эти параметры в настройках хоста.
Здравствуйте!
Скажите, занимаетесь ли Вы установкой и настройкой Zabbix 5.0 для малого бизнеса?
Мы бы хотели с Вами посотрудничать.
Да, обращайтесь - https://serveradmin.ru/kontaktyi/
Добрый день, а не могли бы вы опубликовать последовательность установки msi пакета агента посредством GPO.
Спасибо.
Так а в чем там сложность? Это стандартный пакет, разворачивается через gpo, как и любой другой. Параметры подключения передаются в качестве ключей. Подробнее в документации, в самом конце - https://www.zabbix.com/documentation/current/manual/installation/install_from_packages/win_msi
Спасибо за статью.
А почему не постгрес в кач-ве базы? Там же фишка именно в связке постгрес + timescaledb.
Я уже ниже отвечал. Я работаю с малым и средним бизнесом. Там нет больших нагрузок на мониторинг.
Коллеги, подскажите
Зачастую, когда сталкиваюсь с настройкой отправки почтовых уведомлений и сейчас, при настройке уже поставленного с нуля цен8 и забб5 сталкиваюсь с проблемой настройки постфикса и не получается отправлять тестовые уведомления с самого заббикса :
Ошибка при тестировании способа оповещения.
SSL connect error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Хотя консольно отправка писем с помощью постфикса работает
Как поправить данную ошибку, кто-то сталкивался ?
Ошибка скорее всего из-за версии протокола TLS. Centos 8 не поддерживает старые протоколы, а заббикс, судя по всему, пытается отправить через что-то старое. Подробнее здесь - https://serveradmin.ru/centos-8-tls-v1_0/
Здравствуйте!
после применения правила и перезапуска postfix ( https://serveradmin.ru/centos-8-tls-v1_0/) данная проблема так и осталась, может вы сталкивались дополнительно с ней?
При отправке с ssl/tls получаю ошибку: SSL connect error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
При отправке с STARTTLS: Weird server reply: Got unexpected smtp-server response: 421
Вопрос не совсем про zabbix: почти на всех машинах, где установлен mysql-сервер, zabbix показывает проблему: MySQL: Buffer pool utilization is too low (less 50% for 5m) Подскажите, как подобрать параметры под каждый сервер? ориентируюсь на подсказки mysqltuner, но проблема не проходит.
Я не знаю, что показывает этот триггер. Надо смотреть, что конкретно он измеряет. От этого и плясать. Сам обычно тоже по mysqltuner настраиваю.
Спасибо за статью. Решил не тащить старый Zabbix сервер, а переустановить с нуля все. Вопрос по Zabbix Proxy: настроить шифрованное подключение также, как и на агенте?
Да, там те же настройки.
Всем привет!
коллеги, а насколько безагентный мониторинг "хуже/беднее" чем агентный?
Интересует мониторинг Microsoft (Windows Server/Hyper-V/MS SQL/IIS) + Vmware
Очевидно, что безагентный будет менее функционален. Другой вопрос, что если безагентного мониторинга достаточно, что нет смысла использовать агенты.
Добрый день!
застрял на шаге, где создаем базу данных, а именно:
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p
Enter password:
ERROR 1046 (3D000) at line 1: No database selected
Можете помочь, пожалуйста?
З.Ы Огромное спасибо за статью!
Полностью команда выглядит так:
Вы ее не полностью вводите, базу обрезали.
Команду вводил такую же как в статье, просто использовал разные вариации) Удалось починить путем пересоздания БД.
Обновил с 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
"
Куда копать?
Обычно после обновления zabbix при первом запуске новой версии идет обновление базы данных. Если она большая, это длительный процесс. Нужно следать за ним по логу, чтобы убедиться, что он выполнен. Рекомендую почитать логи на предмет этой информации.
Хотя посмотрел внимательнее, база судя по всему обновилась, а фронтенд нет, так как он хочет базу версии 4.4.
Ну да, так и есть. У вас же фронт - zabbix-web-4.4.8-1.el7.noarch. Судя по всему обновили вы не все пакеты.
Добрый день!
В статье вы написали что используете именно этот дистрибутив Mysql из-за бекапов, а почему вообще Mysql а не posgresql?
Я много у кого интересовался, отвечают что postgresql лучше по производительности и конфе из коробки...
Спасибо за Ваш труд!
У меня нет больших нагрузок, поэтому не принципиально, mysql это или postgresql. Я в основном с небольшими проектами сотрудничаю. Mysql мне просто привычнее и проще в эксплуатации.
Интересно поменяли шаблон в обнаружения сетей в Windows? В версии 4.4.7 создавались элементы с не уникальным именем сети. И часть сетевых просто необнаруживалась, так же были вопросы с какой из сетевой zabbix получает данные, раз у него две с одинаковым именем. Пришлось вернуть обнаружение сети через net.if.discovery.
Я практически не использовал промежуточные шаблоны версий 4.2, 4.4. Буду переезжать на новые шаблоны уже на 5-й версии. До этого выборочно смотрел новые, но они сильно поменялись. Повылазили куча ненужных данных и триггеров. Надо внимательно разбираться и отключать лишнее.
Владимир, благодарю за статью! Очень подробно и интересно! Но очень интересует почитать про обновление с 4.4 до 5.0. Может что-то не так обновил, но после обновления новых фич не появилось. Просто новый веб интерфейс. А вот к примеру доп. способы оповещения их почему то нет. Если подскажете, буду очень благодарен!
Владимир, благодарю за статью! Как всегда, выше всех похвал! Тоже очень интересует почитать про обновление с 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
Еще потом почистить кэш браузера, иначе картинки интерфейса могут не отображаться, у меня так и произошло
Технически все просто. А вот как практически склеятся старые настройки с новыми не понятно. Надо тестировать.
да, действительно, вы правы, у некоторых выходит ошибка бд
https://bestmonitoringtools.com/upgrade-zabbix-to-the-latest-version/#Step_10_How_to_Upgrade_Zabbix_4x_to_50_on_CentOS_7
Спасибо! По этой статье обновилось все корректно.
Вообще-то там не все так радужно, советую посмотреть подробнее.
Во первых в 5.0 шаблоны сильно изменились по сравнению с 4.Х версиями. И когда у вас идет апгрейд с 4.Х версий -->> у вас остаются старые шаблоны (Template). А новые нужно качать с Github`а, и импортировать, и заменять. И основной вопрос в том что в этом процессе, если были кастомные Item`ы, и Trigger`ы --> их прийдется создавать вручную. Так-же может быть потеряны данные прошлых периодов (мы же у старых хостов удаляем шаблоны, и новые подключаем).
Если вам не важно сохранить историю, и нету кастомных Item`ов и Trigger`ов --> тогда да, можно "раз два и в продакшен". Если же подходить серьезно, и основательно - там не все так просто.
Будет скоро, через 2-3 дня, когда сам все проверю.
Утро доброе! Очень ждал подобную статью, т.к. в целом стал осваивать заббикс и очень нравились нововведения в 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. Благо тачка сугубо тестовая и было не жаль потерять половины данных, но в проде так "пакостить" нельзя :)
Статья по обновлению обязательно будет, так как я сам буду свои сервера обновлять. Но нужно будет аккуратно подойти к вопросу. Пока не понятно, что станет с теми же шаблонами оповещений, которые теперь вообще в другом месте настраиваются.