Внимание! Некропостинг!
Снова речь про РЕД ОС 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 на соответствующий менеджер пакетов.