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 2b5a69b5 authored by thl-cmk's avatar thl-cmk :flag_na:
Browse files

update project

parent 46be5fe5
No related branches found
No related tags found
No related merge requests found
......@@ -9,10 +9,9 @@
#
# Monitor Check Point Maestro SMO SGM Path distribution like Accel Path, Medium Path, Firewall Path and dropped
#
# ToDo: add wato with lower/upper levels
#
# 2021-03-02: rewrite for CMK 2.0
# 2021-09-10: rewrite parse function
# 2021-0911: added WATO options
#
# sample snmpwalk (for one existing SGM)
# .1.3.6.1.4.1.2620.1.48.20.24.1.1.1.0 = Gauge32: 1
......@@ -112,34 +111,20 @@ def check_checkpoint_asg_path_distribution(item, params, section: Dict[str, Chec
yield Result(state=State.UNKNOWN, notice='Item not found in SNMP data')
return
yield from check_levels(
entry.asgAccelPath,
# levels_upper=disk_usage_upper,
metric_name='checkpoint_asg_path_distribution_acceleration',
label='Acceleration',
render_func=lambda v: str(v),
)
yield from check_levels(
entry.asgMediumPath,
# levels_upper=disk_usage_upper,
metric_name='checkpoint_asg_path_distribution_acceleration_medium',
label='Medium',
render_func=lambda v: str(v),
)
yield from check_levels(
entry.asgFirewallPath,
# levels_upper=disk_usage_upper,
metric_name='checkpoint_asg_path_distribution_acceleration_firewall',
label='Firewall',
render_func=lambda v: str(v),
)
yield from check_levels(
entry.asgDropped,
# levels_upper=disk_usage_upper,
metric_name='checkpoint_asg_path_distribution_acceleration_dropped',
label='Dropped',
render_func=lambda v: str(v),
)
for value, label, metric, levels_upper, levels_lower in [
(entry.asgAccelPath, 'Acceleration', 'acceleration', 'levels_upper_acceleration', 'levels_lower_acceleration'),
(entry.asgMediumPath, 'Medium', 'medium', 'levels_upper_medium', 'levels_lower_medium'),
(entry.asgFirewallPath, 'Firewall', 'firewall', 'levels_upper_firewall', 'levels_lower_firewall'),
(entry.asgDropped, 'Dropped', 'dropped', 'levels_upper_dropped', 'levels_lower_dropped'),
]:
yield from check_levels(
value=value,
metric_name=f'checkpoint_asg_path_distribution_{metric}',
label=label,
render_func=lambda v: str(v),
levels_upper=params[levels_upper],
levels_lower=params[levels_lower],
)
register.snmp_section(
......@@ -171,6 +156,15 @@ register.check_plugin(
service_name='ASG path distribution %s',
discovery_function=discovery_checkpoint_asg_path_distribution,
check_function=check_checkpoint_asg_path_distribution,
check_default_parameters={},
check_default_parameters={
'levels_upper_acceleration': (None, None),
'levels_lower_acceleration': (None, None),
'levels_upper_medium': (None, None),
'levels_lower_medium': (None, None),
'levels_upper_firewall': (None, None),
'levels_lower_firewall': (None, None),
'levels_upper_dropped': (None, None),
'levels_lower_dropped': (None, None),
},
check_ruleset_name='checkpoint_asg_path_distribution',
)
No preview for this file type
......@@ -5,11 +5,12 @@
'download_url': 'http://thl-cmk.hopto.org/',
'files': {'agent_based': ['checkpoint_asg_path_distribution.py'],
'checkman': ['checkpoint_asg_path_distribution'],
'web': ['plugins/metrics/checkpoint_asg_path_distribution.py']},
'web': ['plugins/metrics/checkpoint_asg_path_distribution.py',
'plugins/wato/checkpoint_asg_path_distribution.py']},
'name': 'checkpoint_asg_path_distribution',
'num_files': 3,
'num_files': 4,
'title': 'Check Point Maestro SMO path distribution counters',
'version': '20201110.v0.1',
'version.min_required': '2.0.0b8',
'version': '20210910.v0.2',
'version.min_required': '2.0.0',
'version.packaged': '2021.07.14',
'version.usable_until': None}
\ No newline at end of file
......@@ -7,41 +7,50 @@ from cmk.gui.i18n import _
from cmk.gui.plugins.metrics import (
metric_info,
graph_info,
perfometer_info,
)
metric_info['checkpoint_asg_path_distribution_acceleration'] = {
'title': _('Accelerated'),
'unit': 'count',
'color': '26/a',
}
metric_info['checkpoint_asg_path_distribution_acceleration_medium'] = {
metric_info['checkpoint_asg_path_distribution_medium'] = {
'title': _('Medium'),
'unit': 'count',
'color': '32/a',
}
metric_info['checkpoint_asg_path_distribution_acceleration_firewall'] = {
metric_info['checkpoint_asg_path_distribution_firewall'] = {
'title': _('Firewall'),
'unit': 'count',
'color': '16/a',
'color': '23/a',
}
metric_info['checkpoint_asg_path_distribution_acceleration_dropped'] = {
metric_info['checkpoint_asg_path_distribution_dropped'] = {
'title': _('Dropped'),
'unit': 'count',
'color': '14/a',
}
graph_info['checkpoint_asg_path_distribution'] = {
'title': _('Check Point Path Distribution'),
'metrics': [
('checkpoint_asg_path_distribution_acceleration_dropped', 'stack'),
('checkpoint_asg_path_distribution_acceleration_firewall', 'stack'),
('checkpoint_asg_path_distribution_acceleration_medium', 'stack'),
('checkpoint_asg_path_distribution_dropped', 'stack'),
('checkpoint_asg_path_distribution_firewall', 'stack'),
('checkpoint_asg_path_distribution_medium', 'stack'),
('checkpoint_asg_path_distribution_acceleration', 'stack'),
],
}
\ No newline at end of file
}
perfometer_info.append({
'type': 'linear',
'segments': [
'checkpoint_asg_path_distribution_acceleration',
'checkpoint_asg_path_distribution_medium',
'checkpoint_asg_path_distribution_firewall',
'checkpoint_asg_path_distribution_dropped',
],
# 'total': 100.0,
})
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
#
from cmk.gui.i18n import _
from cmk.gui.valuespec import (
Dictionary,
TextAscii,
Tuple,
Integer,
Transform,
)
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithItem,
rulespec_registry,
RulespecGroupCheckParametersNetworking,
)
def _parameter_valuespec_checkpoint_asg_path_distribution():
return Transform(
Dictionary(elements=[
('levels_upper_acceleration',
Tuple(
title=_('Maximum Acceleration path counter'),
elements=[
Integer(title=_('Warning at'), minvalue=0,),
Integer(title=_('Critical at'), minvalue=0,),
])),
('levels_lower_acceleration',
Tuple(
title=_('Minimum Acceleration path counter'),
elements=[
Integer(title=_('Warning blow'), minvalue=0, ),
Integer(title=_('Critical below'), minvalue=0,),
])),
('levels_upper_medium',
Tuple(
title=_('Maximum Medium path counter'),
elements=[
Integer(title=_('Warning at'), minvalue=0, ),
Integer(title=_('Critical at'), minvalue=0, ),
])),
('levels_lower_medium',
Tuple(
title=_('Minimum Medium path counter'),
elements=[
Integer(title=_('Warning blow'), minvalue=0, ),
Integer(title=_('Critical below'), minvalue=0, ),
])),
('levels_upper_firewall',
Tuple(
title=_('Maximum Firewall path counter'),
elements=[
Integer(title=_('Warning at'), minvalue=0, ),
Integer(title=_('Critical at'), minvalue=0, ),
])),
('levels_lower_firewall',
Tuple(
title=_('Minimum Firewall path counter'),
elements=[
Integer(title=_('Warning blow'), minvalue=0, ),
Integer(title=_('Critical below'), minvalue=0, ),
])),
('levels_upper_dropped',
Tuple(
title=_('Maximum Dropped counter'),
elements=[
Integer(title=_('Warning at'), minvalue=0, ),
Integer(title=_('Critical at'), minvalue=0, ),
])),
('levels_lower_dropped',
Tuple(
title=_('Minimum Dropped counter'),
elements=[
Integer(title=_('Warning blow'), minvalue=0, ),
Integer(title=_('Critical below'), minvalue=0, ),
])),
]))
rulespec_registry.register(
CheckParameterRulespecWithItem(
check_group_name='checkpoint_asg_path_distribution',
group=RulespecGroupCheckParametersNetworking,
match_type='dict',
parameter_valuespec=_parameter_valuespec_checkpoint_asg_path_distribution,
title=lambda: _('Check Point ASG path distribution'),
item_spec=lambda: TextAscii(title=_('Counter name'), ),
))
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