check_mk-check-selinux/checks/selinux

38 lines
1.2 KiB
Plaintext
Raw Normal View History

2018-06-12 09:35:31 +03:00
#!/usr/bin/env python
#
# Author: Marius Pana <mp@spearhead.systems>
factory_settings["selinux_default_levels"] = {
"modedisabled" : 2,
2018-06-12 09:35:31 +03:00
"curmodepermissive" : 1,
"filemodepermissive" : 2,
}
def inventory_selinux(info):
inventory = []
for line in info:
2018-06-12 12:15:01 +03:00
yield None, {}
2018-06-12 09:35:31 +03:00
def check_selinux(item, params, info):
for line in info:
state = 0
if line[0] == 'disabled':
state = params["modedisabled"]
return (state, "SELinux is disabled")
elif line[0] == 'enabled' and line[1] == "permissive" and line[2] == "enforcing":
state = params["curmodepermissive"]
return (state, "SELinux is in permissive mode but config file is enfocring.")
elif line[2] == "permissive":
state = params["filemodepermissive"]
return (state, "SELinux is in permissive mode.")
else:
return(3, "SELinux not found in agent output")
check_info["selinux"] = {
"inventory_function" : inventory_selinux,
"check_function" : check_selinux,
"has_perfdata" : False,
"service_description" : "SELinux state",
2018-06-12 09:35:31 +03:00
"default_levels_variable" : "selinux_default_levels",
'group': 'selinux',
}