Следим за временем оплаты доменов с помощью zabbix

Очень часто любит народ забывать оплачивать домены. А когда у тебя на поддержке sms-шлюз и сервис мобильных платежей, то это плохо. Администратор не увидел письмо, владелец домена пропустил уведомление и т.д. Все критические параметры должны мониторится.

Я искал готовые решения, но они ужасны. Нашел на perl с зависимостями или сложное решение .  Доменов  мало (всего 5). В итоге я решил написать своё компактное решение.

    1. Нам нужен bash скрипт, который считае количество оставшихся дней до конца оплаты. Их есть у меня
      #!/bin/bash
      
      #day for domain paid
      #create hardworm@gmail.com
      
      DOMAIN="$1"
      
      D1=$(whois $1 | grep -E 'paid|Expir' | grep -o -E '[0-9]{4}.[0-9]{2}.[0-9]{2}|[0-9]{2}/[0-9]{2}/[0-9]{4}' | tr . / )
      SDIFF1=$((`date -d "$D1" '+%s'`))
      SDIFF2=$((`date '+%s'`))
      s=$(($SDIFF1 - $SDIFF2))
      d=$(($s/86400))
      echo $d
      
    2. Подсовываем Zabbix Agent скрипт /etc/zabbix/scripts/domain.sh и даем ему нужные права
    3. Настраиваем Zabbix Agent (/etc/zabbix/zabbix_agentd.conf), что бы он мог использовать наш скрипт (не забудьте перезапустить агент).
      #domain
      UserParameter=domain[*],/etc/zabbix/scripts/domain.sh $1
      
    4. Создаем элемент данных в web Zabbix
      element
    5. Создаем триггер в web Zabbix
      trigger

Скрипт для zabbix для мониторинга времени оплаты доменов работает не всегда т.к. данные из whois не стандартизированы. В большинстве случаев он работает. Не используйте кириллицу, если заранее не позаботились о переводе zabbix на utf8

Готовый набор на github

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *