Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
    с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12.43

Требования

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


ПриложениеВерсияКомментарии
Apache1.3.12 или более поздняя
PHP5.4.0 или более поздняя
Расширения PHP:
gd2.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)
libXML2.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.


Примерный расcчет требуемого пространства на жестком диске

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

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

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

Настройка конфигурации Parsec

В конфигурационном файле Parsec /etc/parsec/mswitch.conf присвоить параметру zero_if_notfound значение yes:

# Return zero data instead of ENOENT/ENODATA in the absence of record
zero_if_notfound: yes

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

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

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

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

Настройка работы с включенными МРД и МКЦ

Для работы с включенным мандатным управлением доступом (МРД) и мандатным контролем целостности (МКЦ):

  1. Назначить метки безопасности служебным пользователям postgres и zabbix:
    1. Метка безопасности служебного пользователя postgres (нулевая классификационная метка и высокая целостность):
      sudo pdpl-user -l 0:0 -i 63 postgres


    2. Метка безопасности служебного пользователя zabbix (нулевая классификационная метка):
      sudo pdpl-user -l 0:0 zabbix
  2. Предоставить служебным пользователям postgres и zabbix право чтения базы данных меток безопасности локальных пользователей:
    sudo setfacl -d -m u:postgres:r /etc/parsec/{macdb,capdb}
    sudo setfacl -R -m u:postgres:r /etc/parsec/{macdb,capdb}
    sudo setfacl -m u:postgres:rx /etc/parsec/{macdb,capdb}

Настройка службы Apache2

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

/etc/php/*/apache2/php.ini
[Date]
date.timezone = Europe/Moscow

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

/etc/hosts
127.0.0.1	localhost
#127.0.1.1	astra16
192.168.32.218	astra16.example.com	astra16

В при работе в Astra Linux Special Edition в конфигурационном файле /etc/apache2/apache2.conf указать параметр:

/etc/apache2/apache2.conf
AstraMode off

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

sudo systemctl reload apache2

Настройка СУБД PostgreSQL

Отредактировать конфигурационный файл /etc/postgresql/*/main/pg_hba.conf:

/etc/postgresql/*/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

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

sudo systemctl restart postgresql
Создать пользователя и базу zabbix:
sudo -u postgres psql

CREATE DATABASE ZABBIX;
CREATE USER zabbix WITH ENCRYPTED PASSWORD '12345678';
GRANT ALL ON DATABASE zabbix to zabbix;
ALTER DATABASE zabbix OWNER TO zabbix;
\q

Настройка zabbix

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

Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних очередных обновлений Astra Linux:

zcat /usr/share/zabbix-server-pgsql/{schema,images,data}.sql.gz | psql -h localhost zabbix zabbix
sudo a2enconf zabbix-frontend-php
sudo systemctl reload apache2

Для Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 без установленного обновления БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7):

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

Настройка WEB-интерфейса zabbix

Для Astra Linux Common Edition, Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.6 с установленным обновлением БЮЛЛЕТЕНЬ № 20210611SE16 (оперативное обновление 7) и более поздних обновлений ОС (включая Astra Linux Special Edition x.7):

  1. Скопировать в файл /etc/zabbix/zabbix.conf.php один из файлов  /usr/share/zabbix/conf/zabbix.conf.php.example или /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example:

    sudo cp /usr/share/zabbix/conf/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php

  2. Установить права доступа к созданному файлу:

    sudo chown www-data:www-data /etc/zabbix/zabbix.conf.php

  3. В файле /etc/zabbix/zabbix.conf.php задать значения переменных TYPE (тип используемой СУБД) и PASSWORD (пароль пользователя zabbix СУБД):

    $DB['TYPE'] = 'POSTGRESQL';
    
    ...
    $DB['PASSWORD'] = '<пароль_пользователя_zabbix_СУБД>';
  4. Перезапустить службу apache2:

    sudo systemctl reload apache2

  5. В конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментировать строку, задающую пароль доступа к БД zabbix, и указать там пароль:

    DBPassword=<пароль>
  6. Разрешить автоматический запуск службы zabbix при перезагрузке ОС и запустить службу zabbix:

    sudo systemctl enable zabbix-server
    sudo systemctl start zabbix-server

  7. Открыть WEB-страницу zabbix в WEB-браузере. Имя для входа: Admin (с заглавной буквы), пароль для входа: zabbix

    firefox localhost/zabbix

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

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

sudo apt install zabbix-agent

В конфигурационном файле /etc/zabbix/zabbix_agentd.conf в строке Server указать адрес IP-сервера:

/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

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

sudo systemctl restart zabbix-agent

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

Перейти в закладку "Шаблоны", в строке "Присоединение новых шаблонов" начать печатать имя шаблона ("lin..."),  из полученного списка выбрать "Template OS Linux by Zabbix Agent"

Нажать кнопку "Добавить" для сохранения введенных данных, после чего компьютер будет добавлен в список узлов для проверки.