Module: check_mk
Branch: master
Commit: 0fe3c5221608afa5eba94cb6bbbbe768b8c5d912
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0fe3c5221608af…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Sat Jan 17 11:49:05 2015 +0100
#1845 Keep record of original source IP address of a syslog message or SNMP trap
The Event Console now stores the original source IP address when receiving an event
directly via an SNMP trap or the builting syslog server. This ipaddress is put into
a new dedicated field in the event and is shown in the details of the event. In the
event rules you can now match on this address using a X.X.X.X/Y networking syntax.
Note: If you receive syslog messages forwarded from another syslog server, then
you will see the IP address of that server there - not from the original message.
---
.werks/1845 | 15 +++++
ChangeLog | 1 +
mkeventd/bin/mkeventd | 97 ++++++++++++++++++++++++++++--
mkeventd/web/htdocs/mkeventd.py | 45 +++++++++++++-
mkeventd/web/plugins/views/mkeventd.py | 30 ++++++---
mkeventd/web/plugins/visuals/mkeventd.py | 5 +-
mkeventd/web/plugins/wato/mkeventd.py | 18 +++++-
7 files changed, 192 insertions(+), 19 deletions(-)
Diff: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commitdiff;h=0fe3c52216…
Module: check_mk
Branch: master
Commit: 36654c5552b1e2d69b7ed7183f91b88e892a33d8
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=36654c5552b1e2…
Author: Goetz Golla <gg(a)mathias-kettner.de>
Date: Sat Jan 17 09:57:17 2015 +0100
#1849 netscaler_dnsrates: new check for DNS statistics of Citrix Netscaler Loadbalancers
---
.werks/1849 | 9 ++++
ChangeLog | 1 +
checkman/netscaler_dnsrates | 37 +++++++++++++++++
checks/netscaler_dnsrates | 76 ++++++++++++++++++++++++++++++++++
web/plugins/wato/check_parameters.py | 29 +++++++++++++
5 files changed, 152 insertions(+)
diff --git a/.werks/1849 b/.werks/1849
new file mode 100644
index 0000000..36d1323
--- /dev/null
+++ b/.werks/1849
@@ -0,0 +1,9 @@
+Title: netscaler_dnsrates: new check for DNS statistics of Citrix Netscaler Loadbalancers
+Level: 1
+Component: checks
+Compatible: compat
+Version: 1.2.7i1
+Date: 1421484970
+Class: feature
+
+
diff --git a/ChangeLog b/ChangeLog
index 70c00fb..12aa031 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -37,6 +37,7 @@
* 1841 fileinfo, fileinfo.groups: new parameter for selecting ranges of the time of the day...
* 1668 Interface groups: Can create groups out of interface item names...
* 1669 mrpe program check_16bit_program.cc: Monitors 16 bit programs on windows...
+ * 1849 netscaler_dnsrates: new check for DNS statistics of Citrix Netscaler Loadbalancers
* 1457 FIX: logins: new check renamed from "users" check...
NOTE: Please refer to the migration notes!
* 1762 FIX: lnx_thermal: Now ignoring trip points with level 0...
diff --git a/checkman/netscaler_dnsrates b/checkman/netscaler_dnsrates
new file mode 100644
index 0000000..9a56bf8
--- /dev/null
+++ b/checkman/netscaler_dnsrates
@@ -0,0 +1,37 @@
+title: Citrix Netscaler DNS Rates
+agents: snmp
+catalog: app/netscaler
+license: GPL
+distribution: check_mk
+description:
+
+ This check monitors various DNS counter rates of the Citrix Netscaler
+ Loadbalacing Appliance. It uses the {NS-ROOT-MIB} to access the
+ {nsDnsServerStatsGroup} via SNMP.
+
+ Monitored counter rates are the total DNS queries and the total DNS
+ answers (aka replies).
+
+ Warning and critical levels can be configured for each of the rates.
+
+inventory:
+ One service per loadbalancer device will be created.
+
+perfdata:
+ The counter rates of the monitored counters.
+
+item:
+ The name of counter.
+
+[parameters]
+parameters(dict): parameters is a dictionary with a key for each monitored counter.
+
+ {"query_rate"}: a tuple of warning and critical levels.
+
+ {"answer_rate"}: a tuple of warning and critical levels.
+
+ The numbers are integers and represent the counter increase per second.
+
+[configuration]
+netscaler_dnsrates_default_levels(dict): This variable is preset to
+{{ "query_rate": (1500.0, 2000.0), "answer_rate": (1500.0, 2000.0) }}
diff --git a/checks/netscaler_dnsrates b/checks/netscaler_dnsrates
new file mode 100644
index 0000000..1f672b9
--- /dev/null
+++ b/checks/netscaler_dnsrates
@@ -0,0 +1,76 @@
+#!/usr/bin/python
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+# +------------------------------------------------------------------+
+# | ____ _ _ __ __ _ __ |
+# | / ___| |__ ___ ___| | __ | \/ | |/ / |
+# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
+# | | |___| | | | __/ (__| < | | | | . \ |
+# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
+# | |
+# | Copyright Mathias Kettner 2014 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.
+#
+# Example Output:
+# .1.3.6.1.4.1.5951.4.1.1.53.1.1.0 13
+# .1.3.6.1.4.1.5951.4.1.1.53.1.2.0 11
+
+factory_settings["netscaler_dnsrates_default_levels"] = {
+ "query": (1500.0, 2000.0),
+ "answer": (1500.0, 2000.0),
+}
+
+def inventory_netscaler_dnsrates(info):
+ if info:
+ return [ (None, 'netscaler_dnsrates_default_levels') ]
+
+def check_netscaler_dnsrates(_no_item, params, info):
+ queries, answers = map(int, info[0])
+
+ now = time.time()
+ for name, counter in [
+ ( "query", queries ),
+ ( "answer", answers ) ]:
+
+ rate = get_rate(name, now, counter)
+ warn, crit = params[name]
+ infotext = "%s rate %.1f/sec" % (name, rate)
+ perfdata = [ (name+"_rate", rate, warn, crit, 0) ]
+
+ state = 0
+ if rate >= crit:
+ state = 2
+ elif rate >= warn:
+ state = 1
+ if state > 0:
+ infotext += " (levels are %.1f/%.1f /sec)" % (warn, crit)
+
+ yield state, infotext, perfdata
+
+check_info["netscaler_dnsrates"] = {
+ "check_function" : check_netscaler_dnsrates,
+ "inventory_function" : inventory_netscaler_dnsrates,
+ "service_description" : "DNS rates",
+ "has_perfdata" : True,
+ "group" : "netscaler_dnsrates",
+ "snmp_info" : (".1.3.6.1.4.1.5951.4.1.1.53.1", [ # nsDnsServerStatsGroup
+ 1, # dnsTotQueries
+ 2, # dnsTotAnswers
+ ]),
+ "snmp_scan_function" : lambda oid: oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.5951.1"),
+ "default_levels_variable" : "netscaler_dnsrates_default_levels",
+
+}
diff --git a/web/plugins/wato/check_parameters.py b/web/plugins/wato/check_parameters.py
index 2e287fe..8ae9352 100644
--- a/web/plugins/wato/check_parameters.py
+++ b/web/plugins/wato/check_parameters.py
@@ -7503,3 +7503,32 @@ register_check_parameters(
),
None, None
)
+
+register_check_parameters(
+ subgroup_applications,
+ "netscaler_dnsrates",
+ _("Citrix Netscaler DNS counter rates"),
+ Dictionary(
+ help = _("Counter rates of DNS parameters for Citrix Netscaler Loadbalancer "
+ "Appliances"),
+ elements = [
+ ("query",
+ Tuple(
+ title = _("Upper Levels for Total Number of DNS queries"),
+ elements = [
+ Float(title = _("Warning at"), default_value=1500.0, unit="/sec"),
+ Float(title = _("Critical at"), default_value=2000.0, unit="/sec")],
+ ),
+ ),
+ ("answer",
+ Tuple(
+ title = _("Upper Levels for Total Number of DNS replies"),
+ elements = [
+ Float(title = _("Warning at"), default_value=1500.0, unit="/sec"),
+ Float(title = _("Critical at"), default_value=2000.0, unit="/sec")],
+ ),
+ ),
+ ]
+ ),
+ None, None
+)
Module: check_mk
Branch: master
Commit: dd327ed45956449a19e31824858d20bf70bc7f9a
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=dd327ed4595644…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Fri Jan 16 18:51:14 2015 +0100
#1213 New Macro $SERVICEDESC_FOR_URL$ for asciimail
The new macrco $SERVICEDESC_FOR_URL$ can be used in the body of asciimails. The Macro replaces
whitespaces in the servicename with %20. This makes it possible to create custom urls who can e.g. be used
to ackknowledge services.
---
.werks/1213 | 13 +++++++++++++
ChangeLog | 1 +
notifications/asciimail | 1 +
3 files changed, 15 insertions(+)
diff --git a/.werks/1213 b/.werks/1213
new file mode 100644
index 0000000..33c573c
--- /dev/null
+++ b/.werks/1213
@@ -0,0 +1,13 @@
+Title: New Macro $SERVICEDESC_FOR_URL$ for asciimail
+Level: 1
+Component: notifications
+Class: feature
+Compatible: compat
+State: unknown
+Version: 1.2.7i1
+Date: 1421430462
+
+The new macrco $SERVICEDESC_FOR_URL$ can be used in the body of asciimails. The Macro replaces
+whitespaces in the servicename with %20. This makes it possible to create custom urls who can e.g. be used
+to ackknowledge services.
+
diff --git a/ChangeLog b/ChangeLog
index d90793b..2a631dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -106,6 +106,7 @@
Notifications:
* 1662 notification plugin spectrum: finalized script. now able to handle host notications
+ * 1213 New Macro $SERVICEDESC_FOR_URL$ for asciimail...
* 1661 FIX: mknotifyd: improved performance when receiving forwarded notifications
* 1664 FIX: mknotifyd: further performance improvements for notification forwarding
* 1205 FIX: RBN: Fixed match contactgroup condition...
diff --git a/notifications/asciimail b/notifications/asciimail
old mode 100755
new mode 100644
index 5d6b203..9de5fa0
--- a/notifications/asciimail
+++ b/notifications/asciimail
@@ -159,6 +159,7 @@ def construct_content(context):
tmpl_body += context["PARAMETER_SERVICE_BODY"]
else:
tmpl_body += tmpl_service_body
+ context['SERVICEDESC_FOR_URL'] = context['SERVICEDESC'].replace(' ','%20')
context['SUBJECT'] = substitute_context(tmpl, context)
body = substitute_context(tmpl_body, context)