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

Материал из ALT Linux Wiki
Перейти к: навигация, поиск
м (Установка веб-интерфейса)
Строка 1: Строка 1:
 
{{Stub}}
 
{{Stub}}
__TOC__
 
== Перед установкой ==
 
Перед установкой, у Вас должен быть настроен и запущен сервер PostgreSQL или MySQL (позже будет дополнено), с созданным пользователем zabbix и созданной базой zabbix.
 
  
Для управления системой мониторинга и чтения данных используется веб-интерфейс, написанный на PHP, соответственно настроенный вебсервер (в нашем случае это Apache2.2.22).
+
Перед установкой Zabbix, у Вас должен быть настроен и запущен сервер PostgreSQL или MySQL, с созданным пользователем zabbix и созданной базой zabbix.
  
===Установка Zabbix с использованием PostgreSQL===
+
Для управления системой мониторинга и чтения данных используется веб-интерфейс, написанный на PHP, соответственно должен быть настроен и запущен веб-сервер (Apache, Nginx).
  
====Установка сервера PostgreSQL====
+
== Установка ==
В p9 alt linux на данный момент поддерживается несколько версий postgresql. Мы будем использовать версию postgresql 9.4
+
 
# apt-get install postgresql9.1-server
+
=== Установка Zabbix Server ===
Далее необходимо создать начальные базы:
+
 
<pre>/etc/init.d/postgresql initdb</pre>
+
==== Установка Zabbix Server с PostgreSQL ====
После запускаем сервер PostgreSQL<ref>PostgreSQL может не стартовать из-за проблем при копировании локалей в chroot (см. {{altbug|23821}}).</ref>:
+
 
# service postgresql start
+
В [[p9]] на данный момент поддерживается несколько версий PostgreSQL. В данной статье мы будем использовать версию postgresql 9.6.
Adjusting environment for postgresql:             [ DONE ]
+
 
Starting postgres service:                         [ DONE ]
+
Установить PostgreSQL, Zabbix Server и дополнительную утилиту {{pkg|fping}}:
Link postgresql socket:                           [ DONE ]
+
<source lang="text" highlight="1"># apt-get install postgresql9.6-server zabbix-server-pgsql fping</source>
 +
 
 +
Подготовить к запуску и настроить службы PostgreSQL:
 +
*создать системные базы данных:
 +
*:<source lang="text" highlight="1">
 +
# /etc/init.d/postgresql initdb
 +
</source>
 +
*включить по умолчанию и запустить службу:
 +
*:<source lang="text" highlight="1">
 +
# systemctl enable --now postgresql
 +
</source>
 +
 
 +
Создать базу данных Zabbix:
 +
*создать пользователя zabbix (пароль необходимо запомнить) и базу данных zabbix (под правами root):
 +
*:<source lang="text" highlight="1,4,5">
 +
# 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'
 +
# service postgresql restart
 +
</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 прокси, следующие команды выполнять не нужно
 +
*:<source lang="text" highlight="1,2">
 +
# 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'
 +
</source>
  
# service httpd2 start
+
==== Установка Zabbix Server с использованием MySQL ====
Как мы уже выше сказали, в базе данных необходимо создать нового пользователя и базу:
 
$ createuser -U postgres -d -S -R -P zabbix
 
Enter password for new role:
 
Enter it again:
 
$ createdb -O zabbix -T zabbix zabbix
 
либо
 
$ createdb -O zabbix -U zabbix zabbix
 
Пароль для пользователя необходимо запомнить.
 
Теперь меняем права у этого пользователя, а именно убираем возможность создания новых баз:
 
$ psql -U postgres
 
postgres=# ALTER USER zabbix NOCREATEDB;
 
ALTER ROLE
 
postgres=# \q
 
  
== Установка ==
+
Установить MySQL, Zabbix Server и дополнительную утилиту {{pkg|fping}}:
На момент установки в p6 был доступен zabbix версии 1.8.5. Обнаруженные проблемы описаны по мере повествования.
+
<source lang="text" highlight="1"># apt-get install mariadb-server zabbix-server-mysql fping</source>
 +
 
 +
Включить по умолчанию и запустить службу mysqld:
 +
<source lang="text" highlight="1">
 +
# systemctl enable --now mysqld
 +
</source>
 +
 
 +
Создать базу данных Zabbix:
 +
*создать пользователя zabbix и базу данных zabbix (пароль необходимо запомнить):
 +
*:<source lang="text" highlight="1,3-5">
 +
$ 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;
 +
</source>
 +
*добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой):
 +
*:<source lang="text" highlight="1"> $ mysql -uzabbix -p<пароль> zabbix < /usr/share/doc/zabbix-common-database-mysql-*/schema.sql</source>
 +
*:если вы создаете базу данных для Zabbix прокси, следующие команды выполнять не нужно
 +
*:<source lang="text" highlight="1,2">
 +
$ 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
 +
</source>
 +
 
 +
=== Установка Apache2 ===
 +
Установить необходимые пакеты:
 +
<source lang="text" highlight="1">
 +
# apt-get install apache2 apache2-mod_php7
 +
</source>
 +
Добавить в автозапуск и запустить  apache2:
 +
<source lang="text" highlight="1">
 +
# systemctl enable --now httpd2
 +
</source>
 +
 
 +
=== Установка PHP ===
 +
 
 +
{{Note|Начиная с Zabbix 5.0 для веб-интерфейса требуется PHP версии 7.2 или выше.}}
 +
 
 +
Установить необходимые пакеты:
 +
*если Zabbix устанавливается с PostgreSQL:
 +
*:<source lang="text" highlight="1">
 +
# apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-pgsql php7-ldap
 +
</source>
 +
*если Zabbix устанавливается с MySQL:
 +
*:<source lang="text" highlight="1">
 +
# apt-get install php7 php7-mbstring php7-sockets php7-gd2 php7-xmlreader php7-mysqlnd-mysqli php7-ldap
 +
</source>
  
Устанавливаем ZABBIX
+
Изменить некоторые опции php в файле {{path|/etc/php/7.3/apache2-mod_php/php.ini}} (версия PHP может быть другой):
# apt-get install zabbix-server-pgsql
+
<source lang="text">
Устанавливаем дополнительную утилиту:
+
post_max_size = 16M
# apt-get install fping
+
max_execution_time = 600
# control fping public #FIXME
+
max_input_time = 300
 +
date.timezone = Europe/Moscow (регион вписать свой)
 +
always_populate_raw_post_data = -1
 +
</source>
  
== Настройка базы данных ==
+
Перезапустить apache2:
$ cd /usr/share/doc/zabbix-common-database-pgsql-4.0.14
+
<source lang="text" highlight="1">
$ psql -U zabbix -f schema.sql zabbix
+
# systemctl restart httpd2
$ psql -U zabbix -f images.sql zabbix
+
</source>
$ psql -U zabbix -f data.sql zabbix
 
<!--Однако здесь вас ожидает небольшая заковыка, которая относится к изменению синтаксиса в PSQL9.1. Третья команда не выполнится, так как она оформлена по стандартам PSQL8. Для исправления ошибки, в '''/var/lib/pgsql/data/postgresql.conf''' измените следующую строчку вот таким образом:
 
<pre>standard_conforming_strings = off</pre>
 
  
Проблема исправлена в 1.8.9 и выше. Дополнительная информация [https://support.zabbix.com/browse/ZBX-4145 здесь].-->
+
=== Настройка и запуск Zabbix Server ===
  
== Настройка ZABBIX ==
+
Внести изменения в конфигурационный файл {{path|/etc/zabbix/zabbix_server.conf}}:
Конфигурационный файл: /etc/zabbix/zabbix_server.conf
+
<source lang="text">
DBHost=localhost
+
DBHost=localhost
DBName=zabbix
+
DBName=zabbix
DBUser=zabbix
+
DBUser=zabbix
DBPassword=<Пароль от базы, который надо было запомнить>
+
DBPassword=Пароль от базы
 +
</source>
  
== Запуск ZABBIX ==
+
Добавить Zabbix server в автозапуск и запустить его:
# service zabbix_pgsql start
+
*если Zabbix устанавливается с PostgreSQL:
 +
*:<source lang="text" highlight="1">
 +
# systemctl enable --now zabbix_pgsql
 +
</source>
 +
*если Zabbix устанавливается с MySQL:
 +
*:<source lang="text" highlight="1">
 +
# systemctl enable --now zabbix_mysql
 +
</source>
  
== Установка веб-интерфейса ==
+
=== Установка веб-интерфейса Zabbix ===
Устанавливаем веб-интерфейс и ещё пару пакетов для того чтобы он работал:
 
<pre>apt-get install zabbix-phpfrontend-apache2
 
apt-get install zabbix-phpfrontend-php7
 
apt-get install apache2-mod_php7
 
apt-get install php7-pgsql
 
apt-get install php7-gmp php7-gd2 php7-sockets php7-mbstring php7-xmlreader</pre>
 
  
Включаем аддоны в apache2:
+
Установить метапакет:
 +
<source lang="text" highlight="1">
 +
# apt-get install zabbix-phpfrontend-apache2-mod_php7
 +
</source>
  
<pre>
+
Включить аддоны в apache2:
 +
<source lang="text" highlight="1">
 
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/
 
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/
</pre>
+
</source>
 +
 
 +
Перезапустить apache2:
 +
<source lang="text" highlight="1">
 +
# service httpd2 restart
 +
</source>
 +
 
 +
Изменить права доступа к конфигурационному каталогу веб-интерфейса, чтобы веб-установщик мог записать конфигурационный файл:
 +
<source lang="text" highlight="1">
 +
# chown apache2:apache2 /var/www/webapps/zabbix/ui/conf
 +
</source>
 +
 
 +
{{Note| Если устанавливается Zabbix4, команда будет такой:
 +
<source lang="text" highlight="1">
 +
# chown apache2:apache2 /var/www/webapps/zabbix/frontends/php/conf
 +
</source>}}
 +
 
 +
В браузере перейти на страницу установки Zabbix сервера:
 +
 
 +
http://<ip-сервера>/zabbix
 +
 
 +
{{note|Если при входе на страницу у Вас будет 403 ошибка (доступ запрещен), обратитесь к [[Zabbix_заметки#Настройка_Apache2]]}}
 +
 
 +
При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности веб-сервера, интерпретатора PHP и сконфигурирует подключение к базе данных.
 +
 
 +
Для начала установки необходимо нажать кнопку ''Next Step'', что осуществит переход на страницу проверки предварительных условий:
 +
 
 +
[[Файл:Zabbix-2.png|Страница проверки предварительных условий zabbix]]
 +
 
 +
Необходимо доустановить то, что требуется и перейти на следующую страницу.
 +
 
 +
Здесь необходимо ввести параметры подключения к базе данных (параметры подключения нужно указывать такие же, как у сервера Zabbix).
 +
 
 +
Если база в PostgreSQL, по умолчанию в качестве Database schema необходимо указать «public»:
 +
 +
[[Файл:Zabbix-3.png|Параметры подключения к базе данных PostgreSQL]]
 +
 
 +
{{Note|Параметры подключения к базе данных MySQL:
 +
 
 +
[[Файл:Zabbix-mysql.png|Zabbix. Параметры подключения к базе данных MySQL]]
 +
}}
 +
 
 +
На следующей странице можно задать имя сервера:
 +
 
 +
[[Файл:Zabbix-4.png|Настройки zabbix-сервера]]
 +
 
 +
После окончания установки на экране будет отображаться форма входа в интерфейс управления системой мониторинга. Параметры доступа по умолчанию:
 +
<source lang="text">
 +
Логин: Admin
 +
Пароль: zabbix
 +
</source>
 +
 
 +
[[Файл:Zabbix-7.png|Форма входа в интерфейс управления системой мониторинга]]
 +
 
 +
Войдя в систему, нужно сменить пароль пользователя, завести других пользователей и можно начать настраивать Zabbix.
 +
 
 +
[[Файл:Zabbix-8.png|800px|Интерфейс управления системой мониторинга]]
 +
 
 +
{{Note|В профиле пользователя можно настроить некоторые функции веб-интерфейса Zabbix, такие, как язык интерфейса, цветовая тема, количество отображаемых строк в списках и т.п. Сделанные в профиле изменения будут применены только к пользователю, в профиле которого были сделаны эти изменения. }}
 +
 
 +
== Установка и первоначальная установка клиента Zabbix ==
 +
 
 +
Установить необходимый пакет:
 +
<source lang="text" highlight="1">
 +
# apt-get install zabbix-agent
 +
</source>
 +
 
 +
Если Zabbix-агент устанавливается не на сам сервер мониторинга, то в файле конфигурации агента {{path|/etc/zabbix/zabbix_agentd.conf}} нужно задать следующие параметры:
 +
<source lang="text">
 +
Server=<ip-сервера>
 +
ServerActive=<ip-сервера>
 +
Hostname=freeipa.example.test
 +
</source>
 +
 
 +
где freeipa.example.test — имя узла мониторинга, которое будет указано на сервере Zabbix;
 +
 
 +
<ip-сервера> — адрес сервера, которому разрешенно обращаться к агенту.
 +
 
 +
{{Note|Если параметр Hostname будет пустой или закомментирован, то узел добавится под системным именем. }}
 +
 
 +
Добавить Zabbix-агент в автозапуск и запустить его:
 +
<source lang="text" highlight="1">
 +
# systemctl enable --now zabbix_agentd.service
 +
</source>
 +
 
 +
 
 +
== Мониторинг CEPH ==
 +
=== Настройка ноды ===
 +
 
 +
Установить на ноду CEPH необходимые пакеты:
 +
<source lang="text" highlight="1">
 +
# apt-get install zabbix-agent-sudo git
 +
</source>
 +
 
 +
Загрузить необходимые файлы:
 +
<source lang="text" highlight="1">
 +
# git clone https://github.com/thelan/ceph-zabbix.git
 +
</source>
 +
 
 +
Создать директорию и скопировать файлы:
 +
<source lang="text" highlight="1-3">
 +
# 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/
 +
</source>
 +
 
 +
Изменить путь расположения скрипта в файле {{path|zabbix_agent_ceph_plugin.conf}}:
 +
<source lang="text" highlight="1">
 +
# sed -i 's/\/opt/sudo \/etc\/zabbix\/zabbix_ceph/' /etc/zabbix/zabbix_agentd.conf.d/zabbix_agent_ceph_plugin.conf
 +
</source>
 +
 
 +
Добавить скрипту права на запуск:
 +
<source lang="text" highlight="1">
 +
# chmod +x /etc/zabbix/zabbix_ceph/ceph-status.sh
 +
</source>
 +
 
 +
=== Настройка ZABBIX сервера ===
 +
В веб-интерфейсе сервера необходимо перейти на вкладку {{path|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}}, которая находится в склонированной раннее директории.
 +
 
 +
После импорта шаблонов необходимо их прикрепить к нужному хосту.
 +
 
 +
== Возможные проблемы ==
 +
=== Не работает обнаружение при помощи ICMP Ping ===
 +
В журнале {{path|/var/log/zabbix/zabbix_server.log}} присутствуют различные ошибки касающиеся команд fping, fping6:
 +
 
 +
*'''failed: /usr/sbin/fping6: can't create raw socket (must run as root?) : Permission denied'''
  
== Настраиваем PHP ==
+
*:Для разрешение проблемы необходимо обеспечить запуск программ fping и fping6 с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то
Конфигурационный файл: /etc/php/7.2/apache2-mod_php/php.ini (версия PHP может быть другой)
+
*:<source lang="text" highlight="1-6">
Правим следующие параметры для того, чтобы при проверке Zabbix не забраковал конфиг. файл. Здесь представлены рекомендуемые параметры:
+
chown root:zabbix /usr/sbin/fping
memory_limit = 256M
+
chown root:zabbix /usr/sbin/fping6
post_max_size = 32M
+
chmod 710 /usr/sbin/fping
max_execution_time = 600
+
chmod 710 /usr/sbin/fping6
max_input_time = 600
+
chmod ug+s /usr/sbin/fping
date.timezone = Europe/Moscow
+
chmod ug+s /usr/sbin/fping6
 +
</source>
  
== Начальная конфигурация вебинтерфейса ==
+
*'''ping failed: *.*.*.*: Address family for hostname not supported'''
 +
*:Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование fping6. Для этого в конфигурационном файле {{path|/etc/zabbix/zabbix_server.conf}} раскомментируйте и оставьте без значения параметр
 +
*:<source lang="text">
 +
Fping6Location=
 +
</source>
  
Пробуем попасть на страничку по адресу: http://address/zabbix
+
*:Также бывает полезно указать точное нахождение {{cmd|fping}}, в этом же файле директива:
 +
*:<source lang="text">
 +
FpingLocation=/usr/sbin/fping
 +
</source>
  
При первом заходе на страницу запустится мастер, который шаг за шагом проверит возможности Web-сервера, инетрпретатора PHP и сконфигурирует подключение к базе данных (параметры подключения нужно указывать такие же, как у сервера zabbix). На последней странице мастера будет доступен для скачивания конфигурационный файл zabbix.conf.php, который необходимо сохранить в /var/www/webapps/zabbix/frontends/php/conf.
+
Вы всегда можете проверить корректность работы команд {{cmd|fping}} и {{cmd|fping6}} из терминала авторизовавшись пользователем zabbix
 +
<source lang="text" highlight="1-2">
 +
# su zabbix -s /bin/sh
 +
$ fping 192.168.0.1
 +
192.168.0.1 is alive
 +
</source>
  
После этого вы увидите экран входа в интерфейс управления системой мониторинга. Пользователь для входа по умолчанию '''Admin''', пароль '''zabbix'''. Войдя в систему, нужно сменить ему пароль, завести других пользователей и можно начать настраивать zabbix.
+
Разрешения выполнения команды {{cmd|fping}}, управляемой control:
 +
<source lang="text" highlight="1">
 +
# 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
 +
</source>
  
== Установка и первоначальная установка клиента ZABBIX ==
+
Переключить control для {{cmd|fping}}:
# apt-get update
+
<source lang="text" highlight="1">
# apt-get install zabbix-agent
+
# control fping public
Конфигурационный файл: /etc/zabbix/zabbix_agentd.conf
+
</source>
Главное подправить параметр:
 
Server=127.0.0.1
 
Для запуска этого будет достаточно.
 
# service zabbix_agentd start
 
# chkconfig zabbix_agentd on
 
  
 
== Каталоги для архива ==
 
== Каталоги для архива ==
Строка 113: Строка 317:
 
/etc/php/x.x/apache2-mod_php/php.ini
 
/etc/php/x.x/apache2-mod_php/php.ini
 
</pre>
 
</pre>
 +
  
 
== Полезные ссылки ==
 
== Полезные ссылки ==
Zabbix: базовая терминология: http://flycat.info/2008/09/17/zabbix-terms/
+
Zabbix 5.0 официальная документация: : https://www.zabbix.com/documentation/5.0/ru/manual
 
 
Zabbix 1.8: официальная документация: http://www.zabbix.com/documentation/ru/1.8/start
 
  
 
== Примечания ==
 
== Примечания ==

Версия 14:57, 21 января 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


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

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

Установка

Установка Zabbix Server

Установка Zabbix Server с PostgreSQL

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

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

# apt-get install postgresql9.6-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'
    # service postgresql restart
    
  • добавить в базу данные для веб-интерфейса (последовательность команд важна, в разных версиях путь будет отличаться, версия помечена звёздочкой):
     # 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'
    

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

Установить MySQL, Zabbix Server и дополнительную утилиту 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_php7

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

# systemctl enable --now httpd2

Установка PHP

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


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

  • если 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/7.3/apache2-mod_php/php.ini (версия PHP может быть другой):

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

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

# systemctl restart httpd2

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

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

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Пароль от базы

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

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

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

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

# apt-get install zabbix-phpfrontend-apache2-mod_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 и сконфигурирует подключение к базе данных.

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


Установка и первоначальная установка клиента 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


Мониторинг 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

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

mysqldump -uroot -pzabbix -A>zabb_bk.sql
/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


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

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

Примечания