Автор ХостМастерНа чтение 36 минПросмотров337Опубликовано
1-го октября 2018 года вышла новая версия бесплатной системы мониторинга, которую я постоянно использую. Я подробно расскажу об установке и начальной настройке Zabbix 4.0 на примере систем CentOS, Debian, Ubuntu со скриншотами и пояснениями. В этой версии много интересных и полезных нововведений, так что посмотреть на неё однозначно стоит.
Если у вас есть желание научиться администрировать системы на базе Linux, рекомендую познакомиться с онлайн-курсом «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Подробная информация .
Присоединился: 3 года назад
Коллеги, всем добрый день.
Такой вопрос, вдруг кто сталкивался.
Имеется Zabbix на ESXI, который успешно работает, с него делается снапшот.
Снапшот разворачивается на другом ESXI с другим именем виртуальной машины и на другом IP.
Соответственно, ничего не меняется, кроме самого IP виртуальной машины и имени (по сути).
Все настройки .conf, база данных, все остальное — неизменно.
В лог файл информация не пишется, PID не создаётся.
Кто-то сталкивался с подобным? Есть какие-либо мысли?
Присоединился: 10 лет назад
Попробуй сделать reinstall пакета zabbix-server-mysql. Такое ощущение, что я уже видел что-то подобное и помогла перестановка. Именно после клона не стартовал сервер.
Присоединился: 5 лет назад
Если вы установили серверную часть системы мониторинга Zabbix на системах RHEL (Oracle Linux, RedHat, CentOS) и вроде бы всё правильно, но в веб-интерфейсе вылазит ошибка
Zabbix server is not running: the information displayed may not be current
то, здесь обычно 2 варианта:
самый простой — не запущен или не корректно сконфигурирован демон zabbix-server. Проверьте, совпадают ли номера портов в конфигах zabbix-server ( /etc/zabbix/zabbix_server.conf ) и zabbix-web ( /etc/zabbix/web/zabbix.conf.php ), а так же правильно ли настроено подключение к БД.
если всё в конфигурационных файлах правильно и демон запущен, это скорее всего значит, что вам надо или отключить систему защиты SeLinux совсем или — что будет корректнее — изменить политику доступа к портам системы для демона httpd.
1. Проверим, что проблема действительно в настройках SeLinux:
Должны периодически добавляться в лог строки вроде этой:
должна в таком случае дать результат:
zabbix_can_network —> off
Изменим политику для httpd:
setsebool -P httpd_can_network_connect on
Результат должен быть следующий:
httpd_can_network_connect —> on
Теперь веб-интерфейс Zabbix должен нормально подключаться к серверу через порт 10051 (по-умолчанию) и ошибка исчезнет.
Не знаю из за чего но сервер zabbix вроде бы запушен но на панели показывает
root@Zabbix:/# service zabbix-server restart * Stopping Zabbix server zabbix_server
No process in pidfile '/var/run/zabbix/zabbix_server.pid' found running; none killed. ...done. * Starting Zabbix server zabbix_server ...done.
На сегодняшний день, по моему мнению, из бесплатных систем мониторинга именно Zabbix самая популярная и функциональная. Упоминания о ней я постоянно встречаю в технических статьях специалистов различного масштаба и организаций. К примеру, СберТех использует Zabbix как единую платформу мониторинга. И Т отдел сети магазинов Магнит так же использует zabbix как основную систему мониторинга. Пару лет назад я смотрел выступление представителя ИТ отдела Магнита, где он подробно описывал структуру системы. На тот момент это была самая крупная инсталляция заббикса с тысячами прокси серверов для сбора данных из магазинов по всей стране. Упоминания о мониторинге заббикс я встречал у специалистов компаний 1С, Крок, Яндекс. Деньги и других. Перечислил только то, что запомнилось.
Нужно понимать, что Zabbix — система мониторинга общего назначения. У нее нет специализации в микросервисы, сеть, железо и т.д. В связи с этим, всегда может найтись инструмент, который сможет выполнять ту или иную задачу удобнее и эффективнее, чем zabbix. Но это не умоляет остальных достоинств системы. Я их вижу в первую очередь в том, что в ней можно настроить мониторинг всего, что угодно. Главное научиться подавать значения в систему. А для этого есть масса инструментов — как самих агентов, так и скриптов, которые можно подключать к сбору данных.
Система мониторинга Zabbix позволяет так или иначе завести на нее все обслуживаемые сервисы. Где-то это может быть не очень просто, но в любом случае, один универсальный инструмент удобнее, чем несколько. Мне всегда удавалось настроить желаемый мониторинг с помощью заббикса. Если не было готовых шаблонов или подходящих агентов для сбора, писал скрипты и передавал ими данные агенту. С моими (и не только) решениями по мониторингу можете познакомиться в отдельном разделе zabbix .
Чем меня еще подкупает zabbix — хорошая документация и большое комьюнити. Много выступлений от различных специалистов с описанием внедрений. Все это облегчает работу с системой. Проще принять решение как поступить в той или иной ситуации. Сами разработчики постоянно проводят встречи, приглашают выступающих, потом выкладывают видео. В общем, система со всех сторон оставляет благоприятное впечатление.
Я буду устанавливать и настраивать работу сервера zabbix на nginx, что несколько отличается от дефолтной установки, которая включает в себя веб сервер apache. В связи с этим, нам необходимо будет подготовиться.
Присоединился: 7 месяцев назад
На Debian 11 поднял mySQL , установил Zabbix-server-mysql, но при запуске возникает ошибка, не создаётся log файл. Один раз переустановил, но проблема не решилась. Помогите где еще поискать проблему.
# systemctl status zabbix-server
● zabbix-server.service — Zabbix Server (MySQL/MariaDB)
network monitoring solution — server (using PostgreSQL)
Присоединился: 7 месяцев назад
Присоединился: 7 месяцев назад
Я начал вводить команды passwd -u потом задавал пароль но менял оболочку на /bin/bash но всё четно, не хватало пермишенов. Далее нужда в этом резко отпала но zabbix перестал работать. Вернул настройки назад, удалил пароль заблочил аккаунт. и Всёравно.
Вот логи
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2400.0 Iron/45.0.2400.0 Safari/537.36″
[Mon Oct 03 10:44:06.630108 2016] [core:error] [pid 26893] Permission denied: [client 10.180.2.74:32335] AH00035: access to /zabbix/jsrpc.php denied (filesystem path ‘/usr’) because search permissions are missing on a component of the path, referer: zbx/zabbix/hosts.php?ddreset=1
Белым по черному написано, что доступ запрещен. Проверяйте разрешения на указанные папки.
Привет! У меня схожая проблема.
Только она заключается в том, что заббикс не может подключиться к базе.
в логах:
connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)
database is down: reconnecting in 10 seconds
14 авг. 2023, в 23:59
5000 руб./за проект
14 авг. 2023, в 23:09
500 руб./за проект
14 авг. 2023, в 23:05
50000 руб./за проект
Минуточку внимания
Установка сервера Zabbix 4. 0 в CentOS
Для того, чтобы установить Zabbix Server 4.0 на Centos 7 нужно подключить репозиторий актуальной версии.
В зависимостях пакетов будет httpd, который нам не нужен, так как у нас будет nginx и php7.1, но я не разбирался, как поставить без него. После установки пакетов, создадим базу данных, пользователя zabbix и заполним базу.
# mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
exit
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.
Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout , так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется для получения метрики. Поставьте секунд 10.
Это нормально, сейчас настроим SELinux для нормальной работы Zabbix. Для этого устанавливаем пакет policycoreutils-python, скачиваем готовый модуль для SELinux и применяем его.
Снова проверяйте log файл. Теперь ошибок быть не должно. Как я уже сказал, если у вас отключен SELinux, то делать описанные выше манипуляции с модулем не надо.
С серверной частью закончили. Нам нужно сделать конфиг nginx для работы web интерфейса zabbix на сервере с Centos 7 . Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/conf.d/default.conf . Приводим его к следующему виду:
Для Centos 8 конфиг будет другой , так как из репозитория zabbix прилетает готовый конфиг для php-fpm. Он находится тут — /etc/php-fpm.d/zabbix.conf . Там указан другой сокет — /run/php-fpm/zabbix.sock, который мы будем использовать. Поменяем в этом конфиге пользователя с apache на nginx и укажем свой часовой пояс.
user = nginx
group = nginx
php_value[date.timezone] = Europe/Moscow
После этого php-fpm надо перезапустить.
# systemctl restart php-fpm
Конфиг nginx default.conf для centos 8 будет таким:
Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# nginx -s reload
Маленький, но важный нюанс. Нам надо изменить права доступа на некоторые папки. Назначить владельца nginx.
Этот шаг нужно будет проделывать после каждого обновления php или zabbix. Связано с тем, что по-умолчанию zabbix идет в комплекте с apache и рассчитан на работу с ним. Поэтому после установки или обновления, он делает его владельцем директории /etc/zabbix/web .
Даем разрешения SELinux для работы заббикса с web сервером и базой данных.
# setsebool -P httpd_can_connect_zabbix on
# setsebool -P httpd_can_network_connect_db on
Я не знаю, насколько последняя настройка актуальна, если подключение к БД локальное. У разработчиков в инструкции сказано, что в случае с postgresql даже если подключаетесь через 127.0.0.1, разрешение выдавать нужно. Насчет mysql нет комментариев.
С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend .
Подготовка сервера CentOS к установке
Centos 7
Первым делом вам необходимо установить и настроить сервер CentOS 7. Перед установкой сервера Zabbix нам также нужно подготовить Web сервер. У меня есть отдельная статья по настройке web сервера на centos . Там все подробно описано. Сейчас же я кратко и без лишних комментариев выполню минимум необходимых действий для работы заббикса. Так же я не буду останавливаться на настройке iptables . Эта отдельная тема и мне не хочется ее касаться в этой статье. Либо настройте сами по моим инструкциям, либо просто отключите firewall:
Проверяем, работает ли он. Для этого открываем в браузере ссылку http://192.168.13.117/, где 192.168.13.117 — ip адрес настраиваемого сервера.
Если у вас не работает nginx, разберитесь с ним, прежде чем двигаться дальше. В первую очередь проверьте настройки фаервола. Более детально о настройке nginx у меня рассказано отдельно.
Дальше устанавливаем php-fpm. Для этого подключаем репозиторий remi и epel-release.
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.
# /usr/bin/mysql_secure_installation
Внесем некоторые изменения в стандартный конфиг mariadb, чтобы потом не заниматься очисткой и оптимизацией базы для zabbix . Для этого открываем конфиг mysql /etc/my.cnf.d/server.cnf и приводим его к следующему виду.
# mcedit /etc/my.cnf.d/server.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
character_set_server=utf8
collation-server=utf8_bin
init_connect="SET NAMES utf8 collate utf8_bin"
port = 3306
socket = /var/lib/mysql/mysql.sock
innodb_file_per_table=1 innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB
innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb-strict-mode = OFF
[server]
[galera]
[embedded]
[mariadb]
[mariadb-10.3]
Я добавил минимум настроек, отличных от дефолта. В статье про оптимизацию mysql их приведено гораздо больше, но со временем я понял, что зря это сделал. Реально у меня нет большого опыта в тонкой настройке mysql. Никаких тестов и проверок я не делал, а данные брал на основе других статей в интернете. Не факт, что там не было ошибок. В итоге сейчас тут только заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще пару настроек, которые явно будут к месту (innodb_buffer_pool_size, innodb_buffer_pool_instances и innodb_flush_log_at_trx_commit). При желании, вы можете сами заняться тюнингом mysql. В общем случае, достаточно будет текущих настроек.
Перезапустите mariadb и убедитесь, что она запустилась.
# systemctl restart mariadb
# systemctl status mariadb.service
Сервер баз данных mysql для нашего zabbix сервера готов. На этом предварительные настройки сервера закончены. Можно приступать к установке.
Centos 8
Как установить Centos 8 читайте в отдельной статье. Его подготовка к установке zabbix будет проще, так как в базовых репозиториях более свежий софт, который нам подходит. Вначале либо отключите firewalld, либо выполните его настройку. Я не буду на этом останавливаться, так как это тема отдельной статьи.
То же самое касается SELinux. В Centos 8 я еще не разбирался, как его корректно настроить для работы с zabbix-server. Пока отключите, либо сами поищите информацию по настройке. Когда найдете, буду рад, если поделитесь в комментариях.
# mcedit /etc/sysconfig/selinux
SELINUX=disabled
Дальше подключаем репозиторий epel.
# dnf install epel-release
Теперь подключим репозиторий nginx. Для этого создаем файл /etc/yum.repos.d/nginx.repo следующего содержания.
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.
# /usr/bin/mysql_secure_installation
Внесем некоторые изменения в стандартный конфиг mariadb, чтобы потом не заниматься очисткой и оптимизацией базы для zabbix . Для этого открываем конфиг mysql /etc/my.cnf.d/server.cnf и приводим его к следующему виду.
# mcedit /etc/my.cnf.d/mariadb-server.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8
[mysqld]
character_set_server=utf8
collation-server=utf8_bin
init_connect="SET NAMES utf8 collate utf8_bin"
port = 3306 socket = /var/lib/mysql/mysql.sock
innodb_file_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB
innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb-strict-mode = OFF
Тут заданы некоторые важные параметры по innodb, в частности указание хранить каждую таблицу в отдельном файле, задан размер и количество бинарных логов и еще пару настроек, которые явно будут к месту (innodb_buffer_pool_size, innodb_buffer_pool_instances и innodb_flush_log_at_trx_commit). При желании, вы можете сами заняться тюнингом mysql. В общем случае, достаточно будет текущих настроек.
Перезапустите mariadb и убедитесь, что она запустилась.
# systemctl restart mariadb
# systemctl status mariadb.service
Сервер баз данных mysql для нашего zabbix сервера готов. На этом предварительные настройки сервера закончены. Можно приступать к установке.
Установка Zabbix Agent на Linux
Если вы хотите установить zabbix-agent на сам сервер мониторинга, то ничего делать не надо, кроме самой установки. Для других систем необходимо подключить репозитории заббикса, которые мы использовали во время установки сервера. Можете посмотреть их в соответствующих разделах для своей системы.
Установка zabbix agent в Centos:
# yum install zabbix-agent
Тоже самое в Ubuntu/Debian:
# apt install zabbix-agent
Для работы с сервером, который установлен локально на этой же машине, больше никаких настроек не надо делать. Если же вы будете устанавливать zabbix agent на другую машину, то в файле конфигурации агента /etc/zabbix/zabbix_agentd.conf нужно будет задать следующие параметры:
# mcedit /etc/zabbix/zabbix_agentd.conf
Server=192.168.13.117
ServerActive=192.168.13.117
Hostname=srv10 # имя вашего узла мониторинга, которое будет указано на сервере zabbix, Zabbix server если это сам сервер заббикса
# cat /var/log/zabbix/zabbix_agentd.log 14154:20181004:201307.800 Starting Zabbix Agent [Zabbix server]. Zabbix 4.0.0 (revision 85308). 14154:20181004:201307.800 **** Enabled features **** 14154:20181004:201307.800 IPv6 support: YES 14154:20181004:201307.800 TLS support: YES 14154:20181004:201307.800 ************************** 14154:20181004:201307.800 using configuration file: /etc/zabbix/zabbix_agentd.conf 14154:20181004:201307.800 agent #0 started [main process] 14157:20181004:201307.801 agent #3 started [listener #2] 14159:20181004:201307.802 agent #5 started [active checks #1] 14155:20181004:201307.804 agent #1 started [collector] 14158:20181004:201307.806 agent #4 started [listener #3] 14156:20181004:201307.810 agent #2 started [listener #1]
Все в порядке. Идем в веб интерфейс и проверяем поступление данных. Для этого идем в раздел Мониторинг -> Последние данные . Указываем в разделе Узлы сети Zabbix Server и ждем поступления первых данных. Они должны пойти через 2-3 минуты после запуска агента.
Теперь попробуем остановить агент и проверить, придет ли уведомление на почту. Идем в консоль и выключаем агента:
# systemctl stop zabbix-agent
Ждем минимум 5 минут. Именно такой интервал указан по-умолчанию для срабатывания триггера на недоступность агента. После этого проверяем главную панель, виджет Проблемы .
Проверяйте email ящик. Туда должно прийти уведомление от заббикс сервера.
Установка zabbix агент на Windows
Для полноты картины добавим к серверу один агент, установленный на windows машину и настроим ее мониторинг. Для этого идем на страницу загрузок https://www.zabbix.com/download_agents и скачиваем самую последнюю версию агента для Windows.
Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:
zabbix_agentd.exe
zabbix_get.exe
zabbix_sender.exe
zabbix_agentd.win.conf
Исполняемые файлы берете той разрядности, какая у вас в системе. В исходном архиве есть как x32 так и x64. Дальше открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на windows:
Открываем оснастку со службами, ищем службу с именем Zabbix agent и запускаем ее.
Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Для этого идем в Панель управления\Система и безопасность\Брандмауэр Windows — Дополнительные параметры — Правило для входящих подключений — Создать правило.
Тип правила: Для порта;
Протоколы и порты: Протокол TCP; Определенные локальные порты: 10050;
Чтобы работал мониторинг windows машины, нужно добавить на сервер мониторинга host с таким же hostname, что мы указали в конфиге агента. Для этого идем в web панель, открываем раздел Настройка -> Узлы сети и жмем .
На первой вкладке указываем имя хоста, такое же, как на клиенте, добавляем в любую существующую группу и задаем ip адрес компьютера.
Потом переходим на вкладку Шаблоны и нажимаем Выбрать. Выбираем шаблон Template OS Windows и жмем маленькую ссылку Добавить, затем большую .
Новый host мониторинга добавлен, осталось подождать несколько минут свежих данных. Проверить их можно там, где и раньше, в Последних данных, выбрав новый хост.
На этом установка и настройка мониторинга windows с помощью zabbix agent закончена. Можно добавлять новые компьютеры с разными версиями windows. Одна и та же версия агента подходит для всех, и десктопных, и серверных систем.
Настройка Zabbix Server
Создание учетной записи и смена пароля
карты сети — Local Network
комплексного экрана Zabbix server
панелей Global view и Zabbix server health
Они создаются автоматически при установке заббикса. Вам нужно сменить у них владельца на нового пользователя. После этого стандартного админа можно будет удалить.
Настройка email оповещений
Дальше нужно настроить очень важную часть системы мониторинга — уведомления на email. Без нее система мониторинга не выглядит целостной и полноценной. Zabbix сервер поддерживает отправку почты через сторонние smtp серверы. Настроим один из них. Для этого идем в раздел Администрирование -> Способы оповещений и нажимаем на .
Покажу на примере настроек ящика в Яндексе.
Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения оповещений. Для этого идем в Администрирование -> Пользователи , выбираем своего пользователя. Идем во вкладку Оповещения и жмем . Добавляйте свой ящик и нажимайте .
Зайдите еще раз в учетную запись и убедитесь, что ящик добавили.
Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в
Настройка -> Действия
и жмем на , чтобы стало .
Все, отправку уведомлений мы настроили, осталось подождать срабатывания триггера, чтобы проверить. Сделаем это позже, когда подключим хост к мониторингу.
Если вам нужны
оповещения в telegram
, то читайте отдельную статью на эту тему. Так же рекомендую ознакомиться с материалом на тему настройки повторяющихся уведомлений в заббиксе
. Для многих триггеров может оказаться очень полезной возможностью. Например, можно каждый день напоминать об окончании времени делегирования домена
, пока он не будет продлен.
Так же zabbix умеет звонить через asterisk для оповещения о событиях.
Изменение шаблона стандартных оповещений
Я вношу следующие изменения. Меняю шаблон темы письма при проблеме и восстановлении. В стандартном шаблоне в теме письма нет информации об имени хоста. В некоторых шаблонах триггера указано имя хоста, но есть и такие, где нет этой информации. В итоге в оповещении сразу не видно, о каком хосте идет речь. В моем же шаблоне сразу в теме будет указано имя хоста далее статус, а потом все остальное. Вот пример старого и нового оповещения:
Мне мой вид кажется более наглядным. Шаблон меняет на следующий:
{HOST. NAME} - {TRIGGER. STATUS}: {TRIGGER. NAME}
Он одинаковый и для проблемы, и для восстановления.
Изменение стандартных шаблонов мониторинга
На своих серверах мониторинга я изменяю некоторые параметры стандартных шаблонов, чтобы было меньше бесполезных и неинформативных срабатываний. Вот список того, что я делаю.
В шаблоне Template App Zabbix Agent отключаю триггер Version of zabbix_agent(d) was changed on {HOST. NAME} . Если его оставить, то после каждого обновления zabbix агента вы будете получать уведомление. Лично мне эта информация не нужна.
В шаблоне Template OS Linux меняю в триггере Disk I/O is overloaded on {HOST. NAME} значение со стандартных 20% до 50%. Я считаю, что начинать беспокоиться и смотреть на машину надо при этом значении. Но вы можете подобрать под свои нужды.
В этом же шаблоне в правиле обнаружения Mounted filesystem discovery добавляю еще один прототип триггера, скопировав Free disk space is less than 20% on volume {#FSNAME} . Новый шаблон полностью идентичен скопированному, только вместо 20% указываю 5% и ставлю важность с "Предупреждение" на "Высокая". Я добавляю еще одно оповещение, если свободного места на дисках остается меньше 5%. Стандартные 20% очень высокий порог, особенно если большой диск. Оперативное решение проблемы не требуется. Из-за этого часто откладываешь чистку диска на потом и забываешь о ней. Теперь будет еще один страховочный триггер, после которого точно надо идти и прямо сейчас разбираться с местом. В триггере на 20% свободного места ставлю разрешение на закрытие триггера вручную.
В этом же шаблоне в триггере Lack of free swap space on {HOST. NAME} меняю порог срабатывания с 50% до 20%, либо вообще отключаю его. Сейчас много серверов работают без swap. Хотя лично я всегда его создаю и подключаю.
В шаблоне Template OS Windows отключаю Правило обнаружения Windows service discovery . В дефолтном варианте оно генерирует очень много ненужных итемов и оповещений. Если нужен мониторинг какой-то службы windows, я делаю для этого отдельный шаблон.
Общие настройки
В общих настройках zabbix server, которые располагаются в разделе Администрирование -> Общие я меняю следующие параметры:
В разделе Рабочее время выставляю актуальные рабочие часы.
В разделе Опции отображения триггеров меняю значения Отображать триггеры в состоянии ОК в течении и Мигание триггеров при изменении состояния на 1 минуту. Это просто мои предпочтения. Мне не нравится, когда триггеры долго мигают, либо висят уже закрытые.
В разделе Прочее меняю Обновление неподдерживаемых элементов данных на 1 минуту. Это актуально во время отладки новых шаблонов.
Установка сервера Zabbix 4. 0 в Ubuntu, Debian
С установкой Zabbix на сервер с Ubuntu или Debian попроще, так как в стандартных репозиториях посвежее версии софта, можно использовать их. Подключаем репозитории zabbix 4.0.
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/4.0/ Дальнейшая установка не будет отличаться от текущей.
Обновляем информацию о репозиториях, а заодно и последние обновления поставим:
Запускаем скрипт начальной конфигурации mysql и задаем пароль для root. Все остальное можно оставить по-умолчанию.
# /usr/bin/mysql_secure_installation
# mcedit /etc/mysql/mariadb.conf.d/50-server.cnf
innodb_file_per_table=1
innodb_buffer_pool_size = 768M # внимание на параметр! установить примерно в 2 раза меньше объема оперативной памяти сервера
innodb_buffer_pool_instances=1 # увеличивать на 1 каждый GB innodb_buffer_pool_size
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
Перезапустите mariadb и убедитесь, что она запустилась.
Cоздадим базу данных, пользователя zabbix, и заполним базу.
# mysql -uroot -p
Enter password:
> create database zabbix character set utf8 collate utf8_bin;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabpassword';
exit
# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
Теперь редактируем файл конфигурации сервера заббикс. Прописываем данные для подключения к БД, отключаем ipv6 и увеличиваем стандартный timeout.
Этих минимальных настроек достаточно, для работы сервера. Я рекомендую увеличивать параметр Timeout, так как он отвечает за время ожидания ответа от агента, snmp устройства или внешней проверки. Иногда стандартного значения в 4 секунды бывает недостаточно. В частности, когда используется какой-то скрипт, который долго выполняется, для получения метрики. Поставьте секунд 10.
Нам нужно сделать конфиг nginx для работы web интерфейса zabbix. Если у вас nginx работает на том же сервере, где сам zabbix, и других виртуальных хостов нет и не будет, то правьте сразу дефолтный — /etc/nginx/sites-available/default.conf . Приводим его к следующему виду:
# mcedit /etc/nginx/sites-available/default.conf
server { listen 80; server_name localhost; root /usr/share/zabbix; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass unix: /run/php/php7.2-fpm.sock
; # проверьте этот путь, для разных версий php он будет разный fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_param PHP_VALUE " max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Europe/Moscow always_populate_raw_post_data = -1 "; fastcgi_buffers 8 256k; fastcgi_buffer_size 128k; fastcgi_intercept_errors on; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; }
}
Проверим конфиг на ошибки и если все в порядке, перезапустим nginx.
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# nginx -s reload
С серверной частью закончили. Для продолжения установки zabbix сервера переходим к настройке Zabbix Frontend.
Заключение
На этом установка и базовая настройка сервера мониторинга zabbix 4.0 завершена. Советы, замечания, исправления прошу оставлять в комментариях.
Команда заббикс внимательно следит за обратной совместимостью своих продуктов. Благодаря этому переход на новые версии проходит безболезненно. Нет необходимости перенастраивать или исправлять старые наработки. В новых версиях только добавляется функционал, старый чаще всего не претерпевает изменений, им можно дальше пользоваться. Бывают, конечно, исключения, но редко.
Материалы по настройке мониторинга различных систем и сервисов не устаревают и остаются актуальным для самых новых релизов. Вот пример мониторинга различных служб и сервисов, приведенных на моем сайте. Возможно, что-то из этого вам будет интересно и полезно.
Мониторинг в Zabbix:
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Настройка Zabbix Frontend
Идем в браузер и открываем адрес http://192.168.13.117. Вы должны увидеть установщик Zabbix 4.0.
Нажимаем и начинаем настройку web интерфейса. На следующей странице будет проверка требований. У вас должны быть выполнены все требования. В зависимости от системы и версии php, информация будет в каждом случае разниться.
На следующем этапе указываем параметры доступа к базе данных, потом Zabbix server details. Там можно ничего не указывать, а оставить дефолтные параметры. Потом будет страница с проверкой введенных данных. Если все в порядке, то заканчивайте установку. В конце увидите сообщение: Congratulations! You have successfully installed Zabbix frontend.
После нажатия на увидите окно авторизации Zabbix сервера.
Стандартная учетная запись для входа в web интерфейс zabbix следующая:
Пользователь Admin
Пароль zabbix
На этом установка бесплатного сервера мониторинга zabbix окончена. Можно приступать к настройке.