Bash · 12.06.2026

Код красный: агент на борту

Внимание! Некропостинг!

Снова речь про РЕД ОС 7.3. Сегодня расскажу про установку и конфигурирование демона zabbix-agent. Здесь и здесь я уже философствовал на тему (почти) полной автоматизации установки системы.

Этот кирпичик станет последним в цикле красного кода. Остальные скрипты остались уж очень узкой и скучной направленности, а эта штуковина достаточно универсальна.

Установщик zabbix-agent вместе с конфигурацией и правилом для UFW:

#!/bin/bash

# Переменная с IP-адресом сервера Zabbix #
ZABBIX_SERVER="192.168.1.100"

# Имя текущего хоста
HOSTNAME=$(hostname)

# Порт Zabbix-Agent
PORT="10050"

# Файл конфигурации Zabbix-Agent
CONFIG_FILE="/etc/zabbix/zabbix_agentd.conf"

# Функция установки Zabbix-Agent, если он не установлен #
install_zabbix_agent() {
    echo "Установка Zabbix Agent..."
    dnf install -y zabbix-agent
}

# Проверяем установлен ли Zabbix-Agent #
if ! rpm -q zabbix-agent &>/dev/null; then
    install_zabbix_agent
    echo "Zabbix Agent установлен."
fi

# Остановка Zabbix-Agent, если он работает #
if systemctl is-active --quiet zabbix-agent; then
    echo "Остановка Zabbix Agent..."
    systemctl stop zabbix-agent
fi

# Конфигурирование Zabbix-Agent #
echo "Конфигурирование Zabbix Agent..."
sed -i "s/^Server=127.0.0.1/Server=$ZABBIX_SERVER/" $CONFIG_FILE
sed -i "s/^ServerActive=.*/ServerActive=$ZABBIX_SERVER/" $CONFIG_FILE
sed -i "s/^Hostname=.*/Hostname=$HOSTNAME/" $CONFIG_FILE

# Включение Zabbix-Agent #
echo "Включение Zabbix Agent..."
systemctl enable zabbix-agent

# Добавление исключения в UFW #
if ! command -v ufw &> /dev/null; then
    echo "UFW не установлен. Пожалуйста, установите UFW."
else
	ufw allow $PORT
fi

# Запуск Zabbix-Agent #
echo "Запуск Zabbix Agent..."
systemctl start zabbix-agent

# Вывод состояния Zabbix-Agent #
if systemctl is-active --quiet zabbix-agent; then
    echo "Zabbix Agent успешно запущен."
else
    echo "Ошибка: Zabbix Agent не запущен."
fi

Замените 192.168.1.100 на IP-адрес своего Zabbix-сервера и можете использовать всю конструкцию в кикстарте.

Скрипт вполне можно применять в любом дистрибутиве, если подкорректировать команду установщика, заменив dnf на соответствующий менеджер пакетов.