Categories: CentOSDebianlinux

Мониторинг срока регистрации (освобождения) домена в Zabbix

В этой статье мы рассмотрим, как настроить отслеживания срока действия (делегирования /регистрации) ваших доменов в Zabbix. Это позволит вам не пропустить дату продления аренды и окончания делегирования ваших доменных имен.

Если в течении 30 дней после окончания срока регистрации домена, предыдущий владелец не оплачивает его, домен освобождается (разделегируется). Рассмотрим простой скрипт и шаблон для Zabbix, которые позволят вот мониторить время окончания регистрации домена.

Итак, предполагаем, что у вас уже установлен Zabbix сервер . Для получения данных о сроках делегирования доменов мы будем использовать небольшой bash скрипт. Для его работы на хосте должна быть установлена утилита whois . Установите ее:

  • CentOS/RHEL/Rocky Linux: $ sudo dnf install whois -y
  • Ubuntu/Debian: $ sudo apt install whois -y

Проверьте в конфигурационном файле zabbix-server.conf путь к каталогу для внешних скриптов. По умодчанию это (раскоментируйте сттроку):

ExternalScripts=/usr/lib/zabbix/externalscripts

Создайте в этом каталоге файл /usr/lib/zabbix/externalscripts/domain_expiration.sh со следующим кодом:

#!/bin/bash
DOMAIN="$1"
exdate=`whois $DOMAIN | grep -E 'paid|Expire|Expiry' | grep -o -E '[0-9]{4}.[0-9]{2}.[0-9]{2}|[0-9]{2}/[0-9]{2}/[0-9]{4}'`
expire=$((`date -d "$exdate" '+%s'`))
today=$((`date '+%s'`))
leftsec=$(($expire - $today))
leftdays=$(($leftsec/86400))
echo $leftdays

Разрешите запуск файла:

$ sudo chmod +x /usr/lib/zabbix/externalscripts/domain_expiration.sh

Проверьте, что скрипт работает корректно. Укажите в качестве параметра имя домена, для которого вы хотите получить количество дней, оставшихся до окончания делегирования.

$ /usr/lib/zabbix/externalscripts/domain_expiration.sh remontka.com

В моем примере скрипт вернул, что до окончания срока действия домена осталось 39 дней.

Теперь с помощью параметра UserParameter нужно разрешить запуск этого пользовательского скрипта агентом Zabbix.

$ sudo mcedit /etc/zabbix/zabbix_agentd.conf

Добавьте строку:

UserParameter=domainexpire[*],/usr/lib/zabbix/externalscripts/domain_expiration.sh $1

Такой параметр позволит выполнить определенный внешний скрипт через агента Zabbix. Для вызова этого скрипта из Zabbix нужно исопльзовать параметр domainexpire.

Перезапустите агента:

$ sudo service zabbix-agent restart

Проверьте, что агент zabbix может получить данные через новый параметр. Для тестирования агента используется утилита zabbix-get:

$ sudo apt install zabbix-get
$ zabbix_get -s 127.0.0.1 -p 10050 -k domainexpire[remontka.com]

Если вы все настроили правильно, команда должна вернуть количество дней до окончания срока регистрации домена.

Теперь добавьте новый шаблон CheckDomainExpiration для мониторинга сроков делегирования доменов в Zabbix.

На вкладке items добавьте параметр

  • Имя: Cрок регистрации домена {$DOMAINNAME}
  • Type: Zabbix Agent
  • Key: domainexpire[{$DOMAINNAME}]
  • Type of information: Numeric (unsigned)
  • Update Interval: 1d
  • History: 90d
  • Trenfd: 365d

Теперь добавьте новый триггер

  • Name: Срок регистрации домена {$DOMAINNAME} заканчивается
  • Expression: last(/CheckDomainExpiration/domainexpire[{$DOMAINNAME}])<39
  • Severity: High

Такой триггер буде срабатывать, если до окончания срока регистрации домена осталось менее 39 дней.

Можно сразу добавить параметр триггера для восстановления:

Recovery expression: last(/CheckDomainExpiration/domainexpire[{$DOMAINNAME}])>=40

Теперь добавьте в Zabbix новый хост для вашего доменного именис с типом интерфейса Agent.

На вкладке Macros нужно указать имя домена, срок регистрации которого вы хотите отслеживать:

  • Macro: {$DOMAINNAME}
  • Value: remontka.com

Назначьте хосту ранее созданный шаблон CheckDomainExpiration.

В нашем шаблоне срок регистрации домена проверяется раз в сутки. Чтобы получить данные из whois немедленно, найдите ваш параметр на вкладке хоста и нажмите Execute Now .

Теперь проверьте Latest Data. Zabbix показывает, что срок регистрации вашего домена истекает через 39 дней.


Сработал триггер, который отправил уведомление на email или в telegram и показал проблему на дашборде. По аналогии добавьте через Hosts все домены, срок регистрации которых нужно отслеживать.

admin

Share
Published by
admin

Recent Posts

После включения диагностического запуска не удается войти в Windows — как исправить?

Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…

1 неделя ago

WinScript — очистка и настройка Windows 11 и 10

На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…

1 неделя ago

Предварительный просмотр накопительного обновления не устанавливается — решение

При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…

1 неделя ago

FixExec — восстановление ассоциаций .exe, .bat и .com файлов

Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…

1 неделя ago

Ошибка 0x800705b4 при обновлении Windows 11 и 10 — как исправить?

При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…

1 неделя ago

Обслуживание вашей версии Windows 11 окончено — что делать?

Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…

1 неделя ago