Zabbix предоставляет широкие возможности для мониторинга систем, и одним из самых гибких инструментов является ключ
system.run. Он позволяет выполнять любые Bash-скрипты на мониторируемых хостах и возвращать их результаты для последующего анализа.1️⃣ Настройка элемента данных
Для начала необходимо создать элемент данных, который будет запускать Bash-скрипт:
1. В веб-интерфейсе Zabbix перейдите в раздел "Конфигурация" -> "Хосты".
2. Выберите хост и перейдите в раздел "Элементы данных".
3. Нажмите "Создать элемент данных" и заполните поля:
• Имя: Назовите элемент, например, "Custom Bash Script".
• Ключ: Укажитеsystem.run["/path/to/your/script.sh"].
4.. Тип информации: Выберите тип возвращаемых данных (например, числовое значение).
2️⃣ Пример Bash-скрипта для мониторинга
Простой скрипт, который проверяет количество активных соединений к веб-серверу:
#!/bin/bash
netstat -an | grep ':80' | wc -l
Этот скрипт подсчитывает количество активных соединений к порту 80 и возвращает результат.
3️⃣ Расширенные возможности
Для более сложного мониторинга, например, статуса кластера, можно использовать следующий Bash-скрипт:
#!/bin/bash
CLUSTER_NODES=("node1" "node2" "node3")
STATUS=""
for NODE in "${CLUSTER_NODES[@]}"
do
NODE_STATUS=$(ssh $NODE 'systemctl is-active cluster-service')
STATUS+="$NODE: $NODE_STATUS\n"
done
echo -e $STATUS
Этот скрипт подключается к каждому узлу кластера через SSH и проверяет статус службы cluster-service. Результаты возвращаются в формате "имя узла: статус".
#monitoring #zabbix
🧑💻 NetworkAdmin