Check_MK meets EJBCA

Submitted by admin on So, 11.12.2016 - 11:58

EJBCA verfügt bereits über eine Monitoring Schnittstelle. Das Python Skript fragt diese Schnittstelle ab und bereitet den Output passend für Check_MK auf.

#!/usr/bin/env python

import httplib, re, sys, traceback

def ejbca():
  try:
    conn = httplib.HTTPConnection('localhost', 8080, timeout=10)
    conn.request("GET", "/ejbca/publicweb/healthcheck/ejbcahealth")
    resp = conn.getresponse()
    
    success=0
    if (resp.status==200):
      data = resp.read().decode("utf-8")
      if (re.match("^ALLOK$",data)):
        success=1
    if (success==1):
      # 0 Filecount_/var/log count=40;50;100;0; OK - 40 files in /var/log
      print ("0 EJBCA state="+data+"; OK - is healty")
      return 0
    else:
      print ("2 EJBCA state="+data+"; CRIT - is bad")
      return 2

  except Exception:
    return 3

sys.exit(ejbca())