Collection of CheckMK checks (see https://checkmk.com/). All checks and plugins are provided as is. Absolutely no warranty. Send any comments to thl-cmk[at]outlook[dot]com

Skip to content
Snippets Groups Projects
Commit 4346fbfa authored by thl-cmk's avatar thl-cmk :flag_na:
Browse files

update project

parent 28523772
No related branches found
No related tags found
No related merge requests found
File added
No preview for this file type
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# License: GNU General Public License v2
#
# Author: thl-cmk[at]outlook[dot]com
# URL : https://thl-cmk.hopto.org
# Date : 2017-12-29
#
# Cisco VPN Tunnel metrics plugin
#
from cmk.gui.i18n import _
from cmk.gui.plugins.metrics.utils import (
metric_info,
graph_info,
perfometer_info,
)
#####################################################################################################################
#
# define metrics for bgp peer perfdata
#
#####################################################################################################################
metric_info['cisco_vpn_tunnel_cikeTunActiveTime'] = {
'title': _('IKE active time'),
'help': _(''),
'unit': 's',
'color': '26/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInOctets'] = {
'title': _('IKE Bytes in'),
'unit': 'bytes/s',
'color': '11/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutOctets'] = {
'title': _('IKE Bytes out'),
'help': _(''),
'unit': 'bytes/s',
'color': '21/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInPkts'] = {
'title': _('IKE packets in'),
'help': _(''),
'unit': '1/s',
'color': '31/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutPkts'] = {
'title': _('IKE packets out'),
'help': _(''),
'unit': '1/s',
'color': '41/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInDropPkts'] = {
'title': _('IKE packets dropped in'),
'help': _(''),
'unit': '1/s',
'color': '12/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutDropPkts'] = {
'title': _('IKE packets dropped out'),
'help': _(''),
'unit': '1/s',
'color': '22/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInNotifys'] = {
'title': _('IKE in notifies'),
'help': _(''),
'unit': 'count',
'color': '32/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutNotifys'] = {
'title': _('IKE out notifies'),
'help': _(''),
'unit': 'count',
'color': '42/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInP2Exchgs'] = {
'title': _('IKE in phase 2 exchanges'),
'help': _(''),
'unit': 'count',
'color': '13/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutP2Exchgs'] = {
'title': _('IKE out phase 2 exchanges'),
'help': _(''),
'unit': 'count',
'color': '23/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInP2ExchgInvalids'] = {
'title': _('IKE in phase 2 exchanges invalid'),
'help': _(''),
'unit': 'count',
'color': '33/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutP2ExchgInvalids'] = {
'title': _('IKE out phase 2 exchanges invalid'),
'help': _(''),
'unit': 'count',
'color': '43/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInP2ExchgRejects'] = {
'title': _('IKE in phase 2 exchanges rejected'),
'help': _(''),
'unit': 'count',
'color': '14/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutP2ExchgRejects'] = {
'title': _('IKE out phase 2 exchanges rejected'),
'help': _(''),
'unit': 'count',
'color': '24/a',
}
metric_info['cisco_vpn_tunnel_cikeTunInP2SaDelRequests'] = {
'title': _('IKE in phase 2 SA delete requests'),
'help': _(''),
'unit': 'count',
'color': '34/a',
}
metric_info['cisco_vpn_tunnel_cikeTunOutP2SaDelRequests'] = {
'title': _('IKE out phase 2 SA delete requests'),
'help': _(''),
'unit': 'count',
'color': '44/a',
}
# IPSec counter
metric_info['cisco_vpn_tunnel_cipSecTunActiveTime'] = {
'title': _('IPSec active time'),
'help': _(''),
'unit': 's',
'color': '26/b',
}
metric_info['cisco_vpn_tunnel_ipsec_sa_count'] = {
'title': _('IPSec SA count'),
'help': _(''),
'unit': 'count',
'color': '12/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunHcInOctets'] = {
'title': _('IPSec Bytes in'),
'help': _(''),
'unit': 'bytes/s',
'color': '11/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunHcOutOctets'] = {
'title': _('IPSec Bytes out'),
'help': _(''),
'unit': 'bytes/s',
'color': '21/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInPkts'] = {
'title': _('IPSec packets in'),
'help': _(''),
'unit': '1/s',
'color': '31/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutPkts'] = {
'title': _('IPSec packets out'),
'help': _(''),
'unit': '1/s',
'color': '41/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInDropPkts'] = {
'title': _('IPSec packets dropped in'),
'help': _(''),
'unit': '1/s',
'color': '11/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutDropPkts'] = {
'title': _('IPSec packets dropped out'),
'help': _(''),
'unit': '1/s',
'color': '21/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunHcInDecompOctets'] = {
'title': _('IPSec in decompressed octets'),
'help': _(''),
'unit': '1/s',
'color': '32/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunHcOutUncompOctets'] = {
'title': _('IPSec out compressed octets'),
'help': _(''),
'unit': '1/s',
'color': '41/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInAuths'] = {
'title': _('IPSec in authentication\'s'),
'help': _(''),
'unit': 'count',
'color': '13/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutAuths'] = {
'title': _('IPSec out authentication\'s'),
'help': _(''),
'unit': 'count',
'color': '23/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInAuthFails'] = {
'title': _('IPSec in authentication\'s failed'),
'help': _(''),
'unit': 'count',
'color': '33/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutAuthFails'] = {
'title': _('IPSec out authentication\'s failed'),
'help': _(''),
'unit': 'count',
'color': '43/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInDecrypts'] = {
'title': _('IPSec in decryption\'s'),
'help': _(''),
'unit': 'count',
'color': '15/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutEncrypts'] = {
'title': _('IPSec out encryption\'s'),
'help': _(''),
'unit': 'count',
'color': '25/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInDecryptFails'] = {
'title': _('IPSec in decryption\'s failed'),
'help': _(''),
'unit': 'count',
'color': '35/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunOutEncryptFails'] = {
'title': _('IPSec out encryption\'s failed'),
'help': _(''),
'unit': 'count',
'color': '45/b',
}
metric_info['cisco_vpn_tunnel_cipSecTunInReplayDropPkts'] = {
'title': _('IPSec in replay packets dropped'),
'help': _(''),
'unit': 'count',
'color': '16/b',
}
######################################################################################################################
#
# how to graph perdata for cisco_vpn_tunnel
#
######################################################################################################################
graph_info['cisco_vpn_tunnel_ike_uptime'] = {
'title': _('IKE active time'),
'metrics': [
('cisco_vpn_tunnel_cikeTunActiveTime', 'area'),
],
}
graph_info['cisco_vpn_tunnel_ike_octets'] = {
'title': _('IKE Bytes/s'),
'metrics': [
('cisco_vpn_tunnel_cikeTunOutOctets', '-area'),
('cisco_vpn_tunnel_cikeTunInOctets', 'area'),
],
}
graph_info['cisco_vpn_tunnel_ike_packets'] = {
'title': _('IKE packets/s'),
'metrics': [
('cisco_vpn_tunnel_cikeTunOutDropPkts', '-line'),
('cisco_vpn_tunnel_cikeTunInDropPkts', 'line'),
('cisco_vpn_tunnel_cikeTunOutPkts', '-line'),
('cisco_vpn_tunnel_cikeTunInPkts', 'line'),
],
}
graph_info['cisco_vpn_tunnel_ipsec_uptime'] = {
'title': _('IPSec active time'),
'metrics': [
('cisco_vpn_tunnel_cipSecTunActiveTime', 'area'),
],
}
graph_info['cisco_vpn_tunnel_ipsec_sa_count'] = {
'title': _('IPSec SA count'),
'metrics': [
('cisco_vpn_tunnel_ipsec_sa_count', 'area'),
],
}
graph_info['cisco_vpn_tunnel_ipsec_octets'] = {
'title': _('IPSec Bytes/s'),
'metrics': [
('cisco_vpn_tunnel_cipSecTunHcOutOctets', '-area'),
('cisco_vpn_tunnel_cipSecTunHcInOctets', 'area'),
],
}
graph_info['cisco_vpn_tunnel_pckets'] = {
'title': _('IPSec packets/s'),
'metrics': [
('cisco_vpn_tunnel_cipSecTunOutDropPkts', '-stack'),
('cisco_vpn_tunnel_cipSecTunInDropPkts', 'stack'),
('cisco_vpn_tunnel_cipSecTunOutPkts', '-stack'),
('cisco_vpn_tunnel_cipSecTunInPkts', 'stack'),
],
}
######################################################################################################################
#
# define perf-o-meter for cisco_vpn_tunnel uptime active time
#
######################################################################################################################
perfometer_info.append(('stacked', [
{
'type': 'logarithmic',
'metric': 'cisco_vpn_tunnel_cikeTunActiveTime',
'half_value': 2592000.0,
'exponent': 2,
},
{
'type': 'logarithmic',
'metric': 'cisco_vpn_tunnel_cipSecTunActiveTime',
'half_value': 2592000.0,
'exponent': 2,
},
]))
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# License: GNU General Public License v2
# Author: thl-cmk[at]outlook[dot]com
# URL : https://thl-cmk.hopto.org
# Date : 2017-12-28
from cmk.gui.i18n import _
from cmk.gui.valuespec import (
Dictionary,
TextAscii,
Tuple,
MonitoringState,
ListOf,
IPv4Address,
TextUnicode,
FixedValue,
)
from cmk.gui.plugins.wato.utils import (
CheckParameterRulespecWithItem,
rulespec_registry,
RulespecGroupCheckParametersNetworking,
RulespecGroupCheckParametersDiscovery,
HostRulespec,
)
def _parameter_valuespec_cisco_vpn_tunnel():
return Dictionary(
elements=[
('tunnels',
ListOf(
Tuple(
title=_('VPN Tunnel Endpoints'),
elements=[
IPv4Address(
title=_('Peer IP-Address'),
help=_('The configured value must match a tunnel reported by the monitored '
'device.'),
),
TextUnicode(
title=_('Tunnel Alias'),
help=_('You can configure an individual alias here for the tunnel matching '
'the IP-Address or Name configured in the field above.'),
),
MonitoringState(
default_value=2,
title=_('State if tunnel is not found'),
),
MonitoringState(
default_value=1,
title=_('State if tunnel has no active IPSec SA'),
),
]),
add_label=_('Add tunnel'),
movable=False,
title=_('VPN tunnel specific configuration'),
)),
('state',
MonitoringState(
title=_('Default state to report when tunnel can not be found anymore'),
help=_('Default state if a tunnel, which is not listed above in this rule, '
'can no longer be found.'),
default_value=2,
)),
('missing_ipsec_sa_state',
MonitoringState(
title=_('Default state to report when tunnel has no active IPSec SA'),
help=_('Default state if a tunnel, which is not listed above in this rule, '
'has no active IPSec SA.'),
default_value=1,
)),
],
)
rulespec_registry.register(
CheckParameterRulespecWithItem(
check_group_name='cisco_vpn_tunnel',
group=RulespecGroupCheckParametersNetworking,
item_spec=lambda: TextAscii(title=_('IP-Address of Tunnel Endpoint'), ),
match_type='dict',
parameter_valuespec=_parameter_valuespec_cisco_vpn_tunnel,
title=lambda: _('Cisco VPN Tunnel'),
))
def _valuespec_discovery_cisco_vpn_tunnel():
return Dictionary(
title=_('VPN Tunnel discovery'),
elements=[(
'discover_aggressive_mode',
FixedValue(
True,
default_value=False,
title=_('Discover aggressive mode VPN Tunnel'),
totext=_('Discover aggressive mode VPN Tunnel'),
),
)],
)
rulespec_registry.register(
HostRulespec(
group=RulespecGroupCheckParametersDiscovery,
match_type='dict',
name='discovery_cisco_vpn_tunnel',
valuespec=_valuespec_discovery_cisco_vpn_tunnel,
))
......@@ -6,11 +6,10 @@
'in/out octets and packets.\n',
'download_url': 'https://thl-cmk.hopto.org',
'files': {'agent_based': ['cisco_vpn_tunnel.py'],
'web': ['plugins/metrics/cisco_vpn_tunnel.py',
'plugins/wato/cisco_vpn_tunnel.py']},
'gui': ['metrics/cisco_vpn_tunnel.py', 'wato/cisco_vpn_tunnel.py']},
'name': 'cisco_vpn_tunnel',
'title': 'Monitor Cisco VPN Tunnel',
'version': '20230607.v0.4',
'version.min_required': '2.0.0b1',
'version': '0.4.0-20230607',
'version.min_required': '2.1.0b1',
'version.packaged': '2.1.0p21',
'version.usable_until': None}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment