Module: check_mk
Branch: master
Commit: 6034c2a9290508f0917b99f8537143d2df0e11c8
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=6034c2a9290508…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Wed Dec 17 10:20:48 2014 +0100
Moved bluecat checks to correct directory
---
bluecat_dhcp | 101 ---------------------------------------------------
bluecat_dns | 95 ------------------------------------------------
checks/bluecat_dhcp | 7 +++-
checks/bluecat_dns | 2 +-
4 files changed, 6 insertions(+), 199 deletions(-)
diff --git a/bluecat_dhcp b/bluecat_dhcp
deleted file mode 100644
index c24564b..0000000
--- a/bluecat_dhcp
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*-
-# +------------------------------------------------------------------+
-# | ____ _ _ __ __ _ __ |
-# | / ___| |__ ___ ___| | __ | \/ | |/ / |
-# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
-# | | |___| | | | __/ (__| < | | | | . \ |
-# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
-# | |
-# | Copyright Mathias Kettner 2013 mk(a)mathias-kettner.de |
-# +------------------------------------------------------------------+
-#
-# This file is part of Check_MK.
-# The official homepage is at
http://mathias-kettner.de/check_mk.
-#
-# check_mk is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation in version 2. check_mk is distributed
-# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
-# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE. See the GNU General Public License for more de-
-# ails. You should have received a copy of the GNU General Public
-# License along with GNU Make; see the file COPYING. If not, write
-# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-# Boston, MA 02110-1301 USA.
-
-factory_settings["bluecat_dhcp"] = {
- "oper_states" : {
- "warning" : [ 2, 3, 4 ],
- "critical" : [ 5 ],
- },
-}
-
-def inventory_bluecat_dhcp(info):
- # Check if DHCP is not stopped on at least one host
- for node, oper_state, leases in info:
- if oper_state != '2':
- return [(None, None)]
-
-def check_bluecat_dhcp(item, params, info):
- oper_states = {
- 1 : "running normally",
- 2 : "not running",
- 3 : "currently starting",
- 4 : "currently stopping",
- 5 : "fault"
- }
-
- ok_on_node = False
- states = {}
- state = 0
-
- # Collect states of nodes
- for node, oper_state, leases in info:
- oper_state, leases_sec = map(int, (oper_state, leases))
- temp_state = 0
- if oper_state in params['oper_states']['warning']:
- state = max(state, 1)
- temp_state = 1
- elif oper_state in params['oper_states']['critical']:
- state = 2
- temp_state = 2
- else:
- # If node one ok, the total check is ok
- ok_on_node = node
- # Only needed in cluster:
- states[node] = {'oper_state' : oper_states[oper_state],
'leases_sec' : leases_sec, 'state' : temp_state }
-
- # Are we in a Cluster?
- if len(info) > 1:
- if ok_on_node:
- node = ok_on_node
- # One Node is OK:
- yield 0, "DHCP is %s on %s" % (states[node]['oper_state'],
node)
- yield 0, '%s Leases per second' %
(states[node]['leases_sec']), [ ('leases',
states[node]['leases_sec']) ]
- else:
- # None of the nodes is ok:
- for node, data in states.items():
- yield data['state'], "%s on %s" %
(data['oper_state'], node)
- return
-
- # Default behavior without Cluster
- yield state, "DHCP is %s" % oper_states[oper_state]
- yield 0, '%s Leases per second' % leases_sec, [ ('leases', leases_sec
) ]
-
-
-check_info["bluecat_dhcp"] = {
- "check_function" : check_bluecat_dhcp,
- "inventory_function" : inventory_bluecat_dhcp,
- "node_info" : True,
- "service_description" : "DHCP",
- "has_perfdata" : True,
- "default_levels_variable" : "bluecat_dhcp",
- "group" : "bluecat_dhcp",
- "snmp_scan_function" : lambda oid:
oid(".1.3.6.1.2.1.1.2.0") == ".1.3.6.1.4.1.13315.2.1",
- "snmp_info" : (".1.3.6.1.4.1.13315.3.1.1.2.1", [
- 1, # dhcpOperState
- 3, #
dhcpLeaseStatsSuccess
- ])
-}
-
diff --git a/bluecat_dns b/bluecat_dns
deleted file mode 100644
index 98d0b0c..0000000
--- a/bluecat_dns
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/python
-# -*- encoding: utf-8; py-indent-offset: 4 -*-
-# +------------------------------------------------------------------+
-# | ____ _ _ __ __ _ __ |
-# | / ___| |__ ___ ___| | __ | \/ | |/ / |
-# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
-# | | |___| | | | __/ (__| < | | | | . \ |
-# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
-# | |
-# | Copyright Mathias Kettner 2013 mk(a)mathias-kettner.de |
-# +------------------------------------------------------------------+
-#
-# This file is part of Check_MK.
-# The official homepage is at
http://mathias-kettner.de/check_mk.
-#
-# check_mk is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation in version 2. check_mk is distributed
-# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
-# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE. See the GNU General Public License for more de-
-# ails. You should have received a copy of the GNU General Public
-# License along with GNU Make; see the file COPYING. If not, write
-# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
-# Boston, MA 02110-1301 USA.
-
-factory_settings["bluecat_dns"] = {
- "oper_states" : {
- "warning" : [ 2, 3, 4 ],
- "critical" : [ 5 ],
- },
-}
-
-def inventory_bluecat_dns(info):
- return [(None, None)]
-
-def check_bluecat_dns(item, params, info):
- oper_states = {
- 1 : "running normally",
- 2 : "not running",
- 3 : "currently starting",
- 4 : "currently stopping",
- 5 : "fault"
- }
-
- if not info:
- return
-
- ok_on_node = False
- states = {}
- state = 0
-
- for node, oper_state in info:
- oper_state = int(oper_state)
- temp_state = 0
- if oper_state in params['oper_states']['warning']:
- state = max(1, state)
- temp_state = 1
- elif oper_state in params['oper_states']['critical']:
- state = 2
- temp_state = 2
- else:
- # If node one ok, the total check is ok
- ok_on_node = node
- # Only needed in cluster:
- states[node] = {'oper_state' : oper_states[oper_state], 'state' :
temp_state }
-
- # Are we in a Cluster?
- if len(info) > 1:
- if ok_on_node:
- node = ok_on_node
- # One Node is OK:
- yield 0, "DNS is %s on %s" % (states[node]['oper_state'],
node)
- else:
- # None of the nodes is ok:
- for node, data in states.items():
- yield data['state'], "%s on %s" %
(data['oper_state'], node)
- return
-
- # Default behavior without Cluster
- yield state, "DNS is %s" % oper_states[oper_state]
-
-check_info["bluecat_dns"] = {
- "check_function" : check_bluecat_dns,
- "inventory_function" : inventory_bluecat_dns,
- "node_info" : True,
- "service_description" : "DNS",
- "default_levels_variable" : "bluecat_dns",
- "group" : "bluecat_dns",
- "snmp_scan_function" : lambda oid:
oid(".1.3.6.1.2.1.1.2.0") == ".1.3.6.1.4.1.13315.2.1",
- "snmp_info" : (".1.3.6.1.4.1.13315.3.1.2.2.1", [
- 1, # DnsSerOperState
- ])
-}
-
diff --git a/checks/bluecat_dhcp b/checks/bluecat_dhcp
index 54345fa..c24564b 100644
--- a/checks/bluecat_dhcp
+++ b/checks/bluecat_dhcp
@@ -32,8 +32,11 @@ factory_settings["bluecat_dhcp"] = {
}
def inventory_bluecat_dhcp(info):
- return [(None, None)]
-# [['dewedns1a', '2', '0'], ['dewedns1b', '1',
'0']]
+ # Check if DHCP is not stopped on at least one host
+ for node, oper_state, leases in info:
+ if oper_state != '2':
+ return [(None, None)]
+
def check_bluecat_dhcp(item, params, info):
oper_states = {
1 : "running normally",
diff --git a/checks/bluecat_dns b/checks/bluecat_dns
index 538309b..98d0b0c 100644
--- a/checks/bluecat_dns
+++ b/checks/bluecat_dns
@@ -70,7 +70,7 @@ def check_bluecat_dns(item, params, info):
if ok_on_node:
node = ok_on_node
# One Node is OK:
- yield 0, "DHCP is %s on %s" % (states[node]['oper_state'],
node)
+ yield 0, "DNS is %s on %s" % (states[node]['oper_state'],
node)
else:
# None of the nodes is ok:
for node, data in states.items():