Module: check_mk
Branch: master
Commit: 95d9bcbb6fdecb3a60e2ff6b483f16fb35684c87
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=95d9bcbb6fdecb…
Author: Tom Baerwinkel <tb(a)mathias-kettner.de>
Date: Fri Feb 23 17:31:46 2018 +0100
5743 cisco_ip_sla: show source and target address in service output
Change-Id: I78ec09267864bba56842155927b190d171245c77
---
.werks/5743 | 10 ++++++++++
checks/cisco_ip_sla | 16 +++++++++++++++-
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/.werks/5743 b/.werks/5743
new file mode 100644
index 0000000..6e52112
--- /dev/null
+++ b/.werks/5743
@@ -0,0 +1,10 @@
+Title: cisco_ip_sla: show source and target address in service output
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.5.0i4
+Date: 1519403476
+Class: feature
+
+
diff --git a/checks/cisco_ip_sla b/checks/cisco_ip_sla
index 9b4a5cb..5101919 100644
--- a/checks/cisco_ip_sla
+++ b/checks/cisco_ip_sla
@@ -38,7 +38,7 @@ factory_settings['cisco_ip_sla_default_levels'] = {
def parse_cisco_ip_sla(info):
# since the RTT Index, Owner and Tag don't have to be set we use
# indices for the different items
- precisions, info = info[0], info[1:]
+ precisions = [list_.pop() for list_ in info[0]]
precisions = {str(i): 'ms' if p[0] == '1' else 'us'
for i, p in enumerate(precisions)}
@@ -90,8 +90,20 @@ def parse_cisco_ip_sla(info):
'10': 'application specific error',
}
+ def to_ip_address(int_list):
+ if len(int_list) == 4:
+ return '%d.%d.%d.%d' % tuple(int_list)
+ elif len(int_list) == 6:
+ return '%d:%d:%d:%d:%d:%d' % tuple(int_list)
+ else:
+ raise ValueError('Failed to convert %s to IP Address' %
repr(int_list))
+
#contains description, parse function, unit and type
contents = [
+ ( # rttMonEchoAdminEntry
+ ('Target address', to_ip_address, '', None),
+ ('Source address', to_ip_address, '', None),
+ ),
( # rttMonCtrlAdminEntry
('Owner', None, '', None),
('Tag', None, '', None),
@@ -183,6 +195,8 @@ check_info['cisco_ip_sla'] = {
'.1.3.6.1.4.1.9.1.2068',
],
'snmp_info': [('.1.3.6.1.4.1.9.9.42.1.2.2.1', [
+ BINARY(2), # rttMonEchoAdminTargetAddress
+ BINARY(6), # rttMonEchoAdminSourceAddress
# only needed to determine the unit (ms/us)
37, # rttMonEchoAdminPrecision
]),