Найти в Дзене
Zabbix

Установка Zabbix

Описание: Платформа виртуализации: VMWare ESXi 7
Операционная система: Rocky Linux 9
База данных: PostgreSQL 16 + TimescaleDB
Веб сервер: Nginx Создание виртуальной машины и установка ОС Заранее подготовьте образ ОС Rocky Linux 9. Скачайте с сайта rockylinux.org образ системы. Для установки и работы Zabbix можно использовать Minimal ISO. Загрузите iso файл в среду виртуализации. По возможности разместите диск виртуальной машины на самом быстром хранилище которое у Вас есть в распоряжении. Выделите как можно больше CPU и памяти. Можно воспользоваться этой страницей для определения конфигурации виртуальной машины requirements Если хранить точную историю метрик 7 дней и 365 дней усредненные значения, то 300 - 500 Gb хватит даже для крупной инсталляции (1000 - 3000 nvps) Для хранения точной истории метрик 14 - 30 дней потребуется диск размером от 1Tb. У Zabbix нет особых требований к установке ОС Linux. Тюнинг ОС не требуется. Далее последует набор команд из консоли Linux для минимальной

Описание:

Платформа виртуализации: VMWare ESXi 7
Операционная система: Rocky Linux 9
База данных: PostgreSQL 16 + TimescaleDB
Веб сервер: Nginx

Создание виртуальной машины и установка ОС

Заранее подготовьте образ ОС Rocky Linux 9. Скачайте с сайта rockylinux.org образ системы. Для установки и работы Zabbix можно использовать Minimal ISO. Загрузите iso файл в среду виртуализации.

По возможности разместите диск виртуальной машины на самом быстром хранилище которое у Вас есть в распоряжении. Выделите как можно больше CPU и памяти. Можно воспользоваться этой страницей для определения конфигурации виртуальной машины requirements Если хранить точную историю метрик 7 дней и 365 дней усредненные значения, то 300 - 500 Gb хватит даже для крупной инсталляции (1000 - 3000 nvps) Для хранения точной истории метрик 14 - 30 дней потребуется диск размером от 1Tb.

У Zabbix нет особых требований к установке ОС Linux. Тюнинг ОС не требуется.

Установка Zabbix 7.0 из пакетов

Далее последует набор команд из консоли Linux для минимальной установки и запуска zabbix. Все команды будут выполняться под учетной записью root. У системы должен быть доступ в интернет. ОС назначен статический ip 10.224.2.22

Обновляем систему
[root@Zabbix-server ~]# dnf update -y

Добавляем Русскую локализацию

[root@Zabbix-server ~]# dnf install -y glibc-langpack-ru

Добавляем правила в firewalld

[root@Zabbix-server ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@Zabbix-server ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent
[root@Zabbix-server ~]# systemctl restart firewalld

Устанавливаем PostgreSQL 16

[root@Zabbix-server ~]# dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[root@Zabbix-server ~]# dnf -qy module disable postgresql
[root@Zabbix-server ~]# dnf install postgresql16 postgresql16-server -y
[root@Zabbix-server ~]# dnf install postgresql16-contrib -y
[root@Zabbix-server ~]# /usr/pgsql-16/bin/postgresql-16-setup initdb
[root@Zabbix-server ~]# systemctl enable postgresql-16
[root@Zabbix-server ~]# systemctl start postgresql-16
[root@Zabbix-server ~]# systemctl status postgresql-16

Проверяем что PostgreSQL 16 запустился

systemctl status postgresql-16
systemctl status postgresql-16

Установка пакетов Zabbix 7.0

[root@Zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
[root@Zabbix-server ~]# dnf clean all
[root@Zabbix-server ~]# dnf -y install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2
[root@Zabbix-server ~]# dnf install -y zabbix-get zabbix-sender zabbix-agent2-plugin-p*

Настройка базы данных Zabbix
Создание базы данных, пользователя для zabbix и импорт схемы (пароль 12345678)

[root@Zabbix-server ~]# sudo -u postgres createuser --pwprompt zabbix
[root@Zabbix-server ~]# sudo -u postgres createdb -O zabbix zabbix
[root@Zabbix-server ~]# zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Настройка Zabbix 7.0 zabbix-server

Добавить пароль пользователя zabbix в файл конфигурации zabbix-server от базы данных zabbix
[root@Zabbix-server ~]# nano /etc/zabbix/zabbix_server.conf

DBPassword=12345678

zabbix_server.conf
zabbix_server.conf

Настроить файл конфигурации веб сервера Nginx. Первый старт веб сервер будет на 80 порту, в дальнейшем мы выпустим самоподписанный сертификат и запустим сервер на 443 порту.
[root@Zabbix-server ~]# nano /etc/nginx/conf.d/zabbix.conf
listen 80;
server_name 10.224.2.22;

zabbix.conf
zabbix.conf

Запускаем сервер zabbix и проверяем, что все службы работают.
[root@Zabbix-server ~]# systemctl start zabbix-server zabbix-agent2 nginx php-fpm
[root@Zabbix-server ~]# systemctl enable zabbix-server zabbix-agent2 nginx php-fpm
[root@Zabbix-server ~]#systemctl status zabbix-server zabbix-agent2 nginx php-fpm

systemctl status zabbix-server
systemctl status zabbix-server

Установка и настройка TimescaleDB.

Установка расширения TimescaleDB не обязательно, но крайне полезно для крупных инсталляций, так как решает проблему с удалением устаревшей историей метрик.
[root@Zabbix-server ~]# dnf -y install
https://download.postgresql.org/pub/repos/yum/non-free/16/redhat/rhel-9-x86_64/timescaledb-tsl_16-2.13.0-1PGDG.rhel9.x86_64.rpm
[root@Zabbix-server ~]# systemctl stop zabbix-server
[root@Zabbix-server ~]# cat /var/lib/pgsql/16/data/postgresql.conf | grep shared_preload_libraries
[root@Zabbix-server ~]# systemctl restart postgresql-16
[root@Zabbix-server ~]# echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
[root@Zabbix-server ~]# cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb/schema.sql | sudo -u zabbix psql zabbix
[root@Zabbix-server ~]# systemctl start zabbix-server

Проверьте, что установили расширение timescaledb 2.13.0 Community Edition
[root@Zabbix-server ~]# sudo -u postgres psql zabbix
zabbix=# \dx

timescaledb 2.13.0 Community Edition
timescaledb 2.13.0 Community Edition

Настройка Zabbix 7.0 web-server

Переходим по url http://10.224.2.22/setup.php и завершаем настройку, для доступа к базе данных вводим пароль 12345678

Zabbix сервер готов к работе

Сервер zabbix с производительностью до 1000 nvps не требует тюнинга базы данных и операционной системы. В процессе работы нужно будет увеличивать количество процессов в файле конфигурации zabbix_server.conf при возникновении проблем у узла сети "Zabbix server" (этот узел сети создается по умолчанию при установке системы мониторинга). Даже с дефолтными настройками всех компонентов сервер будет работать быстро. Для более крупных инсталляций требуется дополнительная настройка и тюнинг.