Данная статья применима к:
- 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)
- 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
Введение
Для решения задач централизованного протоколирования и анализа журналов аудита, а также для организации распределенного мониторинга сети, жизнеспособности и целостности серверов в Astra Linux используется программное решение Zabbix, реализованное на web-сервере Apache, СУБД (MySQL, Oracle, PostgreSQL, SQLite) и языке сценариев PHP.
Zabbix предоставляет гибкий механизм сбора данных. Все отчеты и статистика Zabbix, а также параметры настройки компонентов Zabbix доступны через web-интерфейс. В web-интерфейсе реализован следующий функционал:
- Вывод отчетности и визуализация собранных данных;
- Создание правил и шаблонов мониторинга состояния сети и узлов;
- Определение допустимых границ значений заданных параметров;
- Настройка оповещений;
- Настройка автоматического реагирования на события безопасности.
Архитектура
Zabbix состоит из следующих основных программных компонентов:
- Сервер --- является основным компонентом, который выполняет мониторинг, взаимодействует с прокси и агентами, вычисляет триггеры, отправляет оповещения. Является главным хранилищем данных конфигурации, статистики, а также оперативных данных;
- Агенты --- разворачиваются на наблюдаемых системах для активного мониторинга за локальными ресурсами и приложениями и для отправки собранных данных серверу или прокси;
- Прокси --- может собирать данные о производительности и доступности от имени сервера. Прокси является опциональной частью Zabbix и может использоваться для снижения нагрузки на сервер;
- База данных --- вся информация о конфигурации, а также собранные Zabbix данные, хранятся в базе данных;
- Web-интерфейс --- используется для доступа к Zabbix из любого места и с любой платформы.
Zabbix может использоваться с СУБД PostgreSQL или с СУБД MySQL. Выбор СУБД осуществляется при установке пакета
Установку пакета Zabbix можно осуществить с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки.
Установка пакета
Установка сервера Zabbix с СУБД PostgreSQL выполняется командой:
Создание базы данных
Для создания базы данных сервера используются сценарии по созданию базы данных для PostgreSQL, например:
create database zabbix;
cd database/postgresql
psql -U <username> zabbix < schema.sql
psql -U <username> zabbix < images.sql
psql -U <username> zabbix < data.sql
Далее необходимо импортировать исходную схему и данные сервера на PostgreSQL:
Для настройки базы данных сервера откорректировать конфигурационный файл zabbix_server.conf:
DBName=zabbix
DBUser=zabbix
DBPassword=<пароль>
При этом в параметре DBPassword указывается пароль пользователя PostgreSQL.
Основные параметры конфигурационного файла сервера приведены в таблице:
Параметр | Описание |
---|---|
AllowRoot | Разрешение серверу запускаться от имени пользователя root. |
CacheSize | Размер кэша конфигурации в байтах для хранения данных узлов сети, элементов данных и триггеров. Возможные значения от 128КБ до 8ГБ, значение по умолчанию - 8МБ. |
CacheUpdateFrequency | Частота выполнения процедуры обновления кэша конфигурации, в секундах. Возможные значения от 1 до 3600 сек, значение по умолчанию --- 60 сек. |
DBHost | Имя хоста базы данных. В случае пустой строки PostgreSQL будет использовать сокет. Значение по умолчанию --- localhost. |
DBName | Обязательный параметр. Имя базы данных. |
DBPassword | Пароль к базе данных. |
DBPort | Порт базы данных, когда не используется localhost. Значение по умолчанию --- 3306. |
DBSchema | Имя схемы. |
DBUser | Пользователь базы данных. |
HousekeepingFrequency | Частота выполнения автоматической процедуры очистки базы данных от устаревшей информации, в часах. Возможные значения от 0 до 24 ч., значение по умолчанию --- 1 ч. |
Запуск сервера и управление сервером
Сервер работает как демон. Для запуска сервера выполнить команду:
sudo systemctl restart zabbix-server
systemctl status zabbix-server
Для нормальной работы сервера необходимо использовать региональные настройки с кодировкой UTF-8т (см. Добавление дополнительной региональной настройки и раскладки клавиатуры), иначе некоторые текстовые элементы данных могут интерпретироваться некорректно.
В следующей таблице приведены основные параметры, используемые при управлении сервером.
Параметр | Описание |
---|---|
-c --config <файл> | Путь к файлу конфигурации. |
-R --runtime-control <опция> | Выполнение административных функций |
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется, если кэш загружается в данный момент. Пример: zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload |
housekeeper_execute | Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент. |
log_level_increase[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. В качестве цели может быть указан идентификатор процесса, тип процесса или тип и номер процесса, например: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234 zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2 |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. В качестве цели может быть указан идентификатор процесса, тип процесса или тип и номер процесса, например: zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller" |
Агенты
Агенты устанавливаются на контролируемые компьютеры и могут выполнять пассивные и активные проверки:
- При пассивной проверке агент отвечает на запрос от сервера или прокси;
- При активной проверке агент получает от сервера перечень данных для мониторинга, затем осуществляет периодический сбор и отправку данных серверу согласно полученному перечню.
Выбор между пассивной и активной проверкой осуществляется выбором соответствующего типа элемента данных. Агент обрабатывает элементы данных типов <<Zabbix агент>> и <<Zabbix агент (активный)>>.
Установка и настройка агента в UNIX
Для установки агента в UNIX-системах выполнить команду:
Агент UNIX работает как демон, для запуска выполнить команду:
sudo systemctl restart zabbix-agent
systemctl status zabbix-agent
Установка и настройка агента в Windows
В среде Windows агент работает как служба Windows. Агент Windows распространяется в виде zip-архива.
Файл агента bin\win64\zabbix_agentd.exe и файл конфигурации conf\zabbix_agentd.win.conf из zip-архива необходимо скопировать в один каталог, например, в C:\zabbix.
При необходимости - откорректировать конфигурационный файл c:\zabbix\zabbix_agentd.win.conf.
Для установки агента Windows как службы используется следующая команда:
Основные параметры конфигурационного файла агента.
Основные параметры конфигурационного файла агента приведены в таблице:
Параметр | Описание |
---|---|
AllowRoot | Параметр используется только для агентов UNIX. Разрешение агенту запускаться от имени пользователя root. Если запускаться от имени root не разрешено (значение "0") , а агент запускается от имени root, то он попробует переключиться на пользователя zabbix. Если агент запускается от имени обычного пользователя, то параметр игнорируется. Значение по умолчанию --- 0. |
EnableRemoteCommands | Указывает, разрешены ли удаленные команды с сервера:
|
Hostname | Уникальное регистрозависимое имя машины. Требуется для активных проверок и должно совпадать с именем машины, указанным на сервере. |
ListenIP | Список IP-адресов, разделенных запятой, которые агент должен слушать. |
ListenPort | Порт, который необходимо слушать для подключений с сервера. |
LogFile | Имя файла журнала. Обязательный параметр, если тип журнала указан как file (см. параметр LogType). |
LogType | Тип вывода журнала:
|
Server | Список IP-адресов или имен серверов, разделенных запятой. |
TLSAccept | Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае --- нет. Указывает, какие входящие подключения принимаются. Используется пассивными проверками. Можно указывать несколько значений, разделенных запятой:
|
TLSConnect | Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае --- нет.
|
User | Использование привилегий указанного (существующего) пользователя системы. Значение по умолчанию --- zabbix. Используется только если запускается от имени пользователя root, когда такой запуск запрещен параметром AllowRoot не разрешен |
Управление агентом
Основные параметры, используемые при управлении агентом, приведены в таблице:
Параметр | Описание |
---|---|
Агенты Unix и Windows | |
-c --config <файл_конфигурации>| | Путь к файлу конфигурации, размещенному в каталоге, отличном от заданного по умолчанию. В UNIX путь по умолчанию /usr/local/etc/zabbix_agentd.conf. В Windows --- c:\zabbix_agentd.conf. |
-p --print | Вывод известных данных и выход |
-t --test <ключ_элемента_данных> | Тестирование указанного элемента данных и выход. |
Агент UNIX | |
-R --runtime-control <опция> | Выполнение административных функций для изменения уровня журналирования у процессов агента. |
log_level_increase[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. |
Агент Windows | |
-m --multiple-agents | Использование нескольких экземпляров агента (с -i,-d,-s,-x функциями). Для отделения имени экземпляров служб каждое имя службы будет в значении Hostvalue из указанного файла конфигурации |
-i --install | Установка агента как службы |
-d --uninstall | Удаление службы агента |
-s --start | Запуск службы агента |
-x --stop | Остановка службы агента |
Прокси
Для прокси требуется отдельная база данных. Для установки прокси с PostgreSQL выполнить команду:
Для создания базы данных прокси используются сценарии по созданию базы данных для PostgreSQL, например:
create database zabbix;
\q
cd database/postgresql
psql -U <username> zabbix < schema.sql
Далее необходимо импортировать исходную схему и данные прокси на PostgreSQL:
Для настройки базы данных прокси изменить конфигурационный файл zabbix_proxy.conf.
DBName=zabbix
DBUser=zabbix
DBPassword=<пароль>
В параметре DBPassword указать пароль пользователя PosgreSQL.
Основные параметры конфигурационного файла прокси приведены в таблице:
Параметр | Описание |
---|---|
AllowRoot | Разрешение прокси запускаться от имени пользователя root. |
CacheSize | Размер кэша конфигурации в байтах для хранения данных узлов сети, элементов данных и триггеров. Возможные значения от 128КБ до 8ГБ, значение по умолчанию --- 8МБ. |
ConfigFrequency | Частота получения данных конфигурации от сервера, в секундах. |
DBHost | Имя хоста базы данных. В случае пустой строки PostgreSQL будет использовать сокет. Значение по умолчанию --- localhost. |
DBName | Обязательный параметр. Имя базы данных. Должна отличаться от базы данных сервера. |
DBPassword | Пароль к базе данных. |
DBPort | Порт базы данных, когда не используется localhost. Значение по умолчанию --- 3306. |
DBSchema | Имя схемы базы данных. |
DBUser | Имя пользователя базы данных. |
DataSenderFrequency | Частота отправки собранных значений серверу, в секундах. |
Hostname | Уникальное регистрозависимое имя прокси. |
HousekeepingFrequency | Частота выполнения автоматической процедуры очистки базы данных от устаревшей информации, в часах. Возможные значения от 0 до 24 ч., значение по умолчанию --- 1 ч. |
ProxyMode | Режим работы прокси:
|
Server | IP-адрес или имя сервера для доступа к данным конфигурации с сервера. |
TLSAccept | Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае --- нет. Указывает, какие входящие подключения принимаются от сервера. Используется пассивным прокси, игнорируется активным прокси.
|
TLSConnect | Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае --- нет. Как прокси должен соединяться с сервером. Используется активным прокси, игнорируется пассивным прокси.
|
Прокси работает как демон. Для запуска прокси выполнить команду:
Соответственно для остановки, перезапуска и просмотра состояния прокси используются следующие команды:
sudo systemctl restart zabbix-proxy
systemctl status zabbix-proxy
В таблице приведены основные параметры командной строки zabbix-proxy:
Параметр | Описание |
---|---|
-c --config <файл> | Путь к файлу конфигурации. Значение по умолчанию /etc/zabbix/zabbix_proxy.conf. |
-R --runtime-control <опция> | Выполнение административных функций |
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется, если кэш загружается в данный момент. Активный прокси подключится к серверу и запросит данные конфигурации: zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R config_cache_reload |
housekeeper_execute | Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент: zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R housekeeper_execute |
log_level_increase[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. В качестве цели может быть указан идентификатор процесса, тип процесса или тип и номера процесса, например: zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=1234 zabbix_proxy -c /usr/local/etc/zabbix_proxy.conf -R log_level_increase=poller,2 |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. |
Web-интерфейс
Настройка и управление работой Zabbix осуществляется посредством web-интерфейса. Установка web-интерфейса производится путем копирования php-файлов в папку HTML web-сервера:
- Ввести URL Zabbix http://<ip_или_имя_сервера>/zabbix (или http://localhost/zabbix) в адресной строке web-браузерf, после чего откроется первая страница помощника установки web-интерфейса;
- Указать данные для подключения к базе данных. База данных предварительно должна быть создана;
- Указать данные сервера;
- Подтвердить данные для настройки;
- Скачать конфигурационный файл zabbix.conf.php и поместить его в каталог /etc/zabbix. Если web-сервер имеет право на запись в каталог/etc/zabbix, файл будет сохранен автоматически);
- Завершить установку.
Для входа по умолчанию используется имя пользователя Admin и пароль zabbix.