Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Настройка сервера
Для настройки севера нужно импортировать шаблон Astra, для чего:
- Перейти в Настройки - Шаблоны и нажать кнопку "Импорт":
- Загрузить файл, нажав на кнопку "Обзор" и выбрав нужный шаблон по пути /usr/share/zabbix/conf/zabbix_astra_template.xml. После этого добавить новый шаблон к узлу сети;
- Перейти в "Настройки" - "Узлы сети", выбрать нужный узел и перейти в закладку "Шаблоны":
- Выбрать шаблон "Template Astra Linux", нажав "Выбрать", указав группу "Astra clients", и добавить его к узлу, нажав "Добавить":
- Обновить конфигурацию с помощью кнопки "Обновить":
Настройка агента
- В конфигурационном файле агента /etc/zabbix/zabbix_agentd.conf:
- В строке Server и ServerActive указать адрес сервера;
в строке Hostname указать имя агента (должно совпадать с указанным на сервере агентом):
/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=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
Запустить юнит plog и добавить его в автозагрузку:
systemctl enable plog
systemctl start plog
После выполнения указанных действий события аудита будут отображаться в окне мониторинга на сервере zabbix.
Настройка запуска сценария по триггеру
Далее приводится пример сценария, выполняющего мониторинг свободного места на клиенте и, при остатке менее 10%, запускающего службу logrotate.
На сервере
С
Коздать элемент данных, перейдя в Настройка - Узлы сети - sudcm - Элементы данных и нажав кнопку "Создать элемент данных":Содержание элементаИмя: Free space in % Тип: Zabbix агент (активный) Ключ: vfs.fs.size[/,pfree] Тип информации: Числовой (с плавающей точкой) Интервал обновления: 10s
Создать триггер для этого элемента, для чего:
Перейти в "Настройка" - "Узлы сети" - "sudcm" - "Триггеры";
Нажать кнопку "Создать триггер".
Триггер сработает при остатке свободного места меньше 10%:Содержание триггераИмя: free_space Важность: Предупреждение Выражение: {sudcm:vfs.fs.size[/,pfree].last(,10)}<10
Добавить триггер, нажав кнопку "Добавить" внизу формы:
Создать действие, перейдя в Настройка - Действия и нажав кнопку "Создать действие":
Содержание действияИмя: my_script Условия: Триггер = sudcm:free_space Операции: Детали: Шаги 1 - 1 Длительность шага: 0 Тип операции: Удаленная команда Список целей: Узел сети: sudcm Тип: Пользовательский скрипт Команды: /usr/sbin/logrotate -f /etc/logrotate.d/
На агенте
Важно, что бы на агенте в конфигурационном файле был задан параметр EnableRemoteCommands=1:
/etc/zabbix/zabbix_agentd.conf### Option: EnableRemoteCommands # Whether remote commands from Zabbix server are allowed. # 0 - not allowed # 1 - allowed # # Mandatory: no # Default: EnableRemoteCommands=1
Для записи исполнения удаленных команд в журнал выставить там же параметр LogRemoteCommands=1:
/etc/zabbix/zabbix_agentd.conf### Option: LogRemoteCommands # Enable logging of executed shell commands as warnings. # 0 - disabled # 1 - enabled # # Mandatory: no # Default: LogRemoteCommands=1
Внести пользователя zabbix в список пользователей, которым празрешено использовать sudo для повышения привилегий, для чего с помощью команды
sudo visudoотредактировать файл /etc/sudoers добавив туда строку:/etc/sudoerszabbix ALL=NOPASSWD: /usr/sbin/logrotate