Установка системы мониторинга Zabbix 3.4 на AstraLinux 1.6

Материал из My WiKi
Перейти к навигации Перейти к поиску

Требования

Zabbix построен на современном веб-сервере Apache, ведущих СУБД, и на языке сценариев PHP. В состав комплекта ПО Zabbix входят сервер и WEB-интерфейс. Для работы WEB-интерфейса Zabbix требуется следующее программное обеспечение:

Приложение Версия Комментарии
Apache 1.3.12 или более поздняя
PHP 5.4.0 или более поздняя
Расширения PHP:
gd 2.0 или более поздняя Расширение PHP GD должен поддерживать формат PNG (--with-png-dir), JPEG (--with-jpeg-dir) изображения и FreeType 2 (--with-freetype-dir)
bcmath php-bcmath (--enable-bcmath)
ctype php-ctype (--enable-ctype)
libXML 2.6.15 или более поздняя php-xml или php5-dom, если поставляется как отдельный пакет от поставщика
xmlreader php-xmlreader, если поставляется как отдельный пакет от поставщика
""xmlwriter"" php-xmlwriter, если поставляется как отдельный пакет от поставщика
session php-session, если поставляется как отдельный пакет от поставщика
sockets php-net-socket (--enable-sockets). Требуется для поддержки пользовательских скриптов
mbstring php-mbstring (--enable-mbstring)
gettext php-gettext (--with-gettext). Требуется для работы переводов
ldap php-ldap. Требуется только, если в веб-интерфейсе используется LDAP аутентификация
ibm_db2 Требуется, если используется IBM DB2 в качестве базы для Zabbix
mysqli Требуется, если используется MySQL в качестве базы для Zabbix
oci8 Требуется, если используется Oracle в качестве базы для Zabbix
pgsql Требуется, если используется PostgresSQL в качестве базы для Zabbix

Обязательные требования нужны всегда. Тогда как опциональные требования требуется только для поддержки определенных функций.

Требование Статус Описание
libpcre Обязательно PCRE библиотека требуется для поддержки PCRE совместимых регулярных выражений. Наименование может отличаться в зависимости от GNU/Linux дистрибутива, например 'libpcre3' или 'libpcre1'. Обратите внимание, что необходима именно PCRE(v8.X), тогда как PCRE2(v10.X) библиотека не используется
libevent Требуется для массового сбора метрик и IPMI мониторинга. Версия 1.4 или более новая. Обратите внимание, что для Zabbix прокси это требование опциональное, и нужно только для IPMI мониторинга
OpenIPMI Опционально Требуется для поддержки IPMI
libssh2 Требуется для поддержки SSH. Версия 1.0 или более новая
fping Требуется для элементов данных ICMP пинг
libcurl Требуется для веб-мониторинга, мониторинга VMware и для SMTP аутентификации. Для SMTP аутентификации, требуется версия 7.20.0 или выше. Также необходима для поддержки Elasticsearch
libiksemel Требуется для поддержки Jabber
libxml2 Требуется для мониторинга VMware
net-snmp Требуется для поддержки SNMP

Расчет требуемого пространства на жестком диске

Представленная ниже таблица содержит формулы для расчета требуемого пространства жесткого диска для системы мониторинга Zabbix:

Параметр Формула для расчета занимаемого места (в байтах)
События дней*событий*24*3600*байт

событий : количество событий в секунду. Одно (1) событие в худшем случае. дней : количество дней хранения событий байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 170 байт

Конфигурация Zabbix Фиксированный размер. Ориентировочно 10МБ или меньше
История дней*(элементов/частота обновления)*24*3600*байт

элементы : количество элементов данных дней : количество дней хранения истории частота обновления : среднее значение периода проверки элементов данных байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт

Динамика изменений дней*(элементов/3600)*24*3600*байт

элементов : количество элементов данных дней : количество дней хранения динамики изменений байт : количество байт, требуемых для одного значения, зависит от типа базы данных, около 90 байт.

Подготовка системы

Установка Apache2

В /etc/parsec/mswitch.conf

 zero_if_notfound=yes

Это необходимо, чтобы пользователь СУБД, сущность которого не создана в ОС, мог входить в СУБД с нулевыми мандатными атрибутами. Установить необходимые пакеты:

 apt update
 apt install apache2 libapache2-mod-php7.0 postgresql-9.6 php7.0-pgsql

Настройка Apache2

В /etc/php/7.0/apache2/php.ini удалить символ '"точка с запятой" перед параметром date/timezone и дописать часовой пояс, например Europe/Moscow

 [Date]
 date.timezone = Europe/Moscow

Отредактировать /etc/hosts

 127.0.0.1	localhost
 #127.0.1.1	astra
 192.168.199.99	astra.example.com	astra

Если не нужна авторизация pam или gss, то в /etc/apache2/apache2.conf прописать:

 AstraMode off

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

 systemctl restart apache2

Настройка PostgreSQL

Отредактировать /etc/postgresql/9.6/main/pg_hba.conf:

 # TYPE  DATABASE        USER            ADDRESS                 METHOD
 local   zabbix          zabbix                                  trust
 # IPv4 local connections:
 host    zabbix          zabbix          127.0.0.1/32            trust

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

 systemctl restart postgresql@9.6-main

Создать пользователя и базу zabbix:

 sudo -u postgres psql
 CREATE DATABASE ZABBIX;
 CREATE ROLE zabbix with login password '12345678';
 GRANT ALL ON DATABASE zabbix to zabbix;
 \q

Установка Zabbix

Установить zabbix:

 apt install zabbix-frontend-php zabbix-server-pgsql

Импортировать шаблон БД zabbix:

 gunzip -c /usr/share/doc/zabbix-server-pgsql/create.sql > create.sql
 psql -U zabbix -d zabbix -f create.sql

Если при выполнении команды psql -U zabbix -d zabbix -f create.sql происходит ошибка: psql: СБОЙ: error obtaining MAC configuration for user "zabbix" то для устранения ошибки необходимо выполнить следующие команды:

 usermod -a -G shadow postgres
 setfacl -d -m u:postgres:r /etc/parsec/macdb
 setfacl -R -m u:postgres:r /etc/parsec/macdb
 setfacl -m u:postgres:rx /etc/parsec/macdb
 setfacl -d -m u:postgres:r /etc/parsec/capdb
 setfacl -R -m u:postgres:r /etc/parsec/capdb
 setfacl -m u:postgres:rx /etc/parsec/capdb
 pdpl-user -l 0:0 zabbix

И выполнить команду psql -U zabbix -d zabbix -f create.sql повторно.

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

 systemctl restart apache2

Включим zabbix:

 systemctl enable zabbix-server
 systemctl start zabbix-server

Далее открыть браузер и продолжим установку Вводим: http://astra.example.com/zabbix и Нажимаем Next Step

Image2018-4-5 15-33-20.png

Убедиться, что все обязательные компоненты установлены корректно (ОК):

Image2018-4-5 15-35-12.png

Ввести данные для доступа к БД:

Image2018-4-5 15-37-18.png

Назвать сервер уникальным именем:

Image2018-4-5 15-40-58.png

Проверить информацию:

Image2018-4-5 15-42-6.png

Установщик сообщит, что установка успешно завершена, а конфиг сохранен:

Image2018-4-5 15-43-27.png

Успех!

Image2018-4-5 15-45-4.png

Для входа ввести: логин: Admin пароль: zabbix

Настройка Zabbix

Перейти в Administration → Users → Admin

Image2018-4-5 16-43-29.png

Выберать язык "Русский" и нажимать update:

Image2018-4-5 16-45-19.png

Перейти в настройка → Узлы и нажать на надпись "Деактивировано" напротив Zabbix Server. Это включит сбор информации с сервера.

Image2018-4-5 16-48-36.png

Установка и настройка zabbix агента

Установка агента очень проста

 apt-get install zabbix-agent

Для настройки агента в строке Server указать адрес сервера /etc/zabbix/zabbix_agentd.conf

 ### Option: Server
 #   List of comma delimited IP addresses, optionally in CIDR notation, or hostnames of Zabbix servers.
 #   Incoming connections will be accepted only from the hosts listed here.
 #   If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally and '::/0' will allow any IPv4 or IPv6 address.
 #   '0.0.0.0/0' can be used to allow any IPv4 address.
 #   Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
 #
 # Mandatory: no
 # Default:
 # Server=
  
 Server=192.168.32.218

Перезапустить агента

 systemctl restart zabbix-agent

На сервере перейти в Настройки → Узлы → Создать узел, после чего указать Название, отображаемое имя и IP-адрес:

Image2018-4-5 17-25-44.png

Перейти в Шаблоны, в строке начать печатать "lin..."

Image2018-4-5 17-27-34.png

Из полученного списка выбрать Template OS Linux и нажать Добавить, Затем кнопку Добавить

Image2018-4-5 17-28-53.png

Компьютер добавлен в список узлов для проверки.

Если всё сделано правильно, то при возникновении события, указанного в шаблонах, на главном экране будет отображаться уведомление:

Image2018-4-5 17-37-34.png