32 lines
878 B
Python
32 lines
878 B
Python
#!/usr/bin/env python3
|
|
|
|
# checks when a domain is going to expire
|
|
# and sends the time to zabbix
|
|
# new version that reads from a json file
|
|
|
|
import sys
|
|
import os
|
|
import json
|
|
import whois
|
|
from pyzabbix import ZabbixMetric, ZabbixSender
|
|
|
|
wwwhost = sys.argv[1]
|
|
dir_path = os.path.dirname(os.path.realpath(__file__))
|
|
|
|
with open(dir_path+'/whois/'+wwwhost+'.json', 'r') as read_file:
|
|
domains = json.load(read_file)
|
|
|
|
for domain in domains['domains']:
|
|
w = whois.whois(domain)
|
|
if isinstance(w.expiration_date, list):
|
|
packet = ZabbixMetric(wwwhost, 'domain.expiry['+domain+']', w.expiration_date[0].timestamp()),
|
|
else:
|
|
packet = ZabbixMetric(wwwhost, 'domain.expiry['+domain+']', w.expiration_date.timestamp()),
|
|
result = ZabbixSender(use_config=True).send(packet)
|
|
|
|
## some tests
|
|
#print(w)
|
|
#print(w.domain_name, w.expiration_date)
|
|
#print(packet)
|
|
#print(result)
|