-
Notifications
You must be signed in to change notification settings - Fork 2
/
QUICKSTART.de.txt
179 lines (120 loc) · 6.13 KB
/
QUICKSTART.de.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
==========
00. Inhalt
==========
- 01. Auf dem zu überwachenden Rechner
- 02. Auf dem Nagios
====================================
01. Auf dem zu überwachenden Rechner
====================================
-----------------------------------
01.01. Erstellen einer "conf"-Datei
-----------------------------------
Vorbemerkung:
Zur Zeit wird ein INI-Datei ähnliches Format verwendet. Dies kann sich aber in
Zukunft noch ändern!
Als Vorlage können die Dateien "sample-configs/conf/nagixsc_debian.conf"
(Nagios mit Hilfe der Debian-Packages installiert) und
"sample-configs/conf/nagixsc_usrlocal.conf" (selbst kompiliert nach
/usr/local/nagios) dienen.
Je Rechner, der überwacht werden soll, wird ein Abschnitt in eckigen Klammern
angelegt. Der Abschnittsname entspricht dabei dem Nagios-Hostname. Innerhalb
des Abschnitts können nun die Service Descriptions und die auszuführenden
Commands definiert werden.
Beginnt eine Option mit einem Unterstrich/Underscore/"_", so sind dies
Nag(ix)SC-interne Definitionen und werden NICHT als Service angesehen. Bisher
gibt es folgende Definitionen:
- "_host_name": Überschreibt den Abschnittsnamen mit dem angegebenen
Hostnamen.
Der Abschnitt "[nagixsc]" ist für zukünftige Erweiterungen reserviert!
----------------------------------------------------
01.02. Ausführen der Checks, Erstellen der XML-Datei
----------------------------------------------------
Zum ersten Test lässt man sich das XML am Besten an der Konsole ausgeben:
% ./nagixsc_conf2xml.py -e plain -c sample-configs/conf/nagixsc.conf
Zur Lesbarkeit wird das Encoding ausgeschaltet ("-e plain"). Dies ist nicht
für den Produktivbetrieb gedacht!
Man sollte hier bereits erkennen, wie Nag(ix)SC "intern tickt". Jetzt wäre der
geeignete Zeitpunkt sich eine kleine, eigene Konfigurationsdatei zu schreiben.
;-)
Hat man diese (zur Not geht's natürlich auch mit den Beispielen weiter),
erstellt man nun ein XML, welches zur Weiterverarbeitung geeignet ist:
% ./nagixsc_conf2xml.py -c sample-configs/conf/nagixsc.conf -o /tmp/nagixsc.xml
In der Praxis kann man diese XML-Datei auf einen Web-Server legen, damit sie
direkt vom Nagios aus abrufbar ist.
-----------------------------------------
01.03. Kontrolle der erstellten XML-Datei
-----------------------------------------
Mit Hilfe des Skripts "nagixsc_read_xml.py" kann man sich den Inhalt einer
Nag(ix)SC-XML-Datei ansehen:
% ./nagixsc_read_xml.py -f /tmp/nagixsc.xml
Der Inhalt wird zuerst blockweise, dann als formatiertes Python Dict
ausgegeben.
==================
02. Auf dem Nagios
==================
--------------------------------
02.01. Verschiedene Übergabewege
--------------------------------
Auf der Nagios-Seite gibt es im Moment 2 Wege an die Check-Ergebnisse
heranzukommen: Entweder man sorgt manuell dafür, dass die XML-Datei irgendwo
im Dateisystem lesbar ist ("-f"), oder man greift auf einen Web-Server zu
("-u"). Die Beispiele gehen von einer lokalen Datei aus.
Das Tool "nagixsc_xml2nagios.py" kennt 5 verschiedene Arbeitsweisen, angegeben
durch den Schalter "-O":
- "passive": Schreibt die Ergebnisse als passive Service Checks in die Nagios
Command Pipe. Es generiert keine Ausgaben und ist daher für einen
Aufruf durch Cron geeignet.
- "passive_check": Schreibt ebenfalls passive Service Checks, die Rückgabe
erfolgt allerdings im Stil eines Nagios-Plugins (eine Zeile
Ausgabe, Exit-Code).
- "checkresult": Schreibt die Ergebnisse aus dem XML in das Nagios
"checkresults"-Verzeichnis. Ebenfalls für Cron geeignet.
- "checkresult_check": Siehe "checkresult", Verhalten wie ein Nagios-Plugin
(eine Zeile Ausgabe, Exit-Code)
- "active": Durchsucht ein XML nach einer Host/Service-Kombination und beendet
sich wie ein Nagios-Plugin mit den gefundenen Daten.
Beispielaufrufe:
% ./nagixsc_xml2nagios.py -O passive -f /tmp/nagixsc.xml
%
% ./nagixsc_xml2nagios.py -O passive_check -f /tmp/nagixsc.xml
Nag(ix)SC OK - Check results are 25077576 seconds old
%
% ./nagixsc_xml2nagios.py -O checkresult -f /tmp/nagixsc.xml
%
% ./nagixsc_xml2nagios.py -O checkresult_check -f /tmp/nagixsc.xml
Nag(ix)SC OK - Wrote checkresult files for 6 services
%
% ./nagixsc_xml2nagios.py -O active -f /tmp/nagixsc.xml -D Disk_Root
DISK OK - free space: / 2167 MB (22% inode=97%);| /=7353MB;8568;9044;0;9520
%
Für einen selbstkompilierten Nagios und die Debian-Packages können die
"nagios.cmd" und das "checkresults"-Verzeichnis automatische gefunden werden.
Sollte dies nicht klappen, kann man sie mit "-p" (Pipe) bzw. "-r" (Resultdir)
übergeben werden.
Will man "erstmal nur testen", so kann man "nagixsc_xm2nagios.py" mit "touch
/tmp/nagixsc.cmd" und "-p /tmp/nagixsc.cmd" bzw. "mkdir /tmp/nagixsc.result"
und "-r /tmp/nagixsc.result" aufrufen und die generierten External Commands
bzw. Checkresult-Dateien ansehen.
----------------------
02.02. Veraltete Daten
----------------------
"nagixsc_xml2nagios.py" geht davon aus, dass die Daten im XML nicht älter als
vier Stunden (14400 Sekunden) sind. Sollten sie es dennoch sein, werden sie
automatisch mit dem Text "Nag(ix)SC: Check result is XX(>1440) seconds old"
gekennzeichnet. Dieses Verhalten kann mit zwei Optionen beeinflusst werden:
- "-s SEC" gibt an, nach wie vielen Sekunden Nag(ix)SC davon ausgegen soll,
dass die Daten im XML veraltet sind und mit dem oben genannten
Hinweis versehen werden sollen.
- "-m" sorgt dafür, dass nicht nur der Text ergänzt, sondern dass der Check im
Nagios als UNKNOWN geführt wird.
------------------------
02.03. Weitere Parameter
------------------------
- "-S": Teste die XML-Datei vor der Verarbeitung gegen die angegebene
DTD-Datei. Eine DTD wird als "xml/nagixsc.dtd" mitgeliefert (ohne
Gewähr ;-)
- "-H": Filtert die XML-Datei nach einem Hostnamen und gibt nur dessen Checks
zurück. Kann mit allen Varianten kombiniert werden.
- "-D": Filtert die XML-Datei nach einer (Service) Description. In Kombination
mit "-H" wird nach einer Host/Service-Kombination gesucht. Ist kein
Host angegeben, wird der erste Host in der XML-Datei genommen.