Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
#!/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( )