Service-Discovery nicht mehr funktional nach Update auf Checkmk Raw Edition 2.4.0p16

Hallo zusammen,

ich betreibe CMK in einem Docker-Container. Seit dem letzte Update klappt die Service-Discovery nicht mehr:

Error running automation call service-discovery-preview: (‘Connection aborted.’, ConnectionRefusedError(111, ‘Connection refused’))

Bin ich alleine mit dem Problem?

Gruß

Hab hier mehr Details gefunden:

Failed to execute the test ACTestDeprecatedRuleSets: Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 493, in _make_request
    conn.request(
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connection.py", line 494, in request
    self.endheaders()
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1333, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1093, in _send_output
    self.send(msg)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1037, in send
    self.connect()
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 84, in connect
    self.sock.connect(str(paths.omd_root.joinpath(AUTOMATION_HELPER_SOCKET)))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 493, in _make_request
    conn.request(
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connection.py", line 494, in request
    self.endheaders()
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1333, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1093, in _send_output
    self.send(msg)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1037, in send
    self.connect()
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 84, in connect
    self.sock.connect(str(paths.omd_root.joinpath(AUTOMATION_HELPER_SOCKET)))
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automations.py", line 130, in check_mk_local_automation_serialized
    result = executor.execute(command, args, stdin_data, auto_logger, timeout)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 50, in execute
    response = session.post(AUTOMATION_HELPER_ENDPOINT, json=payload)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 637, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 333, in instrumented_send
    raise exception.with_traceback(exception.__traceback__)
  File "/omd/sites/cmk/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 255, in instrumented_send
    result = wrapped_send(
             ^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/adapters.py", line 682, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/analyze_configuration.py", line 174, in run
    for result in self.execute():
                  ^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/wato/_ac_tests.py", line 1374, in execute
    for r in find_unknown_check_parameter_rule_sets().result
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/check_mk_automations.py", line 571, in find_unknown_check_parameter_rule_sets
    _automation_serialized(
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/check_mk_automations.py", line 61, in _automation_serialized
    cmdline, serialized_result = check_mk_local_automation_serialized(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automations.py", line 137, in check_mk_local_automation_serialized
    raise MKAutomationException(msg)
cmk.gui.watolib.automations.MKAutomationException: Error running automation call find-unknown-check-parameter-rule-sets: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

This does not work in Checkmk 2.4.0.

We highly recommend solving this issue already in your installation.

Affected sites: cmk

Details:

Failed to execute the test ACTestDeprecatedRuleSets: Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 493, in _make_request
    conn.request(
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connection.py", line 494, in request
    self.endheaders()
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1333, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1093, in _send_output
    self.send(msg)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1037, in send
    self.connect()
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 84, in connect
    self.sock.connect(str(paths.omd_root.joinpath(AUTOMATION_HELPER_SOCKET)))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 841, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connectionpool.py", line 493, in _make_request
    conn.request(
  File "/omd/sites/cmk/lib/python3.12/site-packages/urllib3/connection.py", line 494, in request
    self.endheaders()
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1333, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1093, in _send_output
    self.send(msg)
  File "/omd/sites/cmk/lib/python3.12/http/client.py", line 1037, in send
    self.connect()
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 84, in connect
    self.sock.connect(str(paths.omd_root.joinpath(AUTOMATION_HELPER_SOCKET)))
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automations.py", line 130, in check_mk_local_automation_serialized
    result = executor.execute(command, args, stdin_data, auto_logger, timeout)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automation_helper.py", line 50, in execute
    response = session.post(AUTOMATION_HELPER_ENDPOINT, json=payload)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 637, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 333, in instrumented_send
    raise exception.with_traceback(exception.__traceback__)
  File "/omd/sites/cmk/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py", line 255, in instrumented_send
    result = wrapped_send(
             ^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.12/site-packages/requests/adapters.py", line 682, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/analyze_configuration.py", line 174, in run
    for result in self.execute():
                  ^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/wato/_ac_tests.py", line 1374, in execute
    for r in find_unknown_check_parameter_rule_sets().result
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/check_mk_automations.py", line 571, in find_unknown_check_parameter_rule_sets
    _automation_serialized(
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/check_mk_automations.py", line 61, in _automation_serialized
    cmdline, serialized_result = check_mk_local_automation_serialized(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/automations.py", line 137, in check_mk_local_automation_serialized
    raise MKAutomationException(msg)
cmk.gui.watolib.automations.MKAutomationException: Error running automation call find-unknown-check-parameter-rule-sets: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

Nach den Fehlern, würde ich erstmal schauen ob im Container alle Dienste der Site richtig laufen.

–> Prio 1 Automation Helper

Das deutet ganz darauf hin, dass der Automation Helper nicht läuft.

Komisch. CMK läuft bei mir im Docker und ich hatte den kpl. neu gestartet. Ich hätte erwartet, dass da dann alles sauber frisch gestartet wird.

Ich habe mich in den Container eingeloggt und folgende Abfrage gemacht:

root@vvm002 ~ # docker exec -it checkmk /bin/bash
root@checkmk:/# su - cmk
OMD[cmk]:~$ omd status
agent-receiver: running
mkeventd: running
rrdcached: running
redis: running
npcd: running
automation-helper: running
ui-job-scheduler: running
nagios: running
apache: running
crontab: running

Lt. Status war er running, aber die Discovery ging immer noch nicht. Erst nach einem Neustart war die Service-Discovery wieder funktional:

OMD[cmk]:~$ omd restart
Preparing tmp directory /omd/sites/cmk/tmp…Stopping crontab…OK
Stopping apache…killing 1044…OK
Stopping nagios…OK
Stopping ui-job-scheduler…killing 976…OK
Stopping automation-helper…killing 1553442…OK
Stopping npcd…OK
Stopping redis…killing 917…OK
Stopping rrdcached…not running.
Stopping mkeventd…killing 905…OK
Stopping agent-receiver…killing 890…OK
Starting agent-receiver…OK
Starting mkeventd…OK
Starting rrdcached…OK
Starting redis…OK
Starting npcd…OK
Starting automation-helper…OK
Starting ui-job-scheduler…OK
Starting nagios…OK
Starting apache…OK
Starting crontab…OK
OMD[cmk]:~$ omd status
agent-receiver: running
mkeventd: running
rrdcached: running
redis: running
npcd: running
automation-helper: running
ui-job-scheduler: running
nagios: running
apache: running
crontab: running

Overall state: running

Crazy. Trotzdem danke für den Tipp!