|
1 | 1 | // -*- coding: utf-8 -*-
|
2 | 2 | // IGNORE % 1000er 1024er check_mk →
|
| 3 | +// NONASCII |
3 | 4 | include::global_attr.adoc[]
|
4 | 5 | = Agentenbasierte Check-Plugins entwickeln
|
5 | 6 | :title: Agentenbasierte Check-Plugins entwickeln
|
6 | 7 | :description: Bei Bedarf können Sie Ihre eigenen agentenbasierten {CMK}-Plugins mit Python entwickeln. Lesen Sie hier, wie Sie ein Plugin selbst erstellen und nutzen.
|
| 8 | +:experimental: |
7 | 9 |
|
8 | 10 | {related-start}
|
9 | 11 | xref:devel_intro#[Erweiterungen für {CMK} entwickeln]
|
@@ -50,7 +52,7 @@ In der {CMK}-Version {current-major} ist die Check-API V2 die aktuelle Version.
|
50 | 52 | Wir zeigen Ihnen in diesem Artikel, wie Sie die Check-API Version 2 für die Plugin-Programmierung nutzen können.
|
51 | 53 | Hinweise zum Umstieg auf die Check-API Version 2 finden Sie am Ende dieses Artikels im Kapitel xref:migration[Migration.]
|
52 | 54 |
|
53 |
| -Über die {CMK}-Benutzeroberfläche haben Sie jederzeit Zugriff auf die Dokumentation der Check-API: [.guihint]#Help > Developer resources > Plugin API references.# |
| 55 | +Über die {CMK}-Benutzeroberfläche haben Sie jederzeit Zugriff auf die Dokumentation der Check-API: [.guihint]#Help > Developer resources > Plugin API references#. |
54 | 56 | Wählen Sie im neuen Browserfenster in der linken Navigationsleiste [.guihint]#Agent based ("Check API") > Version 2# aus:
|
55 | 57 |
|
56 | 58 | [{image-border}]
|
@@ -302,7 +304,7 @@ Rufen Sie als `root` den Befehl `check_mk_agent` auf:
|
302 | 304 | Irgendwo in der sehr langen Ausgabe muss die neue Sektion erscheinen.
|
303 | 305 | Agentenplugins werden vom Agenten zum Schluss ausgegeben.
|
304 | 306 |
|
305 |
| -Durch Anhängen von `less` können Sie in der Ausgabe blättern (drücken Sie die Leertaste zum Blättern, `/` zum Suchen und `q` zum Beenden): |
| 307 | +Durch Anhängen von `less` können Sie in der Ausgabe blättern (drücken Sie die kbd:[Leertaste] zum Blättern, kbd:[/] zum Suchen und kbd:[Q] zum Beenden): |
306 | 308 |
|
307 | 309 | [{shell}]
|
308 | 310 | ----
|
@@ -699,7 +701,7 @@ Validating Nagios configuration...OK
|
699 | 701 | Restarting monitoring core...OK
|
700 | 702 | ----
|
701 | 703 |
|
702 |
| -Im Monitoring von {CMK} finden Sie nun beim Host `localhost` den neuen Service [.guihint]#Host group check_mk:# |
| 704 | +Im Monitoring von {CMK} finden Sie nun beim Host `localhost` den neuen Service [.guihint]#Host group check_mk#. |
703 | 705 |
|
704 | 706 | .Da die Host-Gruppe `check_mk` nicht leer ist, ist der Service {CRIT}
|
705 | 707 | image::devel_cpi_service_simple.png[alt="Der vom Check-Plugin erzeugte neue Service im Monitoring."]
|
@@ -980,7 +982,7 @@ Diese steht in der Spalte [.guihint]#Summary# -- wie im vorherigen Screenshot zu
|
980 | 982 | Die Idee ist, dass dieser Text eine Länge von 60 Zeichen nicht überschreitet.
|
981 | 983 | Das sorgt dann immer für eine übersichtliche Tabellendarstellung ohne störende Zeilenumbrüche.
|
982 | 984 |
|
983 |
| -Daneben gibt es noch das Feld [.guihint]#Details,# in dem alle Details zum Zustand des Services angezeigt werden, wobei alle Informationen des Summary auch in den Details enthalten sind. |
| 985 | +Daneben gibt es noch das Feld [.guihint]#Details#, in dem alle Details zum Zustand des Services angezeigt werden, wobei alle Informationen des Summary auch in den Details enthalten sind. |
984 | 986 | Nach Anklicken des Services wird die Service-Seite geöffnet, in der neben vielen anderen auch die beiden Felder [.guihint]#Summary# und [.guihint]#Details# zu sehen sind.
|
985 | 987 |
|
986 | 988 | Beim Aufruf von `yield Result(pass:[...])` können Sie bestimmen, welche Informationen so wichtig sind, dass sie im Summary angezeigt werden sollen, und bei welchen es genügt, dass diese in den Details erscheinen.
|
@@ -1076,7 +1078,7 @@ Auch das bisher einzig existierende Resultat bleibt (fast) unverändert:
|
1076 | 1078 | )
|
1077 | 1079 | ----
|
1078 | 1080 |
|
1079 |
| -Nur der Zugriff im Python-„F-String“ auf den Ausdruck, der den Wert liefert, ist nun einfacher als xref:#summary_details_yield[zuvor], da das `attr` bereits in den Variablendefinitionen steckt. |
| 1081 | +Nur der Zugriff im Python-„F-String“ auf den Ausdruck, der den Wert liefert, ist nun einfacher als xref:summary_details_yield[zuvor], da das `attr` bereits in den Variablendefinitionen steckt. |
1080 | 1082 |
|
1081 | 1083 | Nun zum eigentlichen Kern der Erweiterung, der Definition eines Resultats, das die folgende Aussage umsetzt:
|
1082 | 1084 | „Der Service der Host-Gruppe ist {WARN}, wenn 90{nbsp}% der Hosts {UP} sind, und {CRIT} bei 80{nbsp}% der Hosts.“
|
@@ -1302,7 +1304,7 @@ Dazu benötigen Sie einen xref:glossar#rule_set[Regelsatz.]
|
1302 | 1304 |
|
1303 | 1305 | Mit der Erstellung eines Regelsatzes _für_ ein Check-Plugin verlassen Sie die Check-Plugin-Entwicklung und wechseln Dateiverzeichnis, Datei und API.
|
1304 | 1306 | Seit {CMK} {v23} unterstützt Sie die *Rulesets-API* bei der Erstellung solcher Regelsätze für Check-Plugins.
|
1305 |
| -Die API-Dokumentation für Regelsätze finden Sie in Ihrer {CMK}-Instanz auf der gleichen Seite wie die der xref:check_api_doc[Check-API] unter [.guihint]#Rulesets > Version 1.# |
| 1307 | +Die API-Dokumentation für Regelsätze finden Sie in Ihrer {CMK}-Instanz auf der gleichen Seite wie die der xref:check_api_doc[Check-API] unter [.guihint]#Rulesets > Version 1#. |
1306 | 1308 |
|
1307 | 1309 |
|
1308 | 1310 | [#new_ruleset]
|
@@ -1415,7 +1417,7 @@ Um bei mehreren neuen Regelsätzen den Überblick zu behalten, empfiehlt es sich
|
1415 | 1417 | * `title` legt den Titel des Regelsatzes fest, so wie er auch in der {CMK}-GUI erscheint.
|
1416 | 1418 |
|
1417 | 1419 | * Das `topic` legt fest, wo im [.guihint]#Setup# der Regelsatz auftauchen soll.
|
1418 |
| -Mit dem im Beispiel gewählten Wert finden Sie den Regelsatz unter [.guihint]#Setup > Services > Service monitoring rules# im Kasten [.guihint]#Various,# wo er in aller Regel gut aufgehoben ist. |
| 1420 | +Mit dem im Beispiel gewählten Wert finden Sie den Regelsatz unter [.guihint]#Setup > Services > Service monitoring rules# im Kasten [.guihint]#Various#, wo er in aller Regel gut aufgehoben ist. |
1419 | 1421 |
|
1420 | 1422 | * Als `parameter_form` geben Sie den Namen der zuvor erstellten Funktion ein.
|
1421 | 1423 |
|
@@ -1576,14 +1578,14 @@ check_plugin_myhostgroups_advanced = CheckPlugin(
|
1576 | 1578 | ----
|
1577 | 1579 |
|
1578 | 1580 | Sie sollten Standardwerte immer auf diese Weise übergeben (und den Fall fehlender Parameter nicht im Check-Plugin abfangen), da diese Standardwerte auch in der [.guihint]#Setup#-Oberfläche angezeigt werden können.
|
1579 |
| -Dazu gibt es zum Beispiel bei der Service-Erkennung eines Hosts, auf der Seite [.guihint]#Services of host#, im Menü [.guihint]#Display# den Schalter [.guihint]#Show check parameters.# |
| 1581 | +Dazu gibt es zum Beispiel bei der Service-Erkennung eines Hosts, auf der Seite [.guihint]#Services of host#, im Menü [.guihint]#Display# den Schalter [.guihint]#Show check parameters#. |
1580 | 1582 |
|
1581 | 1583 | [TIP]
|
1582 | 1584 | ====
|
1583 | 1585 | Auf GitHub finden Sie sowohl die Datei mit dem
|
1584 | 1586 | link:https://github.com/Checkmk/checkmk-docs/blob/master/examples/devel_check_plugins/ruleset_myhostgroups.py[Regelsatz^]
|
1585 | 1587 | als auch das um den Regelsatz erweiterte
|
1586 |
| -link:https://github.com/Checkmk/checkmk-docs/blob/master/examples/devel_check_plugins/check_plugin_advanced_myhostgroups.py[Check-Plugin.^] |
| 1588 | +link:https://github.com/Checkmk/checkmk-docs/blob/master/examples/devel_check_plugins/check_plugin_advanced_myhostgroups.py[Check-Plugin^]. |
1587 | 1589 | ====
|
1588 | 1590 |
|
1589 | 1591 |
|
@@ -1631,7 +1633,7 @@ Allerdings gibt es dabei ein paar Einschränkungen:
|
1631 | 1633 | Um die Darstellung Ihrer Metriken in diesen Belangen zu vervollständigen, benötigen Sie _Metrikdefinitionen._
|
1632 | 1634 |
|
1633 | 1635 | So wie für xref:rule_set[Regelsätze] gibt es seit {CMK} {v23} mit der *Graphing-API* auch eine eigene API für Metriken, Graphen und Perf-O-Meter.
|
1634 |
| -Die Dokumentation der Graphing-API finden Sie in Ihrer {CMK}-Instanz auf der gleichen Seite wie die der xref:check_api_doc[Check-API] unter [.guihint]#Graphing > Version 1.# |
| 1636 | +Die Dokumentation der Graphing-API finden Sie in Ihrer {CMK}-Instanz auf der gleichen Seite wie die der xref:check_api_doc[Check-API] unter [.guihint]#Graphing > Version 1#. |
1635 | 1637 |
|
1636 | 1638 |
|
1637 | 1639 | [#new_metricdefinition]
|
@@ -1684,7 +1686,7 @@ Hier die Erklärung dazu:
|
1684 | 1686 |
|
1685 | 1687 | * Die verfügbaren Einheiten (`unit`) können Sie in der API-Dokumentation nachlesen, sie enden alle auf `Notation`, z. B. `DecimalNotation`, `EngineeringScientificNotation` oder `TimeNotation`.
|
1686 | 1688 |
|
1687 |
| -* Die in {CMK} verwendeten Farbnamen für die Farbdefinition `color` finden Sie auf link:https://github.com/Checkmk/checkmk/blob/master/packages/cmk-plugin-apis/cmk/graphing/v1/metrics.py[GitHub.^] |
| 1689 | +* Die in {CMK} verwendeten Farbnamen für die Farbdefinition `color` finden Sie auf link:https://github.com/Checkmk/checkmk/blob/master/packages/cmk-plugin-apis/cmk/graphing/v1/metrics.py[GitHub^]. |
1688 | 1690 |
|
1689 | 1691 | Diese Definition in der Graphing-Datei sorgt jetzt dafür, dass Titel, Einheit und Farbe der Metrik angepasst dargestellt werden.
|
1690 | 1692 |
|
@@ -2229,9 +2231,9 @@ Um Ihre Check-Plugins weiter nutzen zu können müssen Sie diese noch unter {v23
|
2229 | 2231 |
|
2230 | 2232 | Die folgenden Informationen helfen Ihnen bei der Migration von Check-Plugins der Check-API V1 auf die V2:
|
2231 | 2233 |
|
2232 |
| -* Die neue Verzeichnisstruktur und Namenskonvention zur Ablage der Dateien für alle Plugin-APIs finden Sie in der xref:check_api_doc[API-Dokumentation] auf der Hauptseite [.guihint]#Checkmk's Plug-in APIs.# |
| 2234 | +* Die neue Verzeichnisstruktur und Namenskonvention zur Ablage der Dateien für alle Plugin-APIs finden Sie in der xref:check_api_doc[API-Dokumentation] auf der Hauptseite [.guihint]#Checkmk's Plug-in APIs#. |
2233 | 2235 |
|
2234 |
| -* Die Zusammenfassung der Änderungen in der Check-API V2 steht ebenfalls in der API-Dokumentation in [.guihint]#Checkmk's Plug-in APIs > Agent based ("Check API") > Version 2 > New in this version.# |
| 2236 | +* Die Zusammenfassung der Änderungen in der Check-API V2 steht ebenfalls in der API-Dokumentation in [.guihint]#Checkmk's Plug-in APIs > Agent based ("Check API") > Version 2 > New in this version#. |
2235 | 2237 | Dort finden Sie auch den Link zu einem GitHub-Commit, der das bestehende Check-Plugin `apt` zur Check-API V2 migriert.
|
2236 | 2238 |
|
2237 | 2239 | * Auf link:https://github.com/Checkmk/checkmk/tree/master/doc/treasures/migration_helpers/[GitHub^] finden Sie im `treasures`-Verzeichnis von {CMK} Skripte, die Ihnen bei der Migration auf die neuen APIs helfen.
|
|
0 commit comments