- Введение
- Архитектура
- Установка пакета
- Создание базы данных
- Запуск сервера и управление сервером
- Агенты
- Установка и настройка агента в UNIX
- Установка и настройка агента в Windows
- Основные параметры конфигурационного файла агента.
- Управление агентом
- Zabbix
- Установка Zabbix-Server
- Установка Zabbix-Agent
- Настройка Zabbix-Agent
- Настройка Astra
- Настройка Zabbix
Введение
Для решения задач централизованного протоколирования и анализа журналов аудита, а также для организации распределенного мониторинга сети, жизнеспособности и целостности серверов в 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, например:
Далее необходимо импортировать исходную схему и данные сервера на PostgreSQL:
Для настройки базы данных сервера откорректировать конфигурационный файл zabbix_server.conf:
При этом в параметре DBPassword указывается пароль пользователя PostgreSQL.
Основные параметры конфигурационного файла сервера приведены в таблице:
Разрешение серверу запускаться от имени пользователя root.
Если запуск от имени root не разрешен (значение «0»), а сервер запускается от имени root, то сервер попробует переключиться на пользователя zabbix.
Если сервер запускается от имени обычного пользователя, то параметр игнорируется. Значение по умолчанию — 0.
Запуск сервера и управление сервером
Сервер работает как демон. Для запуска сервера выполнить команду:
Для нормальной работы сервера необходимо использовать региональные настройки с кодировкой UTF-8т (см. Добавление дополнительной региональной настройки и раскладки клавиатуры), иначе некоторые текстовые элементы данных могут интерпретироваться некорректно.
В следующей таблице приведены основные параметры, используемые при управлении сервером.
Путь к файлу конфигурации.
Значение по умолчанию /usr/local/etc/zabbix_server.conf.
Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент.
Пример:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute
Агенты
Агенты устанавливаются на контролируемые компьютеры и могут выполнять пассивные и активные проверки:
- При пассивной проверке агент отвечает на запрос от сервера или прокси;
- При активной проверке агент получает от сервера перечень данных для мониторинга, затем осуществляет периодический сбор и отправку данных серверу согласно полученному перечню.
Выбор между пассивной и активной проверкой осуществляется выбором соответствующего типа элемента данных. Агент обрабатывает элементы данных типов > и >.
Установка и настройка агента в UNIX
Для установки агента в UNIX-системах выполнить команду:
Агент UNIX работает как демон, для запуска выполнить команду:
Для остановки, перезапуска и просмотра состояния агента UNIX используются стандартные команды systemct:
Установка и настройка агента в 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 |
Указывает, разрешены ли удаленные команды с сервера:
- 0 — Не разрешены;
- 1 — Разрешены.
- file — запись журнала в файл, указанный в параметре LogFile;
- system— запись журнала в syslog (для агентов UNIX) или в журнал событий Windows (для агентов Windows);
- console — вывод журнала в стандартный вывод
Список IP-адресов или имен серверов, разделенных запятой.
Входящие соединения будут приниматься только с адресов, указанных в этом параметре.
- unencrypted — принимать подключения без защитного преобразования данных (по умолчанию);
- psk — принимать подключения с TLS и pre-shared ключом (PSK);
- cert — принимать подключения с TLS и сертификатом
Обязательный параметр если заданы TLS-сертификат или параметры PSK, в противном случае — нет.
Как агент должен соединяться с сервером или прокси.
Используется активными проверками. Можно указать только одно из значений:
- unencrypted — подключаться без использования защитного преобразования данных (по умолчанию);
- psk — подключаться, используя TLS и pre-shared ключом (PSK);
- cert — подключаться, используя TLS и сертификат
Управление агентом
Основные параметры, используемые при управлении агентом, приведены в таблице:
Zabbix
Zabbix — это решение для мониторинга с открытым исходным кодом корпоративного класса для мониторинга сети и приложений.
Установка Zabbix-Server
Zabbix-server может быть установлен на любом сервере. Выделенный сервер или сервер с Astra
- Перейдите на сайт Zabbix: https://www.zabbix.com/download
- Выберите Zabbix v.5.4
- Выберите Вашу платформу
- Выполните команды по установке из инструкции на сайте
Более подробную информацию можно найти на официальном сайте: https://www.zabbix.com/manuals
Установка Zabbix-Agent
Zabbix-agent должен быть установлен на том же сервере, где установлена Astra. Если zabbix-server на одном сервере с Astra, пропустите этот шаг.
- Перейдите на сайт Zabbix: https://www.zabbix.com/download_agents
- Выберите Вашу платформу
- Выполните команды по установке из инструкции на сайте
Настройка Zabbix-Agent
- Отредактируйте файл конфигурации Агента: sudo nano /etc/zabbix/zabbix_agentd.conf
- Найдите опцию Server= и в ней укажите IP или DNS-имя сервера, где установлен Zabbix
- Добавьте параметр: UnsafeUserParameters=1
- Сохраните файл нажав Crtl+O и выйдите из редактора нажав: Ctrl+X
- Загрузите скрипты для zabbix-agent: curl -L https://cesbo.com/download/astra/zabbix/agent.tar.gz | tar -zxC /opt
- Скрипты будут сохранены в каталог /opt/zabbix_agent
- Установите права: chmod +x /opt/zabbix_agent/*
- Загрузите конфигурационный файл: curl -Lo /etc/zabbix/zabbix_agentd.d/astra.conf https://cesbo.com/download/astra/zabbix/astra.conf
- Установите зависимости:
- для RedHat-подобных систем: yum install python3 python3-requests
- для Debian-подобных систем: apt-get install python3 python3-requests
- Перезапустите zabbix-agent: service zabbix-agent restart
Настройка Astra
- Откройте веб-интерфейс Astra
- Перейдите в Settings -> Users
- Создайте пользователя с типом Administrator для доступа zabbix-agent к Astra API
Настройка Zabbix
- Загрузите на рабочий компьютер шаблон Zabbix: https://cesbo.com/download/astra/zabbix/zbx_astra.xml
- Откройте интерфейс Zabbix: http://zabbix-server
- По умолчанию, логин и пароль: Admin
- Установите новый парольт
- Откройте Configuration -> Templates
- В правом верхнем углу нажмите кнопку Import
- Нажмите Browse и выберите загруженный шаблон: zbx_astra.xml
- Нажмите Import . После успешного импорта вы увидите зелённое сообщение Imported successfully
- Снова перейдите в Configuration -> Templates и выберите Astra API monitoring
- Откройте вкладку Macros и заполните столбик Value :
- Первая строка, установите пароль для zabbix в Astra (пароль пользователя созданного на предыдущем шаге)
- Вторая строка, установите имя пользователя для zabbix в Astra (также, имя пользователя созданного на предыдущем шаге)
- Последняя строка, порт веб-интерфейса Astra. Если у вас несколько процессов, укажите все порты разделённые запятыми. Например: 8000,8001,8002
- После заполнения всех опций нажмите Update
- Откройте Configuration — > Hosts и нажмите Create host в правом верхнем углу
- Заполните следующие поля:
- Hostname — любое имя сервера где установленна Astra, например: Astra
- Groups — выберете Cesbo_templates или создайте новую группу
- Interfaces — нажмите add , выберите Agent , укажите IP или DNS имя сервера с установленным zabbix-agent
- Откройте вкладку Templates :
- В поле Link new templates добавьте Astra API monitoring , и если вы хотите контроллировать общее состояние системы, добавьте также Linux by Zabbix agent
- Сохраните изменения. Примерно через 10 минут, вы увидите графики и триггеры о состоянии каналов и адаптеров