Nach Update auf cmk v2.1 keine Temperaturanzeige bei HWg-STE

CMK version: Checkmk Raw Edition 2.1.0p11
OS version: Ubuntu 20.04.02 LTS

Error message: [snmp] Success, Missing monitoring data for plugins: hwg_tempWARN

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

Traceback (most recent call last):
  File "/omd/sites/asv/lib/python3/cmk/base/config.py", line 2121, in _extract_agent_and_snmp_sections
    create_snmp_section_plugin_from_legacy(
  File "/omd/sites/asv/lib/python3/cmk/base/api/agent_based/register/section_plugins_legacy/__init__.py", line 246, in create_snmp_section_plugin_from_legacy
    detect_spec = create_detect_spec(
  File "/omd/sites/asv/lib/python3/cmk/base/api/agent_based/register/section_plugins_legacy/convert_scan_functions.py", line 416, in create_detect_spec
    _compute_detect_spec(
  File "/omd/sites/asv/lib/python3/cmk/base/api/agent_based/register/section_plugins_legacy/convert_scan_functions.py", line 384, in _compute_detect_spec
    scan_func_ast = _get_scan_function_ast(section_name, scan_function, fallback_files)
  File "/omd/sites/asv/lib/python3/cmk/base/api/agent_based/register/section_plugins_legacy/convert_scan_functions.py", line 111, in _get_scan_function_ast
    assert source != "", "Files: %r" % ((read_files, src_file_name),)
AssertionError: Files: ([], None)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/omd/sites/asv/bin/cmk", line 79, in <module>
    errors = config.load_all_agent_based_plugins(check_api.get_check_api_context)
  File "/omd/sites/asv/lib/python3/cmk/base/config.py", line 1529, in load_all_agent_based_plugins
    errors.extend(load_checks(get_check_api_context, filelist))
  File "/omd/sites/asv/lib/python3/cmk/base/config.py", line 1681, in load_checks
    return _extract_agent_and_snmp_sections(
  File "/omd/sites/asv/lib/python3/cmk/base/config.py", line 2142, in _extract_agent_and_snmp_sections
    raise MKGeneralException(exc) from exc
cmk.utils.exceptions.MKGeneralException: Files: ([], None)

Hallo liebe Community,

ich habe gestern ein cmk Update von CRE 2.0.0p19 auf Raw Edition 2.1.0p11 durchgeführt. Seitdem zeigen mir unsere Temperatursensoren (HWg-STE: Ethernet thermometer) keine Temperaturwerte mehr an.
Laut offizieller Seite ist dieses Plugin “offizieller Teil von Check_MK”.
Ich habe dann erstmal die Firmware der Sensoren von 2.0.9 auf 2.2.2 geupdatet, doch das hat nichts geändert.

Dann habe ich mir auf dem Server die Ausgabe des Sensors angesehen mit cmk -D Sensor. Das Ergebnis:

Type of agent:          
  SNMP (Community: 'public', Bulk walk: no, Port: 161, Backend: Classic)
  Process piggyback data from /omd/sites/asv/tmp/check_mk/piggyback/Sensor
Services:
  checktype | item |     params                                                                | description   | groups
  -----------------------------------------------------------------------------------------------------------------------
  snmp_info | None | Timespecific parameters at 2022-09-08 09:08:13: None                      | SNMP Info     |         
  hwg_temp  | 1    | Timespecific parameters at 2022-09-08 09:08:13: {'levels': (30.0, 35.0)}  | Temperature 1 |      
  uptime    | None | Timespecific parameters at 2022-09-08 09:08:13: {}                        | Uptime        |
...
Failed to auto-migrate legacy plugin to section: hwg_temp
Please refer to Werk 10601 for more information.
Failed to auto-migrate legacy plugin to section: hwg_humidity
Please refer to Werk 10601 for more information.
...

Und genau dort stehe ich nun. Ich habe mir den Werk #10601: Auto migration of check plugins to new section definitions angesehen und komme nun nicht weiter. Außerdem steht dort bei Checkmk Version 2.0.0i1 - also eher die Version wo ich herkomme.

Kann mir jemand sagen, wo ich Informationen zu weiteren Schritten finde? Wie ich diesem Werk entnommen habe, könnte ein manuelles Eingreifen notwendig sein.

Kannst bitte mal in das Verzeichnis “~/local/share/check_mk/checks/” schauen ob dort Dateien mit dem Namen “hwg_temp” und “hwg_humidity” liegen?
Falls ja wurden diese Originalen Checks dort hin kopiert und bearbeitet.
Ich würde die Dateien dort nicht gleich löschen sondern an einen anderen Ort verschieben zum Beispiel “~/local/” falls man die früher gemachten Änderungen nun in den aktuellen Check Versionen dann nachvollziehen will.

Ich habe mir eben beide checks Verzeichnisse angesehen - die Site mit der alten cmk Version und jetzt die mit der neuen. Dieses Verzeichnis ist bei beiden Sites leer.

Ich habe hier einen Beitrag im Forum gefunden, der recht ähnlich klingt.

Ich werde aber nicht zu 100% schlau daraus. In diesem Verzeichnis liegen bei mir eine ganze Menge Dateien, u.a. auch die hwg_*. Was ist mit "(Re-)moving hier gemeint? Wenn man die löscht, dann müssen die sicherlich neu kompiliert werden oder?

Das Verzeichnis “~/var/check_mk/precompiled_checks/” enthält noch einmal zwei Unterverzeichnisse.
Dabei ist auch eines welches die von mir schon benannten selbst angepassten Check Dateien beinhalten kann. Keine Angst wenn man beide Verzeichnisse leer macht dann werden die Dateien automatisch neu erzeugt.
In die selbe Richtung gehen noch Dateien welche im Ordner “~/tmp/check_mk/check_includes/” sich befinden. Im Endeffekt sind es drei Verzeichnisse welche bei dem Problem involviert sein können.

~/local/share/check_mk/checks/
~/tmp/check_mk/check_includes/
~/var/check_mk/precompiled_checks/

Yeah, vielen Dank!!! Das war die Lösung. Um noch einen anderen Post hier zu verknüfen. Hier [Solved] Chekmk update to 2.1.0 -- Werk #10601 -- cmk -R wurde auch ganz kurz und knackig ein sehr ähnlicher Fall gelöst.

Im Endeffekt habe ich nur das “~/var/check_mk/precompiled_checks/” Verzeichnis geleert und dann hat cmk -R schon nicht mehr gemeckert. Ein Blick auf die Checkergebnisse bestätigte den positiven Abschluss der Operation.

Es können trotzdem noch die kaputten Dateien in “~/local/share/check_mk/checks/” rumliegen. Dies sollte auf jeden Fall geprüft werden.

Das war doch dein erster Hinweis. Das hab ich natürlich gecheckt :wink: