- Zabbix и ПК СВ «Брест»
- Предварительные действия
- Настройка Zabbix
- Integration Astra with Zabbix
- Install Zabbix Template for Astra
- Configure Template
- Connect Zabbix to Astra
- Шаблоны Zabbix для Astra Linux Special Edition (очередное обновление 1.6)
- Настройка сервера
- Настройка агента
- Настройка запуска сценария по триггеру
- На сервере
- Настройка сервера
- Настройка агента
- Настройка триггеров
Zabbix и ПК СВ «Брест»
ПК СВ «Брест» поддерживает интеграцию с системой мониторинга Zabbix для получения информации о функционировании облака, наряду с общесистемными метриками производительности узлов кластера.
Развертывание системы мониторинга Zabbix описано в статье Установка системы мониторинга Zabbix на Astra Linux SE
К данной статье приложены шаблон для Zabbix, а также необходимые конфигурационные файлы (ссылка для скачивания: opennebula_zabbix.zip).
Далее приводится инструкция по интеграции системы мониторинга с ПК СВ «Брест».
Предварительные действия
На фронтальной машине ПК СВ «Брест»:
- Установить необходимые пакеты:
sudo cp -R opennebula_zabbix/one.sh\ opennebula_zabbix.conf/usr /
sudo cp -R opennebula_zabbix/one.sh\ opennebula_zabbix.conf/etc /
sudo chmod +x /usr/libexec/zabbix-extensions/scripts/one.sh
sudo chmod 755 /usr/libexec/zabbix-extensions/scripts/one.sh
sudo chmod 755 /usr/libexec/zabbix-extensions/scripts/
sudo chmod 755 /usr/libexec/zabbix-extensions/
sudo chmod 755 /usr/libexec/
sudo mkdir -p /var/lib/zabbix/.one/
sudo cp /var/lib/one/.one/one_auth /var/lib/zabbix/.one/one_auth
sudo chown -R zabbix:zabbix /var/lib/zabbix
Настройка Zabbix
Перейти в веб-интерфейс системы мониторинга Zabbix и импортировать один из шаблонов (файл с расширением .xml), пройдя по пути «Настройка» — «Шаблоны» — «Импорт» — «Обзор»
Присоединить шаблон к узлу, настроенному на прием данных мониторинга с фронтальной машины. Перейти по пути «Настройка» — «Узлы сети» —
В настройке узла перейти в «Шаблоны», найти шаблон OpenNebula и нажать «Добавить», далее «Обновить»
После этого у узла появятся новые элементы данных, начнется сбор данных мониторинга с фронтальной машины:
Integration Astra with Zabbix
Zabbix is an open-source platform for monitoring network services, servers, and applications. It can be integrated with Astra to monitor Streams and DVB Adapters.
Available for Astra versions released after 2021-05-11
Zabbix Server installation
Zabbix can be installed both on a dedicated server and on an Astra server
- Go to https://zabbix.com
- Select Zabbix version
- Select your OS
- Follow the installation instructions
You can find detailed information on Zabbix Manuals
Zabbix Agent installation
Install Zabbix Agent on the server with Astra.
You can find detailed information on Zabbix Agent Manuals
Zabbix Agent configuration
First of all Zabbix Agent should be configured to allow incoming connections from the Zabbix Server. Open the Agent configuration file located in /etc/zabbix/zabbix_agentd.conf with your favorite editor. Find the Server= option and set the IP address or hostname of the server with Zabbix Server. Save file.
Zabbix Agent receives all information from Astra with scripts writed on Python. Make sure that on your server installed Python3 with the Requests library:
- for DEB-based systems: apt install python3 python3-requests
- for RPM-based systems: yum install python3 python3-requests
Download scripts for Zabbix Agent:
curl https://cdn.cesbo.com/astra/zabbix/agent.tar.gz | tar -zxC /opt
Scripts will be saved to the /opt/zabbix_agent directory. Download service configuration file for Zabbix Agent:
curl -o /etc/zabbix/zabbix_agentd.d/astra.conf https://cdn.cesbo.com/astra/zabbix/astra.conf
And finally restart Zabbix Agent:
systemctl restart zabbix-agent
Zabbix configuration
Install Zabbix Template for Astra
Download the Template to your computer and import this file to Zabbix:
In Zabbix Web Interface open Configuration -> Templates, then click the Import button in the upper right corner. Click Browse and select the downloaded template file, then click Import button. After successful import, you will see a green message Imported successfully
Configure Template
In Zabbix Web Interface open Configuration -> Templates, then select Astra API monitoring and open the Macros tab. Fill next values:
- First line, set administrator password to Astra Web Interface
- Second line, set administrator username to Astra Web Interface
- The last line, the port of the Astra web interface. If you have multiple processes, specify all ports separated by commas. For example: 8000,8001,8002
Click Update button to apply changes
Connect Zabbix to Astra
In Zabbix Web Interface open Configuration -> Hosts, then click Create host in the top right corner. Fill following fields:
- Hostname — any name of the server where Astra is installed, for example: Astra
- Groups — select Cesbo_templates or create a new group
- Interfaces — click add, select Agent and specify the IP address or hostname of the server with Zabbix Agent
Open the Templates tab and in the field Link new templates append Astra API monitoring . Also if you want to control the general state of the system, append also Linux by Zabbix agent .
Save changes. After about 10 minutes, you will see graphs and triggers about the status of channels and adapters
Шаблоны Zabbix для Astra Linux Special Edition (очередное обновление 1.6)
Для успешной работы системы протоколирования для событий аудита необходимо провести дополнительную настройку сервера и агента.
Настройка сервера
Для настройки севера нужно импортировать шаблон Astra, для чего:
- Перейти в Настройки — Шаблоны и нажать кнопку «Импорт»:
Перейти в «Настройки» — «Узлы сети», выбрать нужный узел и перейти в закладку «Шаблоны»:
Выбрать шаблон «Template Astra Linux», нажав «Выбрать», указав группу «Astra clients», и добавить его к узлу, нажав «Добавить»:
Настройка агента
- В конфигурационном файле агента /etc/zabbix/zabbix_agentd.conf:
- В строке Server и ServerActive указать адрес сервера;
- в строке Hostname указать имя агента (должно совпадать с указанным на сервере агентом):
### 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=10.0.0.23 ### Option: ServerActive # List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks. # If port is not specified, default port is used. # IPv6 addresses must be enclosed in square brackets if port for that host is specified. # If port is not specified, square brackets for IPv6 addresses are optional. # If this parameter is not specified, active checks are disabled. # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051. 1,[12fc::1] # # Mandatory: no # Default: # ServerActive= ServerActive=10.0.0.23 ### Option: Hostname # Unique, case sensitive hostname. # Required for active checks and must match hostname as configured on the server. # Value is acquired from HostnameItem if undefined. # # Mandatory: no # Default: # Hostname= Hostname=sudcm
После выполнения указанных действий события аудита будут отображаться в окне мониторинга на сервере zabbix.
Настройка запуска сценария по триггеру
Далее приводится пример сценария, выполняющего мониторинг свободного места на клиенте и, при остатке менее 10%, запускающего службу logrotate. Сценарий настраивается для работы на узле sudcm.
На сервере
- Перейдя в «Настройка» — «Узлы сети» — «sudcm» — «Элементы данных» создать элемент данных нажав кнопку «Создать элемент данных»:
Имя: Free space in % Тип: Zabbix агент (активный) Ключ: vfs.fs.size[/,pfree] Тип информации: Числовой (с плавающей точкой) Интервал обновления: 10s
- Создать триггер для этого элемента, для чего:
- Перейти в «Настройка» — «Узлы сети» — «sudcm» — «Триггеры»;
- Нажать кнопку «Создать триггер».
Триггер сработает при остатке свободного места меньше 10%:
Имя: free_space Важность: Предупреждение Выражение:
Добавить триггер, нажав кнопку "Добавить" внизу формы:
Создать действие, перейдя в Настройка - Действия и нажав кнопку "Создать действие":
Имя: my_script Условия: Триггер = sudcm:free_space Операции: Детали: Шаги 1 - 1 Длительность шага: 0 Тип операции: Удаленная команда Список целей: Узел сети: sudcm Тип: Пользовательский скрипт Команды: /usr/sbin/logrotate -f /etc/logrotate.d/
Настройка сервера
Для настройки севера нужно импортировать шаблоны для Astra Linux, для чего:
- Открыть в браузере WEB-интерфейс Zabbix;
Перейти в Настройки - Шаблоны и нажать кнопку Импорт:
- Нажать кнопку Обзор;
- Выбрать шаблон в файле /usr/share/zabbix/conf/zabbix_astra_template.xml;
- После загрузки шаблонов добавить их к узлу сети, для чего;
- Перейти в Настройки - Узлы сети ;
- Выбрать нужный узел;
- Перейти в закладку "Шаблоны":
- Нажав Выбрать в группе узлов сети Astra clients выбрать шаблоны Template Astra Linux и Template Astra Linux Parsec для Astra Linux Special Edition в режиме МКЦ и МРД и добавить их к узлу, нажав "Выбрать":
- Обновить конфигурацию узла с помощью кнопки Обновить:
Настройка агента
- В конфигурационном файле агента /etc/zabbix/zabbix_agentd.conf:
- В строках Server и ServerActive указать IP-адрес (при настроенном DNS - имя) сервера;
- В строке Hostname указать имя агента. Имя агента должно совпадать с указанным на сервере именем агента и может содержать буквенно-цифровые символы, пробелы, точки, тире и подчеркивания:
### 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.27.110 ### Option: ServerActive # List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks. # If port is not specified, default port is used. # IPv6 addresses must be enclosed in square brackets if port for that host is specified. # If port is not specified, square brackets for IPv6 addresses are optional. # If this parameter is not specified, active checks are disabled. # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051. 1,[12fc::1] # # Mandatory: no # Default: # ServerActive= ServerActive=192.168.27.110 ### Option: Hostname # Unique, case sensitive hostname. # Required for active checks and must match hostname as configured on the server. # Value is acquired from HostnameItem if undefined. # # Mandatory: no # Default: # Hostname= Hostname=astraclient
После выполнения указанных выше действий отдельные события аудита будут отображаться в WEB-интерфейсе zabbix-сервера в разделе Мониторинг:
Для определения дополнительных событий аудита, подлежащих регистрации, необходимо в разделе Аудит приложения - Управление политикой безопасности ( fly-admin-smc ) установить переключатели Успех и Отказ напротив регистрируемых событий аудита. Для применения изменений необходимо перезагрузить сессию пользователя или перезагрузить компьютер:
Настройка триггеров
Триггеры - это логические выражения, которые "оценивают" получаемые данные и отражают текущее состояние системы. Ш аблоны Zabbix для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) содержат общие настройки, использующихся для сбора системных данных Astra Linux, и крайне непрактично наблюдать за этими данными всё время в ожидании выполнения условия, приводящего к оповещению или которое заслуживающего внимания. Работа по "оценке" данных может выполняться автоматически с использованием триггеров в соответствии с установленной в сети политикой безопасности.
- В WEB-интрефейе сервера перейти в Настройка ->Шаблоны ->Триггеры;
- Нажать кнопку Создать триггер:
- В появившемся окне:
- Задать имя триггера;
- Установить важность триггера;
- Нажать кнопку Добавить для задания выражения триггера:
- Заполнить открывшуюся форму Условие (пример показан на рисунке):
- Нажать кнопку Вставить;
- Нажать кнопку Добавить после чего в открывшемся окне отобразится строка с добавленным триггером:
Для проверки срабатывания триггера на компьютере с установленным zabbix-агентом выполнить произвольную команду с использованием sudo, например:
В случае успеха примерно через 1-2 минуты на сервере в разделе Мониторинг -> Проблемы отобразится факт срабатывание триггера: