Как Мы Начали Мониторить Домены И Что Из Этого Вышло

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

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



Как контролировать?

У нас было несколько доменов в зонах kz, ru,kg,ge,com. Самый простой способ узнать всю необходимую информацию о домене – запустить whois. Теоретически это должен знать каждый.

Но как все это реализовать в мониторинге?

Что контролировать?

Покопавшись в интернете, был найден модуль python-whois .

Он хорошо справился со своей задачей для com, net и множества других доменов, описанных в описании модуля.

Нескольким доменам в зонах кг не хватило функционала.

В результате появился форк проекта python-whois-расширенный что расширяет функциональность для более крупных TLD.

Хорошо, а как реализовать это в Nagios?

Все просто, выпишите простой чек
   

#!/usr/bin/env python # # Usage: # python check_domain.py -d DOMAIN import whois from datetime import datetime from sys import exit from optparse import OptionParser def check_domain(domain): q = whois.query(domain) if (q.expiration_date - datetime.now()).

days <= 30: print "CRITICAL: Domain: {0} expires on {1}".

format(domain, q.expiration_date) exit(2) print "OK: Domain: {0} expires on {1}".

format(domain, q.expiration_date) if __name__ == '__main__': parser = OptionParser() parser.add_option("-d", "--domain", dest="domain", help="Domain to monitor expiry date") (options, args) = parser.parse_args() if not options.domain: print parser.print_help() exit(0) check_domain(options.domain)

Что он делает? Горит красным при мониторинге за месяц до истечения срока действия домена.

Интересно, что появился еще один сопровождающий, который добавил поддержку доменов hk, cn и kr. Текущий список поддерживаемых доменов: com, net, org, uk, pl, ru, lv, jp, co_jp, de, at, eu, biz, info, name, us, co, me, be, nz, cz, it, fr, кг, vc, FM, TV, EDU, Калифорния, Китай, Кр, Гонконг Код модуля здесь Запросы на включение и запросы на добавление новых функций приветствуются! Надеюсь мой опыт поможет избавиться от этой проблемы Теги: #python #whois #как не потерять свой домен #python

Вместе с данным постом часто просматривают: