Monitor MS Exchange Queues broken?

Hello Community,

we are trying to monitor the queues on our Exchange 2016 on Windows 2016, and a new Exchange 2019 on Windows 2025. On both servers, we have activated the msx_queues - Counter in check_mk.user.yml like this:

    counters:
        #- 638: tcp_conn
        #- Terminal Services: ts_sessions
        - MSExchangeTransport Queues: msx_queues

The agent-output seems ok, looks like this on both servers:

<<<winperf_msx_queues>>>
1750936980.03 17962 10000000
6 instances: total_excluding_priority_none none_priority low_priority normal_priority high_priority _total
2 0 0 0 0 0 0 rawcount
4 0 0 0 0 0 0 rawcount
6 0 0 0 0 0 0 rawcount
8 0 0 0 0 0 0 rawcount
10 0 0 0 0 0 0 rawcount
12 0 0 0 0 0 0 rawcount
.... many more lines in output

But on both servers, the queue-service within check_mk shows “crashed”

So, our question is: Is monitoring of MS Exchange Queues broken in 2.4?

Or, perhaps better, can someone hint us in the right direction, what we have configured wrong?

Best regards from Germany
KVAW

CMK version:
Raw Edition 2.4.0p2
OS version:
Debian 12

Error message:
check failed - please submit a crash report!
Exception: KeyError (‘offset’)

Output of “cmk --debug -vvn hostname”: (If it is a problem with checks or plugins)

cmk --debug -vvn HOSTNAME
value store: loading from disk
Checkmk version 2.4.0p2
+ FETCHING DATA
  Source: SourceInfo(hostname='HOSTNAME', ipaddress='IPv4ADDR', ident='agent', fetcher_type=<FetcherType.TCP: 8>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7f98928511c0]
Read from cache: AgentFileCache(path_template=/omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME, max_age=MaxAge(checking=0, discovery=450.0, inventory=450.0), simulation=False, use_only_cache=False, file_cache_mode=6)
Not using cache (Too old. Age is 281 sec, allowed is 0 sec)
Connecting via TCP to IPv4ADDR:6556 (5.0s timeout)
Detected transport protocol: TransportProtocol.PLAIN
Reading data from agent
Closing TCP connection to IPv4ADDR:6556
Write data to cache file /omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME
Trying to acquire lock on /omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME
Got lock on /omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME
Releasing lock on /omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME
Released lock on /omd/sites/MONITORINGSITENAME/tmp/check_mk/cache/HOSTNAME
[cpu_tracking] Stop [7f98928511c0 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=7.120000001043081))]
  Source: SourceInfo(hostname='HOSTNAME', ipaddress='IPv4ADDR', ident='piggyback', fetcher_type=<FetcherType.PIGGYBACK: 4>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7f9892da6780]
Read from cache: NoCache(path_template=/dev/null, max_age=MaxAge(checking=0.0, discovery=0.0, inventory=0.0), simulation=False, use_only_cache=False, file_cache_mode=1)
0 piggyback files for 'HOSTNAME'.
0 piggyback files for 'IPv4ADDR'.
Get piggybacked data
[cpu_tracking] Stop [7f9892da6780 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.0))]
[cpu_tracking] Start [7f9892da6780]
+ PARSE FETCHER RESULTS
<<<check_mk>>> / Transition NOOPParser -> HostSectionParser
<<<cmk_agent_ctl_status:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<wmi_cpuload:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<uptime>>> / Transition HostSectionParser -> HostSectionParser
<<<mem>>> / Transition HostSectionParser -> HostSectionParser
<<<df:sep(9)>>> / Transition HostSectionParser -> HostSectionParser
<<<fileinfo:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<logwatch>>> / Transition HostSectionParser -> HostSectionParser
<<<services>>> / Transition HostSectionParser -> HostSectionParser
<<<checkmk_agent_plugins_win:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<winperf_phydisk>>> / Transition HostSectionParser -> HostSectionParser
<<<winperf_if>>> / Transition HostSectionParser -> HostSectionParser
<<<winperf_processor>>> / Transition HostSectionParser -> HostSectionParser
<<<winperf_msx_queues>>> / Transition HostSectionParser -> HostSectionParser
<<<ps:sep(9)>>> / Transition HostSectionParser -> HostSectionParser
<<<wmi_webservices:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<dotnet_clrmemory:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_activesync:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_availability:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_owa:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_autodiscovery:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_isclienttype:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_isstore:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_rpcclientaccess:sep(124)>>> / Transition HostSectionParser -> HostSectionParser
Transition HostSectionParser -> NOOPParser
<<<msexch_dag:sep(58)>>> / Transition NOOPParser -> HostSectionParser
<<<msexch_replhealth:sep(58)>>> / Transition HostSectionParser -> HostSectionParser
<<<msexch_database:sep(59)>>> / Transition HostSectionParser -> HostSectionParser
Transition HostSectionParser -> NOOPParser
<<<systemtime>>> / Transition NOOPParser -> HostSectionParser
  HostKey(hostname='HOSTNAME', source_type=<SourceType.HOST: 1>)  -> Add sections: ['check_mk', 'checkmk_agent_plugins_win', 'cmk_agent_ctl_status', 'df', 'dotnet_clrmemory', 'fileinfo', 'logwatch', 'mem', 'msexch_activesync', 'msexch_autodiscovery', 'msexch_availability', 'msexch_dag', 'msexch_database', 'msexch_isclienttype', 'msexch_isstore', 'msexch_owa', 'msexch_replhealth', 'msexch_rpcclientaccess', 'ps', 'services', 'systemtime', 'uptime', 'winperf_if', 'winperf_msx_queues', 'winperf_phydisk', 'winperf_processor', 'wmi_cpuload', 'wmi_webservices']
  HostKey(hostname='HOSTNAME', source_type=<SourceType.HOST: 1>)  -> Add sections: []
Received no piggyback data
[cpu_tracking] Stop [7f9892da6780 - Snapshot(process=posix.times_result(user=0.040000000000000036, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.05000000074505806))]
Trying to acquire lock on /omd/sites/MONITORINGSITENAME/var/check_mk/crashes/base/d2f72d96-5287-11f0-8b13-005056a34f46/crash.info
Got lock on /omd/sites/MONITORINGSITENAME/var/check_mk/crashes/base/d2f72d96-5287-11f0-8b13-005056a34f46/crash.info
Releasing lock on /omd/sites/MONITORINGSITENAME/var/check_mk/crashes/base/d2f72d96-5287-11f0-8b13-005056a34f46/crash.info
Released lock on /omd/sites/MONITORINGSITENAME/var/check_mk/crashes/base/d2f72d96-5287-11f0-8b13-005056a34f46/crash.info
Traceback (most recent call last):
  File "/omd/sites/MONITORINGSITENAME/bin/cmk", line 157, in <module>
    exit_status = modes.call("--check", None, opts, args, trace_context)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/modes/__init__.py", line 91, in call
    return handler(*handler_args)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/modes/check_mk.py", line 2354, in mode_check
    with (
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/errorhandling/_handler.py", line 66, in __exit__
    *_handle_failure(
     ^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/errorhandling/_handler.py", line 103, in _handle_failure
    raise exc
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/modes/check_mk.py", line 2373, in mode_check
    checks_result = execute_checkmk_checks(
                    ^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/checkengine/checking/_checking.py", line 84, in execute_checkmk_checks
    service_results = list(
                      ^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/checkengine/checking/_checking.py", line 219, in check_host_services
    yield plugin.function(host_name, service, providers=providers)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/checkers.py", line 566, in check_function
    return get_aggregated_result(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/checkers.py", line 912, in get_aggregated_result
    check_result = check_function(**item_kw, **params_kw, **section_kws)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/checkers.py", line 685, in __check_function
    return _aggregate_results(consume_check_results(check_function(*args, **kw)))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/checkers.py", line 757, in consume_check_results
    for subr in subresults:
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/base/api/agent_based/register/check_plugins.py", line 96, in filtered_generator
    for element in generator(*args, **kwargs):
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/plugins/collection/agent_based/winperf_msx_queues.py", line 76, in check_winperf_msx_queues
    length = section.get(params["offset"])
                         ~~~~~~^^^^^^^^^^
  File "/omd/sites/MONITORINGSITENAME/lib/python3/cmk/checkengine/parameters.py", line 34, in __getitem__
    return self._data[key]
           ~~~~~~~~~~^^^^^
KeyError: 'offset'

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.