Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
Graff
byGraff, November 27, 2017
#!/usr/bin/env python
# This script is a Nagios plugin used to check the status
# of a CPanel license
#
# Author: Christopher Thunes
# Date: 15 June 2007
# License: BSD License
#
# Updater: Andrey Kishkin aka Graff
# Date: 27 November 2017
# %s should be put in place of the ip address
LICENSE_CHECK_URL = "http://verify.cpanel.net/index.cgi?ip=%s"
# Regex string to search for the 'active' keyword
#regexExtractURL = r"[^a-zA-Z0-9]*active[^a-zA-Z0-9" )
argsparser.add_option("-H", "--hostname", dest="host", help="Host to run test on" )
(options, args) = argsparser.parse_args()
# Check for the required hostname
if options.host == None:
print "-H or --hostname is required"
sys.exit(3)
numeric = None
try:
address = socket.gethostbyname(options.host)
except socket.gaierror:
printOutput( 2 )
html = urllib.urlopen( LICENSE_CHECK_URL % (address) )
regex = re.compile(regexExtractURL)
if html == None:
printOutput( 3 )
found = False;
for line in html.readlines():
if regex.search(line):
found = True
if found is False:
printOutput( 1 )
html = urllib.urlopen( LICENSE_CHECK_URL % (address) )
for line in html.readlines():
match = re.search(regexAcivatedDate ,line)
if match:
printOutput ( 0, match.group('date'))
def printOutput ( numeric, date = '' ):
returnValues = ( 0, 2, 2, 2 )
if numeric == 0:
print "CPANEL OK: license active, Activated: ", date
elif numeric == 1:
print "CPANEL CRITICAL: license inactive"
elif numeric == 2:
print "CPANEL CRITICAL: could not resolve hostname"
elif numeric == 3:
print "CPANEL CRITICAL: could not load license page"
sys.exit(returnValues[numeric])
if __name__ == "__main__":
main( )
# This script is a Nagios plugin used to check the status
# of a CPanel license
#
# Author: Christopher Thunes
# Date: 15 June 2007
# License: BSD License
#
# Updater: Andrey Kishkin aka Graff
# Date: 27 November 2017
# %s should be put in place of the ip address
LICENSE_CHECK_URL = "http://verify.cpanel.net/index.cgi?ip=%s"
# Regex string to search for the 'active' keyword
#regexExtractURL = r"[^a-zA-Z0-9]*active[^a-zA-Z0-9" )
argsparser.add_option("-H", "--hostname", dest="host", help="Host to run test on" )
(options, args) = argsparser.parse_args()
# Check for the required hostname
if options.host == None:
print "-H or --hostname is required"
sys.exit(3)
numeric = None
try:
address = socket.gethostbyname(options.host)
except socket.gaierror:
printOutput( 2 )
html = urllib.urlopen( LICENSE_CHECK_URL % (address) )
regex = re.compile(regexExtractURL)
if html == None:
printOutput( 3 )
found = False;
for line in html.readlines():
if regex.search(line):
found = True
if found is False:
printOutput( 1 )
html = urllib.urlopen( LICENSE_CHECK_URL % (address) )
for line in html.readlines():
match = re.search(regexAcivatedDate ,line)
if match:
printOutput ( 0, match.group('date'))
def printOutput ( numeric, date = '' ):
returnValues = ( 0, 2, 2, 2 )
if numeric == 0:
print "CPANEL OK: license active, Activated: ", date
elif numeric == 1:
print "CPANEL CRITICAL: license inactive"
elif numeric == 2:
print "CPANEL CRITICAL: could not resolve hostname"
elif numeric == 3:
print "CPANEL CRITICAL: could not load license page"
sys.exit(returnValues[numeric])
if __name__ == "__main__":
main( )