Интеграция с Zabbix

Интеграция KICS for Networks 4.3 с Zabbix

В данной статье описан порядок обеспечения мониторинга работоспособности сервисов KICS for Networks 4.3 с помощью Zabbix.

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

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

Проверьте наличие локали en_US.UTF-8:

locale -a | grep en_US

Если локаль отсутствует, добавьте её:

sudo sed -i "s/^#\s*\(en_US.UTF-8 UTF-8\)/\1/" /etc/locale.gen
sudo locale-gen en_US.UTF-8
sudo update-locale en_US.UTF-8

1.2               Установка пакетов Zabbix Server

sudo apt update
sudo apt install -y zabbix-server-pgsql zabbix-frontend-php php-pgsql postgresql apache2 libapache2-mod-php

1.3               Настройка часового пояса в PHP

Отредактировать файл /etc/php/*/apache2/php.ini :

sudo nano /etc/php/*/apache2/php.ini

Ctrl+o, Ctrl+x для сохранения и выхода

Найти и раскомментировать строку [Date]:

date.timezone = Europe/Moscow

1.4               Настройка PostgreSQL

Создание базы данных и пользователя

sudo -u postgres psql
CREATE DATABASE zabbix;
CREATE USER zabbix WITH PASSWORD 'Qwerty!@#123';
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
\q

Импорт схемы базы данных

sudo -u postgres psql -d zabbix -c "GRANT ALL ON SCHEMA public TO zabbix;"
sudo -u postgres zcat /usr/share/zabbix-server-pgsql/{schema,images,data}.sql.gz | PGPASSWORD='Qwerty!@#123' psql -U zabbix -d zabbix -h 127.0.0.1

1.5               Настройка мандатного доступа (МРД/МКЦ)

Если на сервере Zabbix включены режимы "Воронеж" или "Смоленск", выполнить дополнительные настройки:

Назначение меток безопасности:

sudo pdpl-user -l 0:0 postgres
sudo pdpl-user -l 0:0 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}

1.6               Настройка Zabbix Server

Отредактировать конфигурационный файл:

sudo nano /etc/zabbix/zabbix_server.conf

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

DBHost=127.0.0.1
DBName=zabbix  (может быть уже указано в файле)
DBUser=zabbix (может быть уже указано в файле)
DBPassword=Qwerty!@#123 (для примера взят пароль Qwerty!@#123)

Ctrl+o, Ctrl+x для сохранения и выхода

Запуск сервера

sudo systemctl restart zabbix-server
sudo systemctl enable zabbix-server
sudo systemctl status zabbix-server

1.7               Настройка веб-интерфейса

Копирование конфигурационного файла 

sudo cp /usr/share/zabbix/conf/zabbix.conf.php.example /etc/zabbix/zabbix.conf.php
sudo chown www-data:www-data /etc/zabbix/zabbix.conf.php
sudo chmod 644 /etc/zabbix/zabbix.conf.php

Настройка пароля в конфигурации

Отредактировать конфигурационный файл:

sudo nano /etc/zabbix/zabbix.conf.php

Найти строку с типом СУБД и указать:

$DB['TYPE'] = 'POSTGRESQL';

Найти строку с паролем и указать:

$DB['PASSWORD'] = 'Qwerty!@#123';

Ctrl+o, Ctrl+x для сохранения и выхода

Включение конфигурации Zabbix в Apache

sudo a2enconf zabbix-frontend-php
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl reload apache2

1.8               Настройка AstraMode

Для корректной работы веб-интерфейса добавьте в конфигурацию Apache:

sudo nano /etc/apache2/apache2.conf

Добавьте строку (только для тестовой среды):

AstraMode off

Ctrl+o, Ctrl+x для сохранения и выхода

Перезагрузить Apache:

sudo systemctl reload apache2

1.9               Проверка веб-интерфейса

Открыть в браузере: http://<IP_сервера_Zabbix>/zabbix

Учётные данные для входа (по умолчанию):

·  Username: Admin

·  Password: zabbix

Должны отобразиться дашборды сервиса Zabbix

2.                  Настройка сервера KICS for Networtks

2.1               Установка Zabbix Agent

sudo apt update
sudo apt install -y zabbix-agent

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

Отредактировать файл /etc/zabbix/zabbix_agentd.conf:

sudo nano /etc/zabbix/zabbix_agentd.conf

Указать параметры:

Server=<IP_сервера_Zabbix>
ServerActive=<IP_ сервера_Zabbix >
Hostname=kics4networks

Ctrl+o, Ctrl+x для сохранения и выхода

2.3             Настройка прав для сбора данных аудита

sudo usermod -aG adm zabbix

2.4              Создание пользовательского параметра для мониторинга сервиса kics4net-webserver

Проверьте каталог, используемый директивой Include в файле /etc/zabbix/zabbix_agentd.conf:

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf

Создание конфигурационного файла

sudo mkdir -p /etc/zabbix/zabbix_agentd.conf.d/
sudo nano /etc/zabbix/zabbix_agentd.conf.d/kics_services.conf

Вставьте содержимое:

UserParameter=kics.status[*],test "$(systemctl is-active "$1" 2>/dev/null)" = "active" && echo 1 || echo 0

Ctrl+o, Ctrl+x для сохранения и выхода

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

sudo chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/kics_services.conf
sudo chmod 644 /etc/zabbix/zabbix_agentd.d/kics_services.conf

2.5             Проверка директивы Include в основном конфиге

Убедиться, что в файле /etc/zabbix/zabbix_agentd.conf присутствует строка:

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
sudo nano /etc/zabbix/zabbix_agentd.conf

Проверьте корректность конфигурации:

sudo zabbix_agentd -T

Ожидаемый результат:

Validation successful

2.6             Запуск и проверка агента

sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
sudo systemctl status zabbix-agent

2.7              Проверка пользовательского параметра

На сервере KICS for Networks выполнить проверку:

sudo zabbix_agentd -t 'kics.status[kics4net-webserver]'

Ожидаемый результат: (если сервис запущен)

kics.status[kics4net-webserver] [u|1]

или

kics.status[kics4net-webserver] [t|1]

С сервера Zabbix выполнить проверку:

zabbix_get -s <IP_сервера_KICS for Networks> -p 10050 -k "kics.status[kics4net-webserver]"

Ожидаемый результат: (если сервис запущен): 1

3.                  Настройка мониторинга в веб-интерфейсе Zabbix

3.1               Импорт шаблона Astra Linux (опционально)

Войти в веб-интерфейс Zabbix (Admin / zabbix)

Перейти: Data collection (или Configuration)  Templates

Нажать Import

Выбрать файл: /usr/share/zabbix/conf/zabbix_astra_template.xml

Нажать Import два раза

3.2             Создание узла сети (Host)

Перейти: Data collection (или Configuration)  Hosts

Нажать Create host

Заполнить форму:

Host name

kics4networks (строго совпадает с Hostname в конфиге агента)

Groups

Linux servers

Interfaces

Agent

Agent interface

IP-адрес сервера KICS for Networks, порт 10050

Нажать Add

Спустя примерно 1 минуту в графе Availability на строке kics4networks значок ZBX должен окраситься в зелёный цвет.

3.3             Создание элемента данных (Item) для мониторинга сервиса kics4net-webserver

Перейти: Data collection (или Configuration)  Hosts

На строке узла kics4networks нажать на Items

Нажать Create item

Заполнить форму:

Name

KICS: kics4net-webserver service status

Type

Zabbix agent

Key

kics.status[kics4net-webserver]

Type of information

Numeric (unsigned)

Update interval

30s

History storage period

90d

Нажать Add

Аналогично можно добавить Item для мониторинга других сервисов KICS for Networks, заменив в параметре “Key” значение kics4net-webserver на следующие

3.4             Создание триггера для оповещения

На вкладке Items найти созданный элемент

Перейти на вкладку Triggers  Create trigger

Заполнить форму:

Name

KICS: kics4net-webserver is not running

Severity

High

Expression

last(/kics4networks/kics.status[kics4net-webserver])=0

Нажать Add

3.5             Создание агрегирующего триггера для оповещения об остановке хотя бы одной из служб KICS for Networks

3.5.1       Добавить UserParameter для обнаружения сервисов

Создать файл:

sudo nano /etc/zabbix/zabbix_agentd.conf.d/kics_discovery.conf

Содержимое:

 UserParameter=kics.discovery,echo '{"data":[{"{#SERVICE}":"kics4net"},{"{#SERVICE}":"kics4net-apm"},{"{#SERVICE}":"kics4net-asset-config-repo"},{"{#SERVICE}":"kics4net-asset-inventory"},{"{#SERVICE}":"kics4net-blob-storage"},{"{#SERVICE}":"kics4net-config-control-orchestrator"},{"{#SERVICE}":"kics4net-connectors-launcher"},{"{#SERVICE}":"kics4net-email-gateway"},{"{#SERVICE}":"kics4net-epp-proxy"},{"{#SERVICE}":"kics4net-fts"},{"{#SERVICE}":"kics4net-nats-server"},{"{#SERVICE}":"kics4net-oval-facade"},{"{#SERVICE}":"kics4net-postgresql"},{"{#SERVICE}":"kics4net-report-builder"},{"{#SERVICE}":"kics4net-report-data-source"},{"{#SERVICE}":"kics4net-report-renderer"},{"{#SERVICE}":"kics4net-report-templates-catalog"},{"{#SERVICE}":"kics4net-report-templates-catalog-view"},{"{#SERVICE}":"kics4net-responses-manager"},{"{#SERVICE}":"kics4net-risk-oval-detector"},{"{#SERVICE}":"kics4net-scan-oval-manager"},{"{#SERVICE}":"kics4net-scap-manager"},{"{#SERVICE}":"kics4net-scap-manager-view"},{"{#SERVICE}":"kics4net-scheduler"},{"{#SERVICE}":"kics4net-secrets"},{"{#SERVICE}":"kics4net-task-manager"},{"{#SERVICE}":"kics4net-task-manager-view"},{"{#SERVICE}":"kics4net-vault"},{"{#SERVICE}":"kics4net-webserver"}]}'

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

sudo systemctl restart zabbix-agent

Проверить UserParameter для обнаружения сервисов:

sudo zabbix_agentd -t kics.discovery

Должен вернуться JSON.

 3.5.2      Создать Discovery Rule

На сервере Zabbix перейти на вкладки:

Configuration

Hosts KICS for Networks Discovery Create discovery rule

Указать параметры для правила обнаружения:

3.5.3      Создать Item Prototype

Внутри Discovery Rule:

Item prototypes Create item prototype

Указать параметры:

3.5.4      Создать Trigger Prototype

Внутри того же Discovery Rule открыть:

Trigger prototypes Create trigger prototype

Указать параметры:

После выполнения Discovery Zabbix автоматически создаст:

1)                   Элементы данных:

2)                 Триггеры:

 Если остановить один из сервисов KICS for Networks:

sudo systemctl stop kics4net-webserver

то в Problems появится новое сообщение: Service kics4net-webserver is stopped


Revision #3
Created 26 June 2026 12:18:09 by Boris Doroshenko
Updated 26 June 2026 14:03:29 by Boris Doroshenko