def check_log_system(printRes=False): global results logme.loader() FWDIR = func.get_path("FWDIR") CPDIR = func.get_path("CPDIR") title = "Checking logs" # # Format: [file, search, exclude] # logfiles = [["/var/log/messages*", "fail|error", "xpand|failover"], [CPDIR + "/log/cpd.elg", "fail|error", "PROVIDER-1|PA_status"]] if func.isFirewall(): logfiles.append( ["/var/log/routed.log", "fail|error", "xpand|failover"]) logfiles.append([FWDIR + "/log/fwd.elg", "failed", "discntd"]) if func.isManagement(): logfiles.append([FWDIR + "/log/fwm.elg", "failed", "none"]) for log in logfiles: logme.loader() out, err = func.execute_command('cat ' + log[0] + ' | grep -viE "(' + log[2] + ')" | grep -icE "(' + log[1] + ')"') out = out.read().strip('\n') state = "PASS" detail = "" if out != "0": state = "FAIL" detail = out + " messages" results.append( [title + " (" + log[0] + ")", detail, state, "Log Files"]) if printRes: print_results()
def check_all(printRes=False, ftype="all"): global results title = "File" files_arr = [] if ftype == "gw": files_arr = files_fwd if ftype == "mgmt": files_arr = files_fwm if ftype == "all": if func.isFirewall(): files_arr = files_arr + files_fwd if func.isManagement(): files_arr = files_arr + files_fwm i = 0 while i < len(files_arr): state = "PASS" detail = "" try: with open(files_arr[i][0], "rb") as f: bytes = f.read() fhash = hashlib.md5(bytes).hexdigest() if fhash != files_arr[i][1]: state = "WARN" detail = "Wrong Hash!" except: if files_arr[i][1] != "1": state = "FAIL" detail = "not found!" results.append([ title + " (" + files_arr[i][0] + ")", detail, state, "Filesystem" ]) i = i + 1 if printRes: logme.results(results) results = []
def __init__(self, debugLevel=0): self.debugLevel = debugLevel self.enabledBlades = func.enabledBlades() self.modules = map(__import__, self.dynamic_load) i = 0 for module in self.modules: for name, obj in inspect.getmembers(module): if inspect.isclass(obj): if "check_" in name or "diag_" in name: class_ = getattr(module, name) self.classes[name] = class_( func.fwVersion(), isFw=func.isFirewall(), isMgmt=func.isManagement(), isCluster=func.isCluster(), enabledBlades=self.enabledBlades, debugLevel=self.debugLevel) i = i + 1 self.run_self()
def check_all(printRes=False): check_diskspace() check_cpu() check_memory() check_crash() check_log_system() check_process() check_ntp() if func.isFirewall(): check_fw_fragments() check_fw_aggressive() check_table_overflow() check_failedalloc() check_interfaces() check_sic_state() check_overlap_encdom() check_licensing() check_blade_update() check_dispatcher() check_multik_stat() check_blades() check_parsers() if func.isFirewall() and func.isCluster(): check_clusterxl_state() check_clusterxl_sync() check_clusterxl_pnote() check_fwha_version() if func.fwVersion() == "R80.30" or func.fwVersion() == "R80.40": check_clusterxl_ccp() if func.fwVersion() == "R80.40": check_clusterxl_release() if func.isManagement(): check_mgmt_status() check_mgmt_api() check_mgmt_gui() check_mgmt_dblock() check_mgmt_validations() check_mgmt_updateips() if len(func.ipmiInfo()) > 0: check_ipmi_sensor() if printRes: print_results()
["Check ClusterXL state", "health.check_clusterxl_state(True)"]) menu_item.append( ["Check ClusterXL sync stat", "health.check_clusterxl_sync(True)"]) menu_item.append( ["Check ClusterXL PNotes", "health.check_clusterxl_pnote(True)"]) menu_item.append(["Check fwha_version", "health.check_fwha_version(True)"]) if func.fwVersion() == "R80.30" or func.fwVersion() == "R80.40": menu_item.append( ["Check ClusterXL CCP", "health.check_clusterxl_ccp(True)"]) if func.fwVersion() == "R80.40": menu_item.append([ "Check ClusterXL Multiversion", "health.check_clusterxl_release(True)" ]) if func.isManagement(): menu_item.append( ["Check Management Status", "health.check_mgmt_status(True)"]) menu_item.append(["Check Management API", "health.check_mgmt_api(True)"]) menu_item.append(["Check GUI Clients", "health.check_mgmt_gui(True)"]) menu_item.append( ["Check Database Locks", "health.check_mgmt_dblock(True)"]) menu_item.append([ "Check Database Verifications", "health.check_mgmt_validations(True)" ]) menu_item.append( ["Check IPS Update Status", "health.check_mgmt_updateips(True)"]) if len(func.ipmiInfo()) > 0: menu_item.append( ["Check IPMI Sensor Database", "health.check_ipmi_sensor(True)"])