Скрипт на проверку ip

Скрипт получает внешний IP-адрес сервера и отдаёт его в Zabbix. Используется для мониторинга смены IP — например, если у тебя динамический адрес или несколько каналов.


Скрипт

#!/bin/bash

# Получаем внешний IP
ip=$(curl -s api.ipify.org)

# Проверяем что получили
if [[ -z "$ip" ]]; then
  echo "Ошибка получения IP-адреса."
  exit 1
fi

echo "$ip"

Установка

1. Сохранить скрипт

nano /usr/lib/zabbix/externalscripts/myip.sh

Вставить содержимое скрипта, сохранить.

2. Сделать исполняемым

chmod +x /usr/lib/zabbix/externalscripts/myip.sh

3. Добавить UserParameter в агент

nano /etc/zabbix/zabbix_agentd.conf

Добавить в конец файла:

UserParameter=ip[*],/usr/lib/zabbix/externalscripts/myip.sh

Что означает каждая часть:

  • UserParameter — пользовательский параметр для агента
  • ip — ключ, который будем использовать в Zabbix
  • [*] — принимает любые аргументы
  • /usr/lib/zabbix/externalscripts/myip.sh — путь до скрипта

4. Перезапустить агент

systemctl restart zabbix-agent.service

5. Проверить что работает

zabbix_agentd -t ip

Должен вернуть твой внешний IP-адрес.


Настройка в веб-интерфейсе Zabbix

1. Создать шаблон

Идём в Configuration → Templates → Create template, задаём название (например, My-ip).

2. Создать элемент данных (Item)

Открываем шаблон → Items → Create item:

  • Name: External IP
  • Type: Zabbix agent
  • Key: ip[ip] — тот ключ что прописали в агенте
  • Type of information: Text
  • Update interval: 1m (каждую минуту)

Нажать Update. Проверить через кнопку Test.

3. Создать триггер

Открываем шаблон → Triggers → Create trigger:

  • Name: IP address changed
  • Problem expression:
    last(/My-ip/ip[ip])<>"основной_ip"
    Срабатывает когда текущий IP отличается от основного.
  • Recovery expression:
    last(/My-ip/ip[ip])="основной_ip"
    Проблема уходит когда IP вернулся к основному.

4. Привязать шаблон к хосту

Идём в Configuration → Hosts, открываем нужный хост → вкладка Templates, добавляем шаблон My-ip.


Результат

Zabbix будет проверять внешний IP каждую минуту и пришлёт уведомление как только адрес изменится.

Комментарии

Комментариев пока нет.