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/onprem/de/livestatus.asciidoc
+50-46Lines changed: 50 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
// NONASCII …
4
4
include::global_attr.adoc[]
5
5
= Statusdaten abrufen via Livestatus
6
-
:revdate: 2022-10-27
7
6
:title: Statusdaten abrufen via Livestatus
8
7
:description: Livestatus ermöglicht Ihnen den direkten Zugriff auf alle Daten der mit {CMK} überwachten Objekte. Hier erfahren Sie, wie Sie die Livestatus-API nutzen.
Mit den Wait-Headern erstellen Sie Abfragen, um bestimmte Datensätze zu
@@ -766,13 +773,14 @@ Columns: host_name description state
766
773
myserver;Memory;0
767
774
----
768
775
769
-
*Wichtig:* Achten Sie darauf,
770
-
dass der Zeitstempel in `last_check` aus dem Beispiel durch einen
771
-
aktuellen ersetzt werden muss. Andernfalls ist die Bedingung immer erfüllt
772
-
und die Ausgabe kommt sofort.
773
-
776
+
[TIP]
777
+
====
778
+
Achten Sie darauf, dass der Zeitstempel in `last_check` aus dem Beispiel durch einen aktuellen ersetzt werden muss.
779
+
Andernfalls ist die Bedingung immer erfüllt und die Ausgabe kommt sofort.
780
+
====
774
781
775
782
783
+
[#localtime]
776
784
== Zeitzonen (Localtime)
777
785
778
786
Viele größere Monitoring-Umgebungen rufen auf globaler Ebene Hosts und
@@ -809,7 +817,6 @@ myserver123;Memory;1511173526
809
817
----
810
818
811
819
812
-
813
820
[#response_header]
814
821
== Statuscodes (ResponseHeader)
815
822
@@ -839,9 +846,9 @@ einen Filter falsch setzen bzw. mit dem Namen einer Spalte _verwechseln._
839
846
Coluns: undefined request header
840
847
----
841
848
842
-
*Wichtig:* Das xref:livestatus#output_format[Ausgabeformat] ist im Fehlerfall
843
-
immer eine Fehlermeldung in Textform. Das gilt unabhängig davon, wie Sie
844
-
es angepasst haben.
849
+
Das xref:livestatus#output_format[Ausgabeformat] ist im Fehlerfall immer eine Fehlermeldung in Textform.
850
+
Das gilt unabhängig davon, wie Sie es angepasst haben.
851
+
845
852
846
853
[#keepalive]
847
854
== Verbindung aufrecht erhalten (KeepAlive)
@@ -854,12 +861,13 @@ einen Kanal zu _reservieren_. Nach einem xref:livestatus#commands[Befehl]
854
861
bleibt eine Livestatus-Verbindung übrigens immer offen. Sie benötigen dafür
855
862
keine Angabe eines zusätzlichen Headers.
856
863
857
-
*Wichtig:* Da der Kanal für die Dauer der Verbindung für andere Prozesse
858
-
blockiert ist, kann das zu einem Problem werden, wenn keine Verbindungen
859
-
mehr zur Verfügung stehen. Andere Prozesse müssen dann warten, bis wieder
860
-
eine Verbindung frei ist. In der Standardkonfiguration hält {CMK} 20
861
-
Verbindungen bereit -- erhöhen Sie bei Bedarf die maximale Anzahl dieser
862
-
Verbindungen in [.guihint]#Setup > General > Global Settings > Monitoring Core > Maximum concurrent Livestatus connections#.
864
+
[TIP]
865
+
====
866
+
Da der Kanal für die Dauer der Verbindung für andere Prozesse blockiert ist, kann das zu einem Problem werden, wenn keine Verbindungen mehr zur Verfügung stehen.
867
+
Andere Prozesse müssen dann warten, bis wieder eine Verbindung frei ist.
868
+
In der Standardkonfiguration hält {CMK} 20 Verbindungen bereit
869
+
-- erhöhen Sie bei Bedarf die maximale Anzahl dieser Verbindungen in [.guihint]#Setup > General > Global Settings > Monitoring Core > Maximum concurrent Livestatus connections#.
870
+
====
863
871
864
872
Kombinieren Sie `KeepAlive` immer mit dem
865
873
xref:livestatus#response_header[`ResponseHeader`], um die
*Wichtig:* Achten Sie darauf, dass Sie im interaktiven Modus des Eingabe-Streams keine
945
-
Variablen wie in dem Beispiel nutzen können. Und schränken Sie die Abfragen
946
-
*immer* auf einen Zeitraum ein.
952
+
[TIP]
953
+
====
954
+
Achten Sie darauf, dass Sie im interaktiven Modus des Eingabe-Streams keine Variablen wie in dem Beispiel nutzen können.
955
+
Und schränken Sie die Abfragen *immer* auf einen Zeitraum ein.
956
+
====
947
957
948
958
949
959
=== Die Monitoring-Historie konfigurieren
@@ -962,13 +972,11 @@ welche Sie in unter [.guihint]#Setup > General > Global Settings > Monitoring Co
962
972
963
973
|[.guihint]#History log rotation: Regular interval of rotations# |Hier wird festgelegt, in welchem Zeitintervall die Historie in einer neuen Datei weitergeführt wird.
964
974
|[.guihint]#History log rotation: Rotate by size (Limit of the size)# |Unabhängig von dem Zeitintervall wird hier die maximale Größe einer Datei festgelegt. Die Größe stellt einen Kompromiss zwischen der möglichen Leserate und den möglichen IOs dar.
965
-
// TK: IOs sind nochmal was?
966
975
|[.guihint]#Maximum number of parsed lines per log file# |Nach der angegeben Anzahl an Zeilen wird eine Datei nicht weiter gelesen. Das verhindert Timeouts, falls eine Datei aus irgendwelchen Gründen doch sehr groß geworden sein sollte.
967
976
|===
968
977
969
978
970
-
971
-
979
+
[#availability]
972
980
== Verfügbarkeiten prüfen
973
981
974
982
Mit der Tabelle `statehist` können Sie die Rohdaten zu der
@@ -1023,6 +1031,7 @@ Wie Sie eine vollständige Liste der verfügbaren Spalten abrufen, wird in der
// TODO: Link zu einem Artikel in dem die verfügbaren Makros/Variablen
1052
-
// erläutert werden? In welchem Artikel würde das dokumentiert werden?
1053
-
1054
1060
1055
1061
[#network]
1056
1062
== Livestatus über das Netzwerk nutzen
@@ -1113,7 +1119,7 @@ Server certificate
1113
1119
read R BLOCK
1114
1120
----
1115
1121
1116
-
Erfolgt keine weitere Ausgabe mehr, können Sie interaktiv LQL-Befehle absetzen, welche Sie mit einer Leerzeile (zweimal Return-Taste) abschließen.
1122
+
Erfolgt keine weitere Ausgabe mehr, können Sie interaktiv LQL-Befehle absetzen, welche Sie mit einer Leerzeile (zweimal kbd:[Enter]-Taste) abschließen.
1117
1123
Klappt dies, können Sie Livestatus-Abfragen auch per Pipeline übergeben, der zusätzliche Parameter `-quiet` unterdrückt hier Debugging-Ausgaben:
1118
1124
1119
1125
[{shell}]
@@ -1183,8 +1189,8 @@ Nach Neustart des stunnel ist der Zugriff auf den lokalen Port unverschlüsselt
1183
1189
Falls Sie per Skript via SSL auf Livestatus zugreifen wollen, verwenden Sie möglichst nicht `openssl s_client`.
1184
1190
Primärer Zweck dieses Tools ist der Test des Verbindungsaufbaus und das Debugging von Zertifikatsketten.
1185
1191
Um im Falle von Verbindungsabbrüchen zu erkennen, ob die erwartete Ausgabe vollständig war, empfehlen wir, den xref:response_header[`ResponseHeader`] auszuwerten.
1186
-
Ein gut gepflegtes API, welches SSL und Header-Auswertung unterstützt, ist jenes für Python, das Sie unter `share/doc/check_mk/livestatus/api/python` finden.
1187
-
Weitere APIs listet das Kapitel xref:files[_Dateien und Verzeichnisse_].
1192
+
Eine gut gepflegtes API, welche SSL und Header-Auswertung unterstützt, ist jene für Python, die Sie auf link:https://github.com/Checkmk/checkmk/tree/master/packages/cmk-livestatus-client/[GitHub^] finden.
1193
+
1188
1194
1189
1195
=== Verbindung über SSH
1190
1196
@@ -1294,9 +1300,7 @@ gegebenenfalls die Variablen:
1294
1300
|`~/var/log/nagios.log` |Die Log-Datei des Nagios-Core, in der unter anderem die Abfragen/Befehle dokumentiert werden.
1295
1301
|`~/var/nagios/archive/` |Hier werden die `history`-Log-Dateien archiviert. Diese werden nur nach Bedarf eingelesen.
1296
1302
|`~/share/doc/check_mk/livestatus/LQL-examples/` |In diesem Verzeichnis finden Sie einige Beispiele zu Livestatus-Abfragen, die Sie ausprobieren können. Die Beispiele werden an den Skriptbefehl `lq` geleitet, wie z.B.: `lq < 1.lql`
1297
-
|`~/share/doc/check_mk/livestatus/api/python` |In diesem Verzeichnis finden Sie die API zu Python sowie einige Beispiele. Lesen Sie auch das `README` in diesem Verzeichnis.
1298
-
|`~/share/doc/check_mk/livestatus/api/perl` |Die API zu Perl finden Sie hier. Auch hier gibt es wieder ein `README`. Die Beispiele zur Nutzung befinden sich hier in dem Unterverzeichnis `examples`.
1299
-
|`~/share/doc/check_mk/livestatus/api/c++` |Zu der Programmiersprache C++ finden Sie hier ebenfalls Beispielcode. Der Code zu der API selbst liegt ebenfalls unkompiliert vor, so dass Sie maximalen Einblick in die Funktionsweise der API haben.
0 commit comments