Fehler bei Perfometer?

Hallo,

habe einen Check geschrieben welcher eine Metrik erzeugt. Für diese wird auch ein Graph angezeigt.

Nun wollte ich noch einen Perfometer hinzufügen.
Dazu habe ich wie in der Doku beschrieben die Datei web/plugins/perfometer/my_perfometer.py mit folgendem Inhalt erstellt:

from cmk.gui.plugins.metrics import perfometer_info

perfometer_info.append({
    "type": "linear",
    "segments": ["my_signal_percentage"],
    "total": 100.0,
})

Nun sehe ich in der GUI aber nur folgenden Fehler bei allen (auch von anderen Checks) Perfometer:

Die Metrik existiert:
image

In der web.log gibt es folgenden Fehler:

2021-03-08 08:07:10,949 [40] [cmk.web 157912] http://checkmk/test_v2b8/check_mk/view.py/test_v2b8/check_mk/view.py?host=test&site=test_v2b8&view_name=host error rendering performeter
Traceback (most recent call last):
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/plugins/views/perfometer.py", line 229, in render
    title, h = Perfometer(row).render()
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/plugins/views/perfometer.py", line 67, in render
    title, h = self._render_metrics_perfometer()
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/plugins/views/perfometer.py", line 80, in _render_metrics_perfometer
    perfometer_definition = self._get_perfometer_definition(self._translated_metrics)
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/plugins/views/perfometer.py", line 173, in _get_perfometer_definition
    perfometer_definitions = metrics.Perfometers().get_matching_perfometers(translated_metrics)
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/metrics.py", line 273, in get_matching_perfometers
    if self._perfometer_possible(perfometer, translated_metrics):
  File "/omd/sites/test_v2b8/lib/python3/cmk/gui/metrics.py", line 282, in _perfometer_possible
    if self._skip_perfometer_by_trivial_metrics(perfometer["_required_names"],
KeyError: '_required_names'

Checkmk-Version: 2.0.0b8 (CEE)

Hallo Christoph

Bei mir hat das bisher immer gut funktioniert. Allerdings hab ich die immer gleich in das metrics plugin unter web/plugins/metrics/my_perfometer.py gepackt. In der Doku steht zwar web/plugins/perfometer/ weiter unten dann aber plugins/metrics für Beispiele. Weiss aber nicht ob das einen unterschied macht.

Gruss Marius

web/plugins/metrics ist “richtiger” würde ich sagen. Früher was das mal im perfometer Ordner :slight_smile:

Hallo Marius,

danke, wenn ich den Perfometer in die gleiche Datei wie die Metric packe funktionierts.

Bleibt die Frage ob das ein Fehler in der Doku oder ein Fehler in der 2.0er-Version ist.

Hallo Christoph

Ich denke es ist ein fehler in der Doku tippen. Aber so oder so denk ich einfach and feedback@checkmk.com melden.

Gruss Marius