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

update project

parent 06bad375
No related branches found
No related tags found
No related merge requests found
...@@ -74,6 +74,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import ( ...@@ -74,6 +74,7 @@ from cmk.base.plugins.agent_based.agent_based_api.v1.type_defs import (
@dataclass @dataclass
class CheckpointIaDc: class CheckpointIaDc:
index: int
status_code: int status_code: int
status_str: str status_str: str
events: int events: int
...@@ -92,7 +93,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str, ...@@ -92,7 +93,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str,
domains = {} domains = {}
for entry in string_table: for entry in string_table:
try: try:
status, domain, ipaddr, events = entry index, status, domain, ipaddr, events = entry
except ValueError: except ValueError:
return return
...@@ -102,6 +103,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str, ...@@ -102,6 +103,7 @@ def parse_checkpoint_ia_adquery(string_table: StringTable) -> Optional[Dict[str,
domains[domain].update({ domains[domain].update({
ipaddr: CheckpointIaDc( ipaddr: CheckpointIaDc(
index=int(index),
status_code=int(status), status_code=int(status),
status_str=_dcstatus.get(status, f'unknown: {status}'), status_str=_dcstatus.get(status, f'unknown: {status}'),
events=int(events) events=int(events)
...@@ -136,8 +138,8 @@ def check_checkpoint_ia_adquery(item, params, section: Dict[str, Dict[str, Check ...@@ -136,8 +138,8 @@ def check_checkpoint_ia_adquery(item, params, section: Dict[str, Dict[str, Check
value = 0 value = 0
yield from check_levels( yield from check_levels(
value=value, value=value,
label=f'DC {key} Events', label=f'DC{dc.index:02d} ({key}) Events',
metric_name=f'checkpoint_ia_adquery_{dc_ip_address}', metric_name=f'checkpoint_ia_adquery_dc_{dc.index}',
render_func=lambda v: f'{v:.2f}/s', render_func=lambda v: f'{v:.2f}/s',
notice_only=True notice_only=True
) )
...@@ -167,6 +169,7 @@ register.snmp_section( ...@@ -167,6 +169,7 @@ register.snmp_section(
fetch=SNMPTree( fetch=SNMPTree(
base='.1.3.6.1.4.1.2620.1.38.25.1', # CHECKPOINT-MIB::identityAwarenessADQueryStatusEntry base='.1.3.6.1.4.1.2620.1.38.25.1', # CHECKPOINT-MIB::identityAwarenessADQueryStatusEntry
oids=[ oids=[
'1', # identityAwarenessADQueryStatusTableIndex
'2', # identityAwarenessADQueryStatusCurrStatus '2', # identityAwarenessADQueryStatusCurrStatus
'3', # identityAwarenessADQueryStatusDomainName '3', # identityAwarenessADQueryStatusDomainName
'4', # identityAwarenessADQueryStatusDomainIP '4', # identityAwarenessADQueryStatusDomainIP
...@@ -184,7 +187,7 @@ register.snmp_section( ...@@ -184,7 +187,7 @@ register.snmp_section(
register.check_plugin( register.check_plugin(
name='checkpoint_ia_adquery', name='checkpoint_ia_adquery',
service_name='Identity Awareness AD Domain %s', service_name='IA AD Domain %s',
discovery_function=discovery_checkpoint_ia_adquery, discovery_function=discovery_checkpoint_ia_adquery,
check_function=check_checkpoint_ia_adquery, check_function=check_checkpoint_ia_adquery,
check_default_parameters={ check_default_parameters={
......
...@@ -224,7 +224,7 @@ register.snmp_section( ...@@ -224,7 +224,7 @@ register.snmp_section(
register.check_plugin( register.check_plugin(
name='checkpoint_identity_awareness', name='checkpoint_identity_awareness',
service_name='Identity Awareness status', service_name='IA summary',
discovery_function=discovery_checkpoint_identity_awareness, discovery_function=discovery_checkpoint_identity_awareness,
check_function=check_checkpoint_identity_awareness, check_function=check_checkpoint_identity_awareness,
check_default_parameters={ check_default_parameters={
......
No preview for this file type
...@@ -17,93 +17,42 @@ from cmk.gui.plugins.metrics import ( ...@@ -17,93 +17,42 @@ from cmk.gui.plugins.metrics import (
metric_info, metric_info,
graph_info, graph_info,
perfometer_info, perfometer_info,
indexed_color,
) )
metric_info['checkpoint_ia_adquery_summary'] = { _MAX_DCS = 48 # max colors ;-)
'title': _('Events summary'),
'unit': '1/s',
'color': '11/b',
}
# create one metric per dc
metric_info['checkpoint_ia_adquery_dc_10_140_110_1'] = {
'title': _('SDACDOM401 (10.140.110.1)'),
'unit': '1/s',
'color': '12/a',
}
metric_info['checkpoint_ia_adquery_dc_10_140_110_2'] = {
'title': _('SDACDOM402 (10.140.110.2)'),
'unit': '1/s',
'color': '22/a',
}
metric_info['checkpoint_ia_adquery_dc_10_215_2_252'] = { metric_info['checkpoint_ia_adquery_events_sum'] = {
'title': _('SDACDOM02 (10.215.2.252)'), 'title': _('Events summary'),
'unit': '1/s',
'color': '22/a',
}
metric_info['checkpoint_ia_adquery_dc_10_215_2_253'] = {
'title': _('SDACDOM01 (10.215.2.253)'),
'unit': '1/s',
'color': '32/a',
}
metric_info['checkpoint_ia_adquery_dc_10_225_110_240'] = {
'title': _('SDACDNS01 (10.225.110.240)'),
'unit': '1/s', 'unit': '1/s',
'color': '42/a', 'color': '26/a',
} }
metric_info['checkpoint_ia_adquery_dc_10_250_1_112'] = { for i in range(1, _MAX_DCS):
'title': _('S250AD01 (10.250.1.112)'), # generate different colors for each DC.
'unit': '1/s', # unfortunately there are only 24 colors on our
'color': '33/a', # color wheel, times two for two shades each, we
} # can only draw 48 differently colored graphs
metric_info['checkpoint_ia_adquery_dc_10_250_1_113'] = { metric_info[f'checkpoint_ia_adquery_dc_{i}'] = {
'title': _('S250AD02 (10.250.1.113)'), 'title': _(f'DC{i:02d} Events'),
'unit': '1/s', 'unit': '1/s',
'color': '43/a', 'color': indexed_color(i, _MAX_DCS),
} }
#
#
#
dc_metric = ([(f'checkpoint_ia_adquery_dc_{num:d}', 'stack') for num in range(_MAX_DCS, 0, -1)])
dc_metric.insert(0, ('checkpoint_ia_adquery_events_sum', 'line'))
graph_info['checkpoint_ia_adquery_dc'] = { graph_info['checkpoint_ia_adquery_dc'] = {
'title': _('Check Point Identity Awareness AD queries'), 'title': _('Check Point Identity Awareness AD queries'),
'metrics': [ 'metrics': dc_metric,
('checkpoint_ia_adquery_summary', 'line'), 'range': (0, None),
('checkpoint_ia_adquery_dc_10_250_1_112', 'stack'), 'optional_metrics': [f'checkpoint_ia_adquery_dc_{num:d}' for num in range(0, _MAX_DCS + 1)]
('checkpoint_ia_adquery_dc_10_250_1_113', 'stack'),
],
'optional_metrics': [
'checkpoint_ia_adquery_dc_10_250_1_112',
'checkpoint_ia_adquery_dc_10_250_1_113',
],
} }
# graph_info.append({
# 'title': _('Check Point Identity Awareness AD queries'),
# 'metrics': [
# ('checkpoint_ia_adquery_summary', 'line'),
# ('checkpoint_ia_adquery_dc_10_140_110_1', 'stack'),
# ('checkpoint_ia_adquery_dc_10_140_110_2', 'stack'),
# ],
# })
# graph_info.append({
# 'title': _('Check Point Identity Awareness AD queries'),
# 'metrics': [
# ('checkpoint_ia_adquery_summary', 'line'),
# ('checkpoint_ia_adquery_dc_10_215_2_252', 'stack'),
# ('checkpoint_ia_adquery_dc_10_215_2_253', 'stack'),
# ('checkpoint_ia_adquery_dc_10_225_110_240', 'stack'),
# ],
# })
perfometer_info.append({ perfometer_info.append({
'type': 'linear', 'type': 'linear',
'segments': [ 'segments': [
'checkpoint_ia_adquery_summary', 'checkpoint_ia_adquery_events_sum',
], ],
'total': 100, 'total': 100,
}) })
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