Установка и первоначальная настройка ZABBIX: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
(Добавлены инструкции по бэкапу БД Zabbix)
 
(не показано 19 промежуточных версий 6 участников)
Строка 1: Строка 1:
{{Stub}}


Перед установкой Zabbix, у Вас должен быть настроен и запущен сервер PostgreSQL или MySQL, с созданным пользователем zabbix и созданной базой zabbix.
Перед установкой Zabbix, у Вас должен быть настроен и запущен сервер PostgreSQL или MySQL, с созданным пользователем zabbix и созданной базой zabbix.
Строка 5: Строка 4:
Для управления системой мониторинга и чтения данных используется веб-интерфейс, написанный на PHP, соответственно должен быть настроен и запущен веб-сервер (Apache, Nginx).
Для управления системой мониторинга и чтения данных используется веб-интерфейс, написанный на PHP, соответственно должен быть настроен и запущен веб-сервер (Apache, Nginx).


== Установка ==
== Установка Zabbix сервера ==


=== Установка Zabbix Server ===
=== Создание базы данных ===


==== Установка Zabbix Server с PostgreSQL ====
В процессе установки Zabbix сервера должна быть создана база данных Zabbix.


В [[p9]] на данный момент поддерживается несколько версий PostgreSQL. В данной статье мы будем использовать версию postgresql 9.6.
==== PostgreSQL ====


Установить PostgreSQL, Zabbix Server и дополнительную утилиту {{pkg|fping}}:
В репозитории [[p10]] на данный момент поддерживается несколько версий PostgreSQL. В данной статье мы будем использовать версию postgresql 16.
<source lang="text" highlight="1"># apt-get install postgresql9.6-server zabbix-server-pgsql fping</source>
 
Установить PostgreSQL, Zabbix сервер и дополнительную утилиту {{pkg|fping}}:
<source lang="text" highlight="1"># apt-get install postgresql16-server zabbix-server-pgsql fping</source>
 
{{Note| В [[p9]] можно  использовать postgresql 12:
<source lang="text" highlight="1"># apt-get install postgresql12-server zabbix-server-pgsql fping</source>}}


Подготовить к запуску и настроить службы PostgreSQL:  
Подготовить к запуску и настроить службы PostgreSQL:  
Строка 28: Строка 32:
Создать базу данных Zabbix:
Создать базу данных Zabbix:
*создать пользователя zabbix (пароль необходимо запомнить) и базу данных zabbix (под правами root):
*создать пользователя zabbix (пароль необходимо запомнить) и базу данных zabbix (под правами root):
*:<source lang="text" highlight="1,4,5">
*:<source lang="text" highlight="1,4">
# su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'
# su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'
Введите пароль для новой роли:  
Введите пароль для новой роли:  
Повторите его:
Повторите его:
# su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'
# su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'
# service postgresql restart
</source>
</source>
*добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой):
*добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой *, какая версия установлена можно посмотреть командой rpm -ql zabbix-common-database-pgsql | grep schema.sql ):
*:<source lang="text" highlight="1"> # su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/schema.sql zabbix'</source>
*:<source lang="text" highlight="1"> # su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/schema.sql zabbix'</source>
*:если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно
*:если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно
Строка 43: Строка 46:
</source>
</source>


==== Установка Zabbix Server с использованием MySQL ====
==== MySQL/MariaDB ====


Установить MySQL, Zabbix Server и дополнительную утилиту {{pkg|fping}}:
Установить сервер MySQL или MariaDB (в данном случае MariaDB), Zabbix сервер и дополнительную утилиту {{pkg|fping}}:
<source lang="text" highlight="1"># apt-get install mariadb-server zabbix-server-mysql fping</source>
<source lang="text" highlight="1"># apt-get install mariadb-server zabbix-server-mysql fping</source>


Строка 73: Строка 76:
Установить необходимые пакеты:
Установить необходимые пакеты:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
# apt-get install apache2 apache2-mod_php7
# apt-get install apache2 apache2-mod_php8.2
</source>
</source>
{{Note|Для [[p9]]:
<source lang="text" highlight="1"># apt-get install apache2 apache2-mod_php7</source>}}
Добавить в автозапуск и запустить  apache2:
Добавить в автозапуск и запустить  apache2:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
Строка 82: Строка 89:
=== Установка PHP ===
=== Установка PHP ===


{{Note|Начиная с Zabbix 5.0 для веб-интерфейса требуется PHP версии 7.2 или выше.}}
{{Note|Начиная с Zabbix 5.0 для веб-интерфейса требуется PHP версии 7.2 или выше. }}
 
{{Note| Начиная с версии php 8.0, пакеты модулей именуются следующим образом:
php<мажорная>.<минорная версии>-<имя модуля>
 
Все пакеты php можно устанавливать и эксплуатировать в одной системе одновременно, за исключением пакетов apache2-mod_php<версия> — они не умеют работать в одном адресном пространстве.
 
В данной статье для [[p10]] используется версия php8.1.}}


Установить необходимые пакеты:
Установить необходимые пакеты:
*если Zabbix устанавливается с PostgreSQL:
*:<source lang="text" highlight="1">
# apt-get install php8.2 php8.2-mbstring php8.2-sockets php8.2-gd php8.2-xmlreader php8.2-pgsql php8.2-ldap php8.2-openssl
</source>
*если Zabbix устанавливается с MySQL:
*:<source lang="text" highlight="1">
# apt-get install php8.2 php8.2-mbstring php8.2-sockets php8.2-gd php8.2-xmlreader php8.2-mysqlnd-mysqli php8.2-ldap php8.2-openssl
</source>
{{Note|Для [[p9]]:
*если Zabbix устанавливается с PostgreSQL:
*если Zabbix устанавливается с PostgreSQL:
*:<source lang="text" highlight="1">
*:<source lang="text" highlight="1">
Строка 92: Строка 116:
*:<source lang="text" highlight="1">
*:<source lang="text" highlight="1">
# apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-mysqlnd-mysqli php7-ldap
# apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-mysqlnd-mysqli php7-ldap
</source>
</source>}}


Изменить некоторые опции php в файле {{path|/etc/php/7.3/apache2-mod_php/php.ini}} (версия PHP может быть другой):
Изменить некоторые опции php в файле {{path|/etc/php/8.2/apache2-mod_php/php.ini}} (версия PHP может быть другой):
<source lang="text">
<source lang="text">
post_max_size = 16M
memory_limit = 256M
post_max_size = 32M
max_execution_time = 600
max_execution_time = 600
max_input_time = 300
max_input_time = 600
date.timezone = Europe/Moscow (регион вписать свой)
date.timezone = Europe/Moscow (регион вписать свой)
always_populate_raw_post_data = -1
always_populate_raw_post_data = -1
Строка 108: Строка 133:
</source>
</source>


=== Настройка и запуск Zabbix Server ===
=== Настройка и запуск Zabbix сервера ===


Внести изменения в конфигурационный файл {{path|/etc/zabbix/zabbix_server.conf}}:
Внести изменения в конфигурационный файл {{path|/etc/zabbix/zabbix_server.conf}}:
Строка 115: Строка 140:
DBName=zabbix
DBName=zabbix
DBUser=zabbix
DBUser=zabbix
DBPassword=Пароль от базы
DBPassword=Пароль
</source>
</source>
В параметре DBPassword используйте пароль от MySQL базы данных Zabbix; пароль пользователя PosgreSQL для PosgreSQL.


Добавить Zabbix server в автозапуск и запустить его:
Добавить Zabbix server в автозапуск и запустить его:
Строка 130: Строка 157:
=== Установка веб-интерфейса Zabbix ===
=== Установка веб-интерфейса Zabbix ===


Установить метапакет:
Установить метапакеты:
<source lang="text" highlight="1">
<source lang="text" highlight="1">
# apt-get install zabbix-phpfrontend-apache2-mod_php7
# apt-get install zabbix-phpfrontend-apache2 zabbix-phpfrontend-php8.2
</source>
</source>
{{Note|Для [[p9]]:
<source lang="text" highlight="1">
# apt-get install zabbix-phpfrontend-apache2-mod_php7 zabbix-phpfrontend-php7
</source>}}


Включить аддоны в apache2:
Включить аддоны в apache2:
Строка 163: Строка 195:
При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности веб-сервера, интерпретатора PHP и сконфигурирует подключение к базе данных.  
При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности веб-сервера, интерпретатора PHP и сконфигурирует подключение к базе данных.  


Для начала установки необходимо нажать кнопку ''Next Step'', что осуществит переход на страницу проверки предварительных условий:
[[Файл:Zabbix-1.png|Страница установки zabbix]]
 
Для начала установки необходимо нажать кнопку «Далее» («Next Step»), что осуществит переход на страницу проверки предварительных условий (версия PHP может быть другой):


[[Файл:Zabbix-2.png|Страница проверки предварительных условий zabbix]]
[[Файл:Zabbix-2.png|Страница проверки предварительных условий zabbix]]
Строка 182: Строка 216:
На следующей странице можно задать имя сервера:
На следующей странице можно задать имя сервера:


[[Файл:Zabbix-4.png|Настройки zabbix-сервера]]
[[Файл:Zabbix-4.png|Настройки zabbix сервера]]


После окончания установки на экране будет отображаться форма входа в интерфейс управления системой мониторинга. Параметры доступа по умолчанию:
После окончания установки на экране будет отображаться форма входа в интерфейс управления системой мониторинга. Параметры доступа по умолчанию:
Строка 192: Строка 226:
[[Файл:Zabbix-7.png|Форма входа в интерфейс управления системой мониторинга]]
[[Файл:Zabbix-7.png|Форма входа в интерфейс управления системой мониторинга]]


Войдя в систему, нужно сменить пароль пользователя, завести других пользователей и можно начать настраивать Zabbix.  
Войдя в систему, нужно сменить пароль пользователя ({{nav|Administration|Users}}), завести других пользователей и можно начать настраивать Zabbix.  


[[Файл:Zabbix-8.png|800px|Интерфейс управления системой мониторинга]]
[[Файл:Zabbix-8.png|800px|Интерфейс управления системой мониторинга]]
Строка 198: Строка 232:
{{Note|В профиле пользователя можно настроить некоторые функции веб-интерфейса Zabbix, такие, как язык интерфейса, цветовая тема, количество отображаемых строк в списках и т.п. Сделанные в профиле изменения будут применены только к пользователю, в профиле которого были сделаны эти изменения. }}
{{Note|В профиле пользователя можно настроить некоторые функции веб-интерфейса Zabbix, такие, как язык интерфейса, цветовая тема, количество отображаемых строк в списках и т.п. Сделанные в профиле изменения будут применены только к пользователю, в профиле которого были сделаны эти изменения. }}


== Установка и первоначальная установка клиента Zabbix ==
=== Обновление с Zabbix4 до Zabbix5 ===
После обновления необходимо изменить права доступа к новой директории с zabbix и изменить путь в конфигурационном файле:
<source lang="text" highlight="1-3">
# chown -R apache2:apache2 /var/www/webapps/zabbix/ui/conf
# sed -i 's|/var/www/webapps/zabbix/frontends/php|/var/www/webapps/zabbix/ui|' /etc/httpd2/conf/extra-enabled/A.zabbix.conf
# systemctl restart httpd2
</source>
Для того, чтобы из System information убрать предупреждение Database history tables upgraded: No необходимо остановить zabbix и обновить базу данных:
<source lang="text" highlight="1-2">
# systemctl stop zabbix_pgsql
# su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/double.sql zabbix'
</source>
В файл {{path|/var/www/webapps/zabbix/ui/conf/zabbix.conf.php}} добавить параметр $DB['DOUBLE_IEEE754'] = 'true'; и запустить zabbix:
<source lang="text" highlight="1-2">
# echo "\$DB['DOUBLE_IEEE754'] = 'true';" >>/var/www/webapps/zabbix/ui/conf/zabbix.conf.php
# systemctl start zabbix_pgsql
</source>
 
== Установка и первоначальная настройка клиента Zabbix ==


Установить необходимый пакет:
Установить необходимый пакет:
Строка 214: Строка 266:
где freeipa.example.test — имя узла мониторинга, которое будет указано на сервере Zabbix;  
где freeipa.example.test — имя узла мониторинга, которое будет указано на сервере Zabbix;  


<ip-сервера> — адрес сервера, которому разрешенно обращаться к агенту.
<ip-сервера> — адрес сервера, которому разрешено обращаться к агенту.


{{Note|Если параметр Hostname будет пустой или закомментирован, то узел добавится под системным именем. }}
{{Note|Если параметр Hostname будет пустой или закомментирован, то узел добавится под системным именем. }}
Строка 223: Строка 275:
</source>
</source>


{{Note|Для настройки Zabbix-агента можно также воспользоваться модулем [[ЦУС]] [[Alterator-zabbix-agent|Агент наблюдения]].}}


== Мониторинг CEPH ==
== Мониторинг CEPH ==
Строка 254: Строка 307:
</source>
</source>


=== Настройка ZABBIX сервера ===
=== Настройка Zabbix сервера ===
В веб-интерфейсе сервера необходимо перейти на вкладку {{path|Configuration -> Templates -> Import}}
В веб-интерфейсе сервера необходимо перейти на вкладку {{nav|Configuration|Templates}}, нажать кнопку ''Import''.


Импортировать файлы {{path|zbx_ceph_mon_template.xml}} {{path|zbx_ceph_osd_template.xml}} {{path|zbx_ceph_cluster_template.xml}} {{path|zbx_ceph_mds_template.xml}} из директории {{path|zabbix_templates}}, которая находится в склонированной раннее директории.
Импортировать файлы {{path|zbx_ceph_mon_template.xml}} {{path|zbx_ceph_osd_template.xml}} {{path|zbx_ceph_cluster_template.xml}} {{path|zbx_ceph_mds_template.xml}} из директории {{path|zabbix_templates}}, которая находится в склонированной раннее директории.
Строка 263: Строка 316:
== Возможные проблемы ==
== Возможные проблемы ==
=== Не работает обнаружение при помощи ICMP Ping ===
=== Не работает обнаружение при помощи ICMP Ping ===
В журнале {{path|/var/log/zabbix/zabbix_server.log}} присутствуют различные ошибки касающиеся команд fping, fping6:  
В журнале {{path|/var/log/zabbix/zabbix_server.log}} присутствуют различные ошибки касающиеся команд {{cmd|fping}}, {{cmd|fping6}}:  


*'''failed: /usr/sbin/fping6: can't create raw socket (must run as root?) : Permission denied'''
*'''failed: /usr/sbin/fping6: can't create raw socket (must run as root?) : Permission denied'''
 
*:Для разрешения проблемы необходимо обеспечить запуск программ {{cmd|fping}} и {{cmd|fping6}} с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то  
*:Для разрешение проблемы необходимо обеспечить запуск программ fping и fping6 с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то  
*:<source lang="text" highlight="1-6">
*:<source lang="text" highlight="1-6">
chown root:zabbix /usr/sbin/fping
chown root:zabbix /usr/sbin/fping
Строка 278: Строка 330:


*'''ping failed: *.*.*.*: Address family for hostname not supported'''
*'''ping failed: *.*.*.*: Address family for hostname not supported'''
*:Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование fping6. Для этого в конфигурационном файле {{path|/etc/zabbix/zabbix_server.conf}} раскомментируйте и оставьте без значения параметр
*:Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование {{cmd|fping6}}. Для этого в конфигурационном файле {{path|/etc/zabbix/zabbix_server.conf}} раскомментируйте и оставьте без значения параметр
*:<source lang="text">
*:<source lang="text">
Fping6Location=
Fping6Location=
</source>
</source>
*:Также бывает полезно указать точное нахождение {{cmd|fping}}, в этом же файле директива:
*:Также бывает полезно указать точное нахождение {{cmd|fping}}, в этом же файле директива:
*:<source lang="text">
*:<source lang="text">
Строка 288: Строка 339:
</source>
</source>


Вы всегда можете проверить корректность работы команд {{cmd|fping}} и {{cmd|fping6}} из терминала авторизовавшись пользователем zabbix
Вы всегда можете проверить корректность работы команд {{cmd|fping}} и {{cmd|fping6}} из терминала авторизовавшись пользователем zabbix:
<source lang="text" highlight="1-2">
<source lang="text" highlight="1-2">
# su zabbix -s /bin/sh
# su zabbix -s /bin/sh
Строка 308: Строка 359:
</source>
</source>


== Каталоги для архива ==
== Создание резервных копий ==
 
'''Каталоги для архива'''
<pre>
<pre>
mysqldump -uroot -pzabbix -A>zabb_bk.sql
/etc/zabbix
/etc/zabbix
/var/www/webapps/zabbix
/var/www/webapps/zabbix
Строка 318: Строка 370:
</pre>
</pre>


'''Бэкап базы данных'''
Создание бэкапа PostgreSQL:
<pre>
pg_dump -U postgres -Fc zabbix > zabbix.dump
</pre>
Восстановление бэкапа PostgreSQL:
<pre>
pg_restore -U zabbix -d zabbix zabbix.dump
</pre>
Создание бэкапа MySQL:
<pre>
mysqldump -uroot -pzabbix -A>zabb_bk.sql
</pre>
Восстановление бэкапа MySQL:
<pre>
mysql -uroot -pzabbix < zabb_bk.sql
</pre>


== Полезные ссылки ==
== Полезные ссылки ==
Zabbix 5.0 официальная документация: : https://www.zabbix.com/documentation/5.0/ru/manual
Zabbix 5.0 официальная документация: https://www.zabbix.com/documentation/5.0/ru/manual
 
Zabbix 6.0 официальная документация: https://www.zabbix.com/documentation/6.0/ru/manual


== Примечания ==
== Примечания ==

Текущая версия от 15:28, 1 ноября 2024

Перед установкой Zabbix, у Вас должен быть настроен и запущен сервер PostgreSQL или MySQL, с созданным пользователем zabbix и созданной базой zabbix.

Для управления системой мониторинга и чтения данных используется веб-интерфейс, написанный на PHP, соответственно должен быть настроен и запущен веб-сервер (Apache, Nginx).

Установка Zabbix сервера

Создание базы данных

В процессе установки Zabbix сервера должна быть создана база данных Zabbix.

PostgreSQL

В репозитории p10 на данный момент поддерживается несколько версий PostgreSQL. В данной статье мы будем использовать версию postgresql 16.

Установить PostgreSQL, Zabbix сервер и дополнительную утилиту fping:

# apt-get install postgresql16-server zabbix-server-pgsql fping
Примечание: В p9 можно использовать postgresql 12:
# apt-get install postgresql12-server zabbix-server-pgsql fping


Подготовить к запуску и настроить службы PostgreSQL:

  • создать системные базы данных:
    # /etc/init.d/postgresql initdb
    
  • включить по умолчанию и запустить службу:
    # systemctl enable --now postgresql
    

Создать базу данных Zabbix:

  • создать пользователя zabbix (пароль необходимо запомнить) и базу данных zabbix (под правами root):
    # su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'
    Введите пароль для новой роли: 
    Повторите его:
    # su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'
    
  • добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой *, какая версия установлена можно посмотреть командой rpm -ql zabbix-common-database-pgsql | grep schema.sql ):
     # su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/schema.sql zabbix'
    
    если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно
    # su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/images.sql zabbix'
    # su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/data.sql zabbix'
    

MySQL/MariaDB

Установить сервер MySQL или MariaDB (в данном случае MariaDB), Zabbix сервер и дополнительную утилиту fping:

# apt-get install mariadb-server zabbix-server-mysql fping

Включить по умолчанию и запустить службу mysqld:

# systemctl enable --now mysqld

Создать базу данных Zabbix:

  • создать пользователя zabbix и базу данных zabbix (пароль необходимо запомнить):
    $ mysql -uroot -p
    Enter password:
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
    MariaDB [(none)]> quit;
    
  • добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой):
     $ mysql -uzabbix -p<пароль> zabbix < /usr/share/doc/zabbix-common-database-mysql-*/schema.sql
    
    если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно
    $ mysql -uzabbix -p<пароль> zabbix < /usr/share/doc/zabbix-common-database-mysql-*/images.sql 
    $ mysql -uzabbix -p<пароль> zabbix < /usr/share/doc/zabbix-common-database-mysql-*/data.sql
    

Установка Apache2

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

# apt-get install apache2 apache2-mod_php8.2
Примечание: Для p9:
# apt-get install apache2 apache2-mod_php7


Добавить в автозапуск и запустить apache2:

# systemctl enable --now httpd2

Установка PHP

Примечание: Начиная с Zabbix 5.0 для веб-интерфейса требуется PHP версии 7.2 или выше.


Примечание: Начиная с версии php 8.0, пакеты модулей именуются следующим образом:

php<мажорная>.<минорная версии>-<имя модуля>

Все пакеты php можно устанавливать и эксплуатировать в одной системе одновременно, за исключением пакетов apache2-mod_php<версия> — они не умеют работать в одном адресном пространстве.

В данной статье для p10 используется версия php8.1.


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

  • если Zabbix устанавливается с PostgreSQL:
    # apt-get install php8.2 php8.2-mbstring php8.2-sockets php8.2-gd php8.2-xmlreader php8.2-pgsql php8.2-ldap php8.2-openssl
    
  • если Zabbix устанавливается с MySQL:
    # apt-get install php8.2 php8.2-mbstring php8.2-sockets php8.2-gd php8.2-xmlreader php8.2-mysqlnd-mysqli php8.2-ldap php8.2-openssl
    
Примечание: Для p9:
  • если Zabbix устанавливается с PostgreSQL:
    # apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-pgsql php7-ldap
    
  • если Zabbix устанавливается с MySQL:
    # apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-mysqlnd-mysqli php7-ldap
    


Изменить некоторые опции php в файле /etc/php/8.2/apache2-mod_php/php.ini (версия PHP может быть другой):

memory_limit = 256M
post_max_size = 32M
max_execution_time = 600
max_input_time = 600
date.timezone = Europe/Moscow (регион вписать свой)
always_populate_raw_post_data = -1

Перезапустить apache2:

# systemctl restart httpd2

Настройка и запуск Zabbix сервера

Внести изменения в конфигурационный файл /etc/zabbix/zabbix_server.conf:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Пароль

В параметре DBPassword используйте пароль от MySQL базы данных Zabbix; пароль пользователя PosgreSQL для PosgreSQL.

Добавить Zabbix server в автозапуск и запустить его:

  • если Zabbix устанавливается с PostgreSQL:
    # systemctl enable --now zabbix_pgsql
    
  • если Zabbix устанавливается с MySQL:
    # systemctl enable --now zabbix_mysql
    

Установка веб-интерфейса Zabbix

Установить метапакеты:

# apt-get install zabbix-phpfrontend-apache2 zabbix-phpfrontend-php8.2
Примечание: Для p9:
# apt-get install zabbix-phpfrontend-apache2-mod_php7 zabbix-phpfrontend-php7


Включить аддоны в apache2:

# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/

Перезапустить apache2:

# service httpd2 restart

Изменить права доступа к конфигурационному каталогу веб-интерфейса, чтобы веб-установщик мог записать конфигурационный файл:

# chown apache2:apache2 /var/www/webapps/zabbix/ui/conf
Примечание: Если устанавливается Zabbix4, команда будет такой:
# chown apache2:apache2 /var/www/webapps/zabbix/frontends/php/conf


В браузере перейти на страницу установки Zabbix сервера:

http://<ip-сервера>/zabbix

Примечание: Если при входе на страницу у Вас будет 403 ошибка (доступ запрещен), обратитесь к Zabbix_заметки#Настройка_Apache2


При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности веб-сервера, интерпретатора PHP и сконфигурирует подключение к базе данных.

Страница установки zabbix

Для начала установки необходимо нажать кнопку «Далее» («Next Step»), что осуществит переход на страницу проверки предварительных условий (версия PHP может быть другой):

Страница проверки предварительных условий zabbix

Необходимо доустановить то, что требуется и перейти на следующую страницу.

Здесь необходимо ввести параметры подключения к базе данных (параметры подключения нужно указывать такие же, как у сервера Zabbix).

Если база в PostgreSQL, по умолчанию в качестве Database schema необходимо указать «public»:

Параметры подключения к базе данных PostgreSQL

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

Zabbix. Параметры подключения к базе данных MySQL


На следующей странице можно задать имя сервера:

Настройки zabbix сервера

После окончания установки на экране будет отображаться форма входа в интерфейс управления системой мониторинга. Параметры доступа по умолчанию:

Логин: Admin
Пароль: zabbix

Форма входа в интерфейс управления системой мониторинга

Войдя в систему, нужно сменить пароль пользователя (Administration ▷ Users), завести других пользователей и можно начать настраивать Zabbix.

Интерфейс управления системой мониторинга

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


Обновление с Zabbix4 до Zabbix5

После обновления необходимо изменить права доступа к новой директории с zabbix и изменить путь в конфигурационном файле:

# chown -R apache2:apache2 /var/www/webapps/zabbix/ui/conf
# sed -i 's|/var/www/webapps/zabbix/frontends/php|/var/www/webapps/zabbix/ui|' /etc/httpd2/conf/extra-enabled/A.zabbix.conf
# systemctl restart httpd2

Для того, чтобы из System information убрать предупреждение Database history tables upgraded: No необходимо остановить zabbix и обновить базу данных:

# systemctl stop zabbix_pgsql
# su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-common-database-pgsql-*/double.sql zabbix'

В файл /var/www/webapps/zabbix/ui/conf/zabbix.conf.php добавить параметр $DB['DOUBLE_IEEE754'] = 'true'; и запустить zabbix:

# echo "\$DB['DOUBLE_IEEE754'] = 'true';" >>/var/www/webapps/zabbix/ui/conf/zabbix.conf.php
# systemctl start zabbix_pgsql

Установка и первоначальная настройка клиента Zabbix

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

# apt-get install zabbix-agent

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

Server=<ip-сервера>
ServerActive=<ip-сервера>
Hostname=freeipa.example.test

где freeipa.example.test — имя узла мониторинга, которое будет указано на сервере Zabbix;

<ip-сервера> — адрес сервера, которому разрешено обращаться к агенту.

Примечание: Если параметр Hostname будет пустой или закомментирован, то узел добавится под системным именем.


Добавить Zabbix-агент в автозапуск и запустить его:

# systemctl enable --now zabbix_agentd.service
Примечание: Для настройки Zabbix-агента можно также воспользоваться модулем ЦУС Агент наблюдения.


Мониторинг CEPH

Настройка ноды

Установить на ноду CEPH необходимые пакеты:

# apt-get install zabbix-agent-sudo git

Загрузить необходимые файлы:

# git clone https://github.com/thelan/ceph-zabbix.git

Создать директорию и скопировать файлы:

# mkdir /etc/zabbix/zabbix_ceph
# cp ceph-status.sh /etc/zabbix/zabbix_ceph/
# cp zabbix_agent_ceph_plugin.conf /etc/zabbix/zabbix_agentd.conf.d/

Изменить путь расположения скрипта в файле zabbix_agent_ceph_plugin.conf:

# sed -i 's/\/opt/sudo \/etc\/zabbix\/zabbix_ceph/' /etc/zabbix/zabbix_agentd.conf.d/zabbix_agent_ceph_plugin.conf

Добавить скрипту права на запуск:

# chmod +x /etc/zabbix/zabbix_ceph/ceph-status.sh

Настройка Zabbix сервера

В веб-интерфейсе сервера необходимо перейти на вкладку Configuration ▷ Templates, нажать кнопку Import.

Импортировать файлы zbx_ceph_mon_template.xml zbx_ceph_osd_template.xml zbx_ceph_cluster_template.xml zbx_ceph_mds_template.xml из директории zabbix_templates, которая находится в склонированной раннее директории.

После импорта шаблонов необходимо их прикрепить к нужному хосту.

Возможные проблемы

Не работает обнаружение при помощи ICMP Ping

В журнале /var/log/zabbix/zabbix_server.log присутствуют различные ошибки касающиеся команд fping, fping6:

  • failed: /usr/sbin/fping6: can't create raw socket (must run as root?) : Permission denied
    Для разрешения проблемы необходимо обеспечить запуск программ fping и fping6 с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то
    chown root:zabbix /usr/sbin/fping
    chown root:zabbix /usr/sbin/fping6
    chmod 710 /usr/sbin/fping
    chmod 710 /usr/sbin/fping6
    chmod ug+s /usr/sbin/fping
    chmod ug+s /usr/sbin/fping6
    
  • ping failed: *.*.*.*: Address family for hostname not supported
    Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование fping6. Для этого в конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментируйте и оставьте без значения параметр
    Fping6Location=
    
    Также бывает полезно указать точное нахождение fping, в этом же файле директива:
    FpingLocation=/usr/sbin/fping
    

Вы всегда можете проверить корректность работы команд fping и fping6 из терминала авторизовавшись пользователем zabbix:

# su zabbix -s /bin/sh
$ fping 192.168.0.1
192.168.0.1 is alive

Разрешения выполнения команды fping, управляемой control:

# control fping help
public: Any user can execute /usr/sbin/fping
netadmin: Only "netadmin" group members can execute /usr/sbin/fping
restricted: Only root can execute /usr/sbin/fping

Переключить control для fping:

# control fping public

Создание резервных копий

Каталоги для архива

/etc/zabbix
/var/www/webapps/zabbix
/etc/httpd2/conf/addon.d
/etc/httpd2/conf/sites-available
/etc/php/x.x/apache2-mod_php/php.ini

Бэкап базы данных

Создание бэкапа PostgreSQL:

pg_dump -U postgres -Fc zabbix > zabbix.dump

Восстановление бэкапа PostgreSQL:

pg_restore -U zabbix -d zabbix zabbix.dump

Создание бэкапа MySQL:

mysqldump -uroot -pzabbix -A>zabb_bk.sql

Восстановление бэкапа MySQL:

mysql -uroot -pzabbix < zabb_bk.sql

Полезные ссылки

Zabbix 5.0 официальная документация: https://www.zabbix.com/documentation/5.0/ru/manual

Zabbix 6.0 официальная документация: https://www.zabbix.com/documentation/6.0/ru/manual

Примечания