Home Directory

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

Directory Tree

Directory

Graff

Reviews(1)
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( )