You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/common/de/devel_intro.asciidoc
+14-15Lines changed: 14 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,8 @@
1
1
// -*- coding: utf-8 -*-
2
2
// IGNORE
3
-
// SKIPCOMMITS 2025-07-23
3
+
// NONASCII
4
4
include::global_attr.adoc[]
5
5
= Erweiterungen für {CMK} entwickeln
6
-
:revdate: 2023-10-10
7
6
:title: Erweiterungen für {CMK} entwickeln
8
7
:description: Für unterschiedlich komplexe Anwendungsszenarien können Sie {CMK} um diverse Arten von Komponenten selbst erweitern, die hier vorgestellt werden.
9
8
@@ -39,14 +38,11 @@ endif::[]
39
38
Dennoch kommt es immer wieder vor, dass eine Hardware zu neu ist, eine Software zu exotisch oder eine firmeninterne Eigenentwicklung zu individuell, als dass schon jemand Bedarf für die Integration in {CMK} gesehen hätte.
40
39
Sind Sie an diesem Punkt angelangt, ist es an der Zeit, sich mit der Programmierung eigener Erweiterungen zu befassen.
41
40
42
-
Dieser Artikel zeigt eine Übersicht der
43
-
ifdef::saas[]
44
-
in {CE} (SaaS)
45
-
endif::[]
46
-
zur Verfügung stehenden Möglichkeiten.
41
+
Dieser Artikel zeigt eine Übersicht der zur Verfügung stehenden Möglichkeiten.
47
42
48
-
// TK: Den folgenden Satz würde ich rausnehmen in der saas. Vielfältig ist anders ;-)
43
+
ifdef::onprem[]
49
44
Und die sind vielfältig:
45
+
endif::[]
50
46
In manchen Fällen genügt es beispielsweise, ein Backup-Skript um wenige Zeilen zu erweitern, um Erfolg oder Misserfolg in einer gut in {CMK} darstellbaren Form auszugeben – damit ist die „Eigenentwicklung“ mitunter in wenigen Minuten abgeschlossen.
51
47
ifdef::onprem[]
52
48
In anderen Fällen werden Sie darauf angewiesen sein, mit umfangreichen Graphen Lastsituationen zu visualisieren – dann lohnt es sich auch, einige Stunden mehr zu investieren.
@@ -55,22 +51,25 @@ endif::[]
55
51
ifdef::saas[]
56
52
[TIP]
57
53
====
58
-
Beachten Sie, dass {CE}(SaaS) derzeit _nicht_ mit selbst erstellten oder aus der link:https://exchange.checkmk.com/[{CMK} Exchange^] bezogenen Paketen erweitert werden kann.
54
+
Beachten Sie, dass {CE} derzeit _nicht_ mit selbst erstellten oder aus der link:https://exchange.checkmk.com/[{CMK} Exchange^] bezogenen Paketen erweitert werden kann.
59
55
====
60
56
endif::[]
61
57
58
+
59
+
[#own_programs]
62
60
== Erweiterungsmöglichkeiten mit eigenen Programmen
63
61
64
-
// TK: Den folgenden Satz würde ich auch einfach rausnehmen in der saas. Datenerhebung und Auswertung fehlen ja auch in Kap. 2.2
62
+
ifdef::onprem[]
65
63
Die folgenden Abschnitte zeigen, welche Verfahren in {CMK} möglich sind, eigene Erweiterungen zu integrieren, und wo dabei jeweils die Datenerhebung und die Auswertung erfolgt.
64
+
endif::[]
66
65
67
66
68
67
[#local_checks]
69
68
=== Lokale Checks
70
69
71
-
Die wahrscheinlich einfachste Art und Weise, {CMK} zu erweitern, sind xref:localchecks#[lokale Checks.]
70
+
Die wahrscheinlich einfachste Art und Weise, {CMK} zu erweitern, sind xref:localchecks#[lokale Checks].
72
71
Ein Programm, welches vom Agentenskript des überwachten Hosts ausgeführt wird, gibt in einer Zeile Namen, Zustand und weitere Informationen aus.
73
-
Für lokale Checks unterstützt {CMK} die automatische xref:glossar#service_discovery[Service-Erkennung.]
72
+
Für lokale Checks unterstützt {CMK} die automatische xref:glossar#service_discovery[Service-Erkennung].
74
73
Die Programmierung ist in beliebigen Sprachen möglich, ohne eine API erlernen zu müssen.
75
74
76
75
* *Ausführung:* Vollständig auf dem überwachten Host. Sie müssen selbst sicherstellen, dass gegebenenfalls auf allen Hosts, die einen lokalen Check erhalten, der passende Interpreter verfügbar ist.
@@ -92,7 +91,7 @@ Die Ermittlung des Zustands kann dabei sehr flexibel erfolgen.
92
91
So ist die Verwendung unterer und oberer Schwellwerte möglich.
93
92
Zudem können mehrere Services erzeugt und der Status eines Services durch mehrere Überprüfungen bestimmt werden.
94
93
Des Weiteren ist die Ermittlung von Trends und Einbeziehung älterer Werte möglich.
95
-
Native Check-Plugins unterstützen die automatische Erstellung von xref:glossar#label[Labels] und die xref:inventory#[HW-/SW-Inventur.]
94
+
Native Check-Plugins unterstützen die automatische Erstellung von xref:glossar#label[Labels] und die xref:inventory#[HW-/SW-Inventur].
96
95
97
96
* *Ausführung:* Agentenplugin zur Datensammlung in beliebiger Programmiersprache auf dem überwachten Host, weitere Auswertung durch Check-Plugin auf dem {CMK}-Server unter Verwendung der Check-API.
98
97
* *Schwellwerte:* Beliebige Kombination von Schwellwerten für jeden Service.
@@ -106,7 +105,7 @@ ifdef::onprem[]
106
105
Eine Erweiterung der agentenbasierten Check-Plugins sind xref:devel_special_agents#[Spezialagenten:]
107
106
Hier sammelt kein Agentenplugin die Rohdaten ein, sondern ein Programm, das auf dem {CMK}-Server läuft und Daten aus einer anderen Quelle abfragt und in das Agentenformat von {CMK} umwandelt.
108
107
Spezialagenten kommen beispielsweise zum Einsatz, wenn ein zu überwachendes Gerät fürs Monitoring relevante Daten als JSON oder XML über eine REST-API bereitstellt.
109
-
Beispiele für den Einsatz von bei {CMK} mitgelieferten Spezialagenten finden Sie in der Überwachung von xref:monitoring_aws#[AWS], xref:monitoring_azure#[Azure] oder xref:monitoring_vmware#[VMware.]
108
+
Beispiele für den Einsatz von bei {CMK} mitgelieferten Spezialagenten finden Sie in der Überwachung von xref:monitoring_aws#[AWS], xref:monitoring_azure#[Azure] oder xref:monitoring_vmware#[VMware].
110
109
111
110
Bei der Programmierung greifen Sie auf zwei APIs zu: Für die Konfiguration von Ports oder ähnlichem stellt {CMK} eine API bereit, die erlaubt, solche Einstellungen im Setup zu bestimmen.
112
111
Für die Datenabfrage selbst verwenden Sie die REST-API der externen Quelle.
@@ -121,7 +120,7 @@ ifdef::onprem[]
121
120
[#check_plugins_snmp]
122
121
=== Native SNMP-basierte Check-Plugins
123
122
124
-
Eine Variante der agentenbasierten Check-Plugins sind die xref:devel_check_plugins_snmp#[Check-Plugins für SNMP.]
123
+
Eine Variante der agentenbasierten Check-Plugins sind die xref:devel_check_plugins_snmp#[Check-Plugins für SNMP].
125
124
Der Unterschied besteht hier darin, dass keine Agentensektion angefordert und ausgewertet wird, sondern bestimmte SNMP-OIDs, die explizit vom SNMP-Agenten angefordert werden.
126
125
127
126
* *Ausführung:* Datensammlung und weitere Auswertung durch Check-Plugin auf dem {CMK}-Server unter Verwendung der Check-API.
Copy file name to clipboardExpand all lines: src/common/en/devel_intro.asciidoc
+12-9Lines changed: 12 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,8 @@
1
1
// -*- coding: utf-8 -*-
2
2
// IGNORE pre
3
-
// SKIPCOMMITS 2025-07-23
3
+
// NONASCII
4
4
include::global_attr.adoc[]
5
5
= Developing extensions for {CMK}
6
-
:revdate: 2023-11-07
7
6
:title: Developing extensions for {CMK}
8
7
:description: You can extend {CMK} with a range of types of components to cover scenarios of varying complexity. The development of such extensions is described here.
9
8
@@ -32,19 +31,18 @@ ifdef::saas[]
32
31
xref:monitoring_logfiles#[evaluation of log messages]
33
32
endif::[]
34
33
and the xref:monitoring_jobs#[monitoring of recurring tasks], {CMK} is the ideal out-of-the-box solution for a wealth of monitoring tasks.
34
+
ifdef::onprem[]
35
35
Should a plug-in for a very specialized use not be available, the {CMK} community will be happy to help with custom developments provided via the link:https://exchange.checkmk.com/[{CMK} Exchange^].
36
+
endif::[]
36
37
37
38
Nevertheless, there are always situations where a piece of hardware is too new, a piece of software is too exotic, or an organization's own development is too individual for anyone to have already recognized the need for its integration into {CMK}.
38
39
If you have reached this point, it is time to start programming your own extensions.
39
40
40
-
ifdef::onprem[]
41
41
This article provides an overview of the options available.
42
-
endif::[]
43
-
ifdef::saas[]
44
-
This article provides an overview of the options available in {CE} (SaaS).
45
-
endif::[]
46
42
47
-
These options are manifold:
43
+
ifdef::onprem[]
44
+
These options are manifold:
45
+
endif::[]
48
46
In some cases, for example, it is sufficient to extend a backup script by a few lines in order to output success or failure in a form that can be easily displayed in {CMK}-- this means that the 'in-house development' can sometimes be completed in just a few minutes.
49
47
ifdef::onprem[]
50
48
In other cases you will need to visualize load situations with extensive graphs -- in such a situation it is worth investing a few hours more.
@@ -53,13 +51,18 @@ endif::[]
53
51
ifdef::saas[]
54
52
[TIP]
55
53
====
56
-
Please note that {CE}(SaaS) currently can _not_ be extended with self-made packages or packages obtained from the link:https://exchange.checkmk.com/[{CMK} Exchange^].
54
+
Please note that {CE} currently can _not_ be extended with self-made packages or packages obtained from the link:https://exchange.checkmk.com/[{CMK} Exchange^].
57
55
====
58
56
endif::[]
59
57
58
+
59
+
[#own_programs]
60
60
== Extension possibilities using own programs
61
61
62
+
ifdef::onprem[]
62
63
The following sections show which procedures for integrating your own extensions into {CMK} are possible, and where the data collection and evaluation takes place in each case.
0 commit comments