Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Check cPanel License
Uses the cPanel website to check the status of a license for a given host or IP. The address of the license validation page can be set in the script if it were to ever change as can the regex expression used to extract the status of the license from the returned page.
Reviews (2)
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( )
bynishith, September 20, 2017
My cPanel is under 3 year license but this script is showing "License Inactive" message...!! :(
The URL mentioned inside this script seems proper as below,
http://verify.cpanel.net/index.cgi?ip=%s
Nishith N.Vyas
The URL mentioned inside this script seems proper as below,
http://verify.cpanel.net/index.cgi?ip=%s
Nishith N.Vyas