Установка Zabbix 5.4 на Debian 10

Буквально неделю назад вышел Zabbix 5.4 с огромным количеством нововведений.

Почитать об основных новшествах можно на официальном сайте или на opennet.ru

В данной статье я опишу установку Zabbix 5.4 на Debian 10, в качестве базы данных будет использоваться MariaDB 10.5, в качестве web-сервера будем использовать Nginx + PHP-FPM 7.4
Итак, поехали…

Исходные данные: ОС Debian 10 (Buster), БД MariaDB 10.5, web-server Nginx + PHP-FPM 7.4;
Задача: Установить Zabbix 5.4;

Предполагается, что у Вас уже установлена MariaDB 10.5 и установлен web-сервер Nginx с PHP-FPM 7.4, а так же произведена базовая их настройка.

Установка Zabbix 5.4 на Debian 10:

1. Установка необходимых доп. пакетов:

apt-get update
apt-get install curl wget -y

2. Установка репозитария Zabbix:

wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
dpkg -i zabbix-release_5.4-1+debian10_all.deb
rm -f zabbix-release_5.4-1+debian10_all.deb

2. Установка компонентов Zabbix (сервер, веб-фронтенд и агент):

Обновление кэша пакетов:

apt-get update

Установка необходимых для Zabbix модулей PHP (некоторые из них уже могут быть установлены):

apt-get install -y php7.4 php7.4-cli php7.4-fpm php7.4-opcache php7.4-curl php7.4-mbstring php7.4-zip php7.4-xml php7.4-bcmath php7.4-common php7.4-gd php7.4-ldap php7.4-mysql

Установка Zabbix (сервер, веб-интерфейс, конфигурация для nginx, файлы схем и данные для БД, агент):

apt-get install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3. Создание и инициализация базы данных Zabbix:

Создадим базу zabbix и пользователя zabbix с паролем myverybigpassword (сделайте другой пароль, не используйте мой):

# mariadb -uroot -p
password: *******
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'myverybigpassword';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

Импортируем схему и данные:

zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mariadb -uzabbix -pmyverybigpassword zabbix

4. Редактирование конфигурации Zabbix server:

Отредактируем файл /etc/zabbix/zabbix_server.conf (установим пароль пользователя zabbix из предыдущего пункта).

Я воспользуюсь sed чтобы заменить закомментированный параметр DBPassword и вписать пароль myverybigpassword:

sed -i 's/# DBPassword=/DBPassword=myverybigpassword/g' /etc/zabbix/zabbix_server.conf

5. Редактирование конфигурации Zabbix web-frontend для Nginx:

Для этого откройте файл /etc/nginx/conf.d/zabbix.conf и раскомментируйте директивы listen и server_name
В директиву server_name внесите ваш домен для веб-интерфейса Zabbix.

Пример моего файла /etc/nginx/conf.d/zabbix.conf (привожу только первые строки):

server {
        listen          80;
        server_name     zabbix.mydomain.ru;

        root    /usr/share/zabbix;

Далее отредактируем настройки пула php-fpm, для этого откройте файл /etc/zabbix/php-fpm.conf и раскомментируйте параметр php_value[date.timezone] = Europe/Riga
Вы должны указать здесь свой часовой пояс, например Europe/Moscow

Пример моего файла /etc/zabbix/php-fpm.conf (привожу только последние строки):

php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Europe/Moscow

Теперь перезапустим PHP-FPM:

systemctl restart php7.4-fpm

Проверим статус:

# systemctl status php7.4-fpm
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-05-27 05:44:29 CEST; 2s ago
     Docs: man:php-fpm7.4(8)
  Process: 11419 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
 Main PID: 11411 (php-fpm7.4)
   Status: "Ready to handle connections"
    Tasks: 8 (limit: 2296)
   Memory: 28.2M
   CGroup: /system.slice/php7.4-fpm.service
           ├─11411 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
           ├─11412 php-fpm: pool www
           ├─11413 php-fpm: pool www
           ├─11414 php-fpm: pool zabbix
           ├─11415 php-fpm: pool zabbix
           ├─11416 php-fpm: pool zabbix
           ├─11417 php-fpm: pool zabbix
           └─11418 php-fpm: pool zabbix

May 26 21:34:48 myserver systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
May 26 21:34:48 myserver systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

Мы видим, что появился пул zabbix, значит все успешно.

Теперь проверим конфигурацию Nginx и перезагрузим ее:

nginx -t && nginx -s reload

Результат:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

6. Настройка Web-фронтенда:

Если п.5 был выполнен успешно, то мы можем перейти в браузере на наш домен zabbix.mydomain.ru и увидеть приветственный экран инсталлятора Zabbix:

Установка Zabbix 5.4

Установка Zabbix 5.4

Далее все интуитивно понятно, это выберем Русский язык интерфейса и нажмем кнопку Далее

На следующем экране будет проверка требований к установки (все ли компоненты и пакеты у нас установлены и правильно ли настроены)

Установка Zabbix 5.4

Установка Zabbix 5.4

Пролистываем список и видим что везде стоит OK, жмем Далее

Далее перед нами будет шаг настройки соединения с базой данных, нам остается только вбить наш пароль myverybigpassword (у Вас он наверно будет посложнее) и нажать Далее

Установка Zabbix 5.4

Установка Zabbix 5.4

Если пароль для БД был верный, то мы перейдем на следующий шаг — настройка соединения веб-фронтенда с zabbix-server, тут нам нужно лишь ввести имя нашего забикса, например ZBX

Установка Zabbix 5.4

Установка Zabbix 5.4

Следующий шаг — выбор часового пояса по-умолчанию и темы оформления:

Установка Zabbix 5.4

Установка Zabbix 5.4

Далее нам предлагают проверить все параметры и завершить настройку если все верно:

Установка Zabbix 5.4

Установка Zabbix 5.4

Все успешно, жмем Финиш:

Установка Zabbix 5.4 (финал)

Установка Zabbix 5.4 (финал)

Далее перед нами откроется стандартное окно входа в Zabbix, вводим логин Admin и пароль zabbix

Попадаем в уже привычный с 5-й версии интерфейс, видим не очень красивую надпись, что zabbix-сервер не запущен — это так и есть, мы пока его не запустили.

Zabbix 5.4

Zabbix 5.4

7. Запуск сервера и агента:

Теперь можно запустить сервер и агента:

systemctl enable --now zabbix-agent
systemctl enable --now zabbix-server

Проверим факт запуска:

# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-05-27 06:44:29 CEST; 6s ago
  Process: 17536 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 17538 (zabbix_server)
    Tasks: 44 (limit: 2296)
   Memory: 30.4M
   CGroup: /system.slice/zabbix-server.service
           ├─17538 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
           ├─17543 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.041061 sec, idle 60 sec]
           ├─17544 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
           ├─17545 /usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.005674 sec, idle 29 sec]
           ├─17546 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.001147 sec, idle 5 sec]
           ├─17547 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000461 sec, idle 60 sec]
           ├─17548 /usr/sbin/zabbix_server: history syncer #1 [processed 0 values, 0 triggers in 0.000035 sec, idle 1 sec]
           ├─17549 /usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0 triggers in 0.000038 sec, idle 1 sec]
           ├─17550 /usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000045 sec, idle 1 sec]
           ├─17551 /usr/sbin/zabbix_server: history syncer #4 [processed 1 values, 1 triggers in 0.003222 sec, idle 1 sec]
           ├─17552 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.000996 sec, idle 3 sec]
           ├─17553 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000031 sec, idle 5 sec]
           ├─17561 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000047 sec, idle 1 sec]
           ├─17562 /usr/sbin/zabbix_server: task manager [processed 0 task(s) in 0.002818 sec, idle 5 sec]
           ├─17563 /usr/sbin/zabbix_server: poller #1 [got 1 values in 0.003024 sec, idle 5 sec]
           ├─17564 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000016 sec, idle 5 sec]
           ├─17565 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000015 sec, idle 5 sec]
           ├─17566 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000050 sec, idle 5 sec]
           ├─17567 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000012 sec, idle 5 sec]
           ├─17568 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000050 sec, idle 5 sec]
           ├─17569 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
           ├─17570 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]
           ├─17571 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.000000 sec, waiting for connection]
           ├─17572 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.000000 sec, waiting for connection]
           ├─17578 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.000000 sec, waiting for connection]
           ├─17579 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0.000041 sec, idle 5 sec]
           ├─17580 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.018083 sec during 5.018380 sec]
           ├─17581 /usr/sbin/zabbix_server: alerter #1 started
           ├─17582 /usr/sbin/zabbix_server: alerter #2 started
           ├─17583 /usr/sbin/zabbix_server: alerter #3 started
           ├─17584 /usr/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 6 values, idle 5.011966 sec during 5.012
           ├─17585 /usr/sbin/zabbix_server: preprocessing worker #1 started
           ├─17586 /usr/sbin/zabbix_server: preprocessing worker #2 started
           ├─17589 /usr/sbin/zabbix_server: preprocessing worker #3 started
           ├─17590 /usr/sbin/zabbix_server: lld manager #1 [processed 0 LLD rules, idle 5.003231sec during 5.003705 sec]
           ├─17591 /usr/sbin/zabbix_server: lld worker #1 started
           ├─17592 /usr/sbin/zabbix_server: lld worker #2 started
           ├─17593 /usr/sbin/zabbix_server: alert syncer [queued 0 alerts(s), flushed 0 result(s) in 0.001149 sec, idle 1 sec]
           ├─17594 /usr/sbin/zabbix_server: history poller #1 [got 2 values in 0.000374 sec, idle 1 sec]
           ├─17595 /usr/sbin/zabbix_server: history poller #2 [got 0 values in 0.000024 sec, idle 1 sec]
           ├─17596 /usr/sbin/zabbix_server: history poller #3 [got 0 values in 0.000036 sec, idle 1 sec]
           ├─17597 /usr/sbin/zabbix_server: history poller #4 [got 0 values in 0.000033 sec, idle 1 sec]
           ├─17603 /usr/sbin/zabbix_server: history poller #5 [got 0 values in 0.000030 sec, idle 1 sec]
           └─17604 /usr/sbin/zabbix_server: availability manager #1 [queued 1, processed 0 values, idle 5.968632 sec during 5.9689

May 27 06:44:29 myserver systemd[1]: Starting Zabbix Server...
May 27 06:44:29 myserver systemd[1]: zabbix-server.service: Can't open PID file /run/zabbix/zabbix_server.pid (yet?) after start: No
May 27 06:44:29 myserver systemd[1]: Started Zabbix Server.

Посмотрим лог-файл сервера:

# cat /var/log/zabbix/zabbix_server.log
 17538:20210527:064429.923 Starting Zabbix Server. Zabbix 5.4.0 (revision 5059e20a75).
 17538:20210527:064429.923 ****** Enabled features ******
 17538:20210527:064429.923 SNMP monitoring:           YES
 17538:20210527:064429.923 IPMI monitoring:           YES
 17538:20210527:064429.923 Web monitoring:            YES
 17538:20210527:064429.923 VMware monitoring:         YES
 17538:20210527:064429.923 SMTP authentication:       YES
 17538:20210527:064429.923 ODBC:                      YES
 17538:20210527:064429.923 SSH support:               YES
 17538:20210527:064429.923 IPv6 support:              YES
 17538:20210527:064429.923 TLS support:               YES
 17538:20210527:064429.923 ******************************
 17538:20210527:064429.923 using configuration file: /etc/zabbix/zabbix_server.conf
 17538:20210527:064429.927 current database version (mandatory/optional): 05040000/05040000
 17538:20210527:064429.927 required mandatory version: 05040000
 17538:20210527:064429.940 server #0 started [main process]
 17543:20210527:064429.940 server #1 started [configuration syncer #1]
 17547:20210527:064430.049 server #5 started [discoverer #1]
 17546:20210527:064430.053 server #4 started [http poller #1]
 17545:20210527:064430.056 server #3 started [timer #1]
 17548:20210527:064430.056 server #6 started [history syncer #1]
 17544:20210527:064430.057 server #2 started [housekeeper #1]
 17550:20210527:064430.058 server #8 started [history syncer #3]
 17549:20210527:064430.059 server #7 started [history syncer #2]
 17551:20210527:064430.060 server #9 started [history syncer #4]
 17552:20210527:064430.063 server #10 started [escalator #1]
 17553:20210527:064430.066 server #11 started [proxy poller #1]
 17562:20210527:064430.074 server #13 started [task manager #1]
 17564:20210527:064430.074 server #15 started [poller #2]
 17565:20210527:064430.076 server #16 started [poller #3]
 17563:20210527:064430.078 server #14 started [poller #1]
 17566:20210527:064430.079 server #17 started [poller #4]
 17567:20210527:064430.081 server #18 started [poller #5]
 17568:20210527:064430.084 server #19 started [unreachable poller #1]
 17561:20210527:064430.085 server #12 started [self-monitoring #1]
 17569:20210527:064430.085 server #20 started [trapper #1]
 17570:20210527:064430.087 server #21 started [trapper #2]
 17571:20210527:064430.089 server #22 started [trapper #3]
 17572:20210527:064430.092 server #23 started [trapper #4]
 17579:20210527:064430.097 server #25 started [icmp pinger #1]
 17580:20210527:064430.099 server #26 started [alert manager #1]
 17581:20210527:064430.100 server #27 started [alerter #1]
 17582:20210527:064430.100 server #28 started [alerter #2]
 17583:20210527:064430.101 server #29 started [alerter #3]
 17584:20210527:064430.102 server #30 started [preprocessing manager #1]
 17585:20210527:064430.102 server #31 started [preprocessing worker #1]
 17578:20210527:064430.102 server #24 started [trapper #5]
 17586:20210527:064430.104 server #32 started [preprocessing worker #2]
 17593:20210527:064430.109 server #37 started [alert syncer #1]
 17594:20210527:064430.110 server #38 started [history poller #1]
 17592:20210527:064430.111 server #36 started [lld worker #2]
 17591:20210527:064430.111 server #35 started [lld worker #1]
 17590:20210527:064430.111 server #34 started [lld manager #1]
 17595:20210527:064430.111 server #39 started [history poller #2]
 17596:20210527:064430.113 server #40 started [history poller #3]
 17589:20210527:064430.114 server #33 started [preprocessing worker #3]
 17597:20210527:064430.114 server #41 started [history poller #4]
 17604:20210527:064430.117 server #43 started [availability manager #1]
 17603:20210527:064430.119 server #42 started [history poller #5]
 17564:20210527:064432.084 enabling Zabbix agent checks on host "Zabbix server": interface became available
 17548:20210527:064442.077 item "Zabbix server:zabbix[process,ipmi poller,avg,busy]" became not supported: No "ipmi poller" processes started.
 17551:20210527:064443.078 item "Zabbix server:zabbix[process,java poller,avg,busy]" became not supported: No "java poller" processes started.
 17551:20210527:064448.083 item "Zabbix server:zabbix[process,ipmi manager,avg,busy]" became not supported: No "ipmi manager" processes started.
 17551:20210527:064448.083 item "Zabbix server:zabbix[process,snmp trapper,avg,busy]" became not supported: No "snmp trapper" processes started.
 17550:20210527:064449.084 item "Zabbix server:zabbix[process,vmware collector,avg,busy]" became not supported: No "vmware collector" processes started.

Отлично, все запустилось. Идем в Web-интерфейс, смотрим на состояние:

Zabbix 5.4

Zabbix 5.4

Мы видим, что web-фронтенд видит zabbix-сервер и читает с него данные статистики.

Зайдем в Последние данные и проверим, что данные от агента идут:

Zabbix 5.4 (Последние данные)

Zabbix 5.4 (Последние данные)

Данные поступают — это хорошо.

На этом статься завершена.

В следующей статье я расскажу как сделать партиционирование исторических таблиц в Zabbix (БД MariaDB) для того чтобы в дальнейшем при росте размера базы данных Zabbix у нас не возникло проблем с очисткой исторических данных. Гораздо проще сделать партиционирование на начальном этапе, то есть сразу после инсталляции и потом спать спокойно.

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


11
Оставить комментарий

avatar
1000
2 Цепочка комментария
9 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
4 Авторы комментариев
МихаилАлександрАлексейNikolay Авторы недавних комментариев

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

  Подписаться  
Уведомление о
Nikolay
Гость

Михаил, спасибо за статью! Жду следующий материал про партиционирование, будет ли он?

Алексей
Гость
Алексей

Добрый день. При проверке логов вываливается следующее:
2971:20220102:191911.702 [Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘zabbix’@’localhost’ (using password: YES)
2971:20220102:191911.702 database is down: reconnecting in 10 seconds
2971:20220102:191921.704 [Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘zabbix’@’localhost’ (using password: YES)
2971:20220102:191921.704 database is down: reconnecting in 10 seconds
2971:20220102:191931.707 [Z3001] connection to database ‘zabbix’ failed: [1045] Access denied for user ‘zabbix’@’localhost’ (using password: YES)

Не могу найти причину. Может получится подсказать в чем причина. Заранее благодарен.