File: hostchecks.html

package info (click to toggle)
icinga 1.0.2-2%2Bsqueeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 33,952 kB
  • ctags: 13,294
  • sloc: xml: 154,821; ansic: 99,198; sh: 14,585; sql: 5,852; php: 5,126; perl: 2,838; makefile: 1,268
file content (241 lines) | stat: -rw-r--r-- 13,918 bytes parent folder | download | duplicates (2)
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Host-Prüfungen (Host checks)</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
<meta name="keywords" content="Supervision, Icinga, Icinga, Linux">
<link rel="home" href="index.html" title="Icinga Version 1.0.2 Dokumentation">
<link rel="up" href="ch05.html" title="Kapitel 5. Die Grundlagen">
<link rel="prev" href="macrolist.html" title="Standard-Makros in Icinga">
<link rel="next" href="servicechecks.html" title="Service-Prüfungen (Service Checks)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<CENTER><IMG src="../images/logofullsize.png" border="0" alt="Icinga" title="Icinga"></CENTER>
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Host-Prüfungen (Host checks)</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="macrolist.html">Zurück</a> </td>
<th width="60%" align="center">Kapitel 5. Die Grundlagen</th>
<td width="20%" align="right"> <a accesskey="n" href="servicechecks.html">Weiter</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="section" title="Host-Prüfungen (Host checks)">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="hostchecks"></a>Host-Prüfungen (Host checks)</h2></div></div></div>
  

  <p><span class="bold"><strong>Einführung</strong></span></p>

  <p>Die grundlegenden Tätigkeiten von Host-Prüfungen werden hier beschrieben...</p>

  <p><span class="bold"><strong>Wann werden Host-Prüfungen durchgeführt?</strong></span></p>

  <p>Hosts werden durch den Icinga-Daemon geprüft</p>

  <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
      <p>in regelmäßigen Intervallen, wie sie durch die <span class="emphasis"><em>check_interval</em></span> und
      <span class="emphasis"><em>retry_interval</em></span>-Optionen in Ihren <a class="link" href="objectdefinitions.html#objectdefinitions-host">Host-Definitionen</a>
      festgelegt sind.</p>
    </li>
<li class="listitem">
      <p>nach Bedarf, wenn ein mit dem Host verbundener Service den Status wechselt.</p>
    </li>
<li class="listitem">
      <p>nach Bedarf als Teil der <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">Host-Verfügbarkeit</a>s-Logik.</p>
    </li>
<li class="listitem">
      <p>nach Bedarf bei <a class="link" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">vorausschauenden Host-Abhängigkeitsprüfungen</a>.</p>
    </li>
</ul></div>

  <p>Regelmäßige Host-Prüfungen sind optional. Wenn Sie die <span class="emphasis"><em>check_interval</em></span>-Option in Ihrer Host-Definition
  auf Null (0) setzen, wird Icinga keine Host-Prüfungen auf planmäßiger Basis durchführen. Es wird jedoch weiterhin nach
  Bedarf Prüfungen für den Host durchführen für andere Teile der Überwachungslogik.</p>

  <p>Prüfungen nach Bedarf werden gemacht, wenn ein mit dem Host verbundener Service den Status wechselt, denn Icinga
  muss wissen, ob auch der Host den Status gewechselt hat. Services, die den Status wechseln, sind oft ein Indikator dafür, dass
  auch der Host den Status gewechselt hat. Wenn beispielsweise der mit einem Host verbundene HTTP-Service den Status von CRITICAL
  auf OK gewechselt hat, kann das bedeuten, dass der Host gerade einen Reboot beendet hat und nun wieder verfügbar ist.</p>

  <p>Host-Prüfungen nach Bedarf werden auch als Teil der <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">Host-Erreichbarkeit</a>
  erledigt. Icinga ist so konstruiert, dass Netzwerkausfälle so schnell wie möglich erkannt werden und zwischen DOWN- und
  UNREACHABLE-Zuständen unterschieden werden kann. Das sind sehr unterschiedliche Zustände und es kann dem Admin helfen, schnell
  die Ursache für einen Netzwerkausfall zu finden.</p>

  <p>Prüfungen nach Bedarf werden auch als Teil der <a class="link" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">vorausschauenden
  Host-Abhängigkeitsprüfung</a>s-Logik durchgeführt.</p>

  <p><span class="bold"><strong>zwischengespeicherte Host-Prüfungen (cached host checks)</strong></span></p>

  <p>Die Performance von Host-Prüfungen nach Bedarf kann signifikant durch den Einsatz von "cached checks" erhöht werden, die
  es Icinga erlauben, auf eine Host-Prüfung zu verzichten, wenn es feststellt, dass ein relativ frisches Prüfungsergebnis
  genügt. Mehr Informationen zu "cached checks" finden Sie <a class="link" href="cachedchecks.html" title="Zwischengespeicherte Prüfungen">hier</a>.</p>

  <p><span class="bold"><strong>Abhängigkeiten und Prüfungen</strong></span></p>

  <p>Sie können <a class="link" href="objectdefinitions.html#objectdefinitions-hostdependency">Host-Ausführungs-Abhängigkeiten</a> definieren, die
  Icinga von der Statusprüfung eines Hosts abhalten in Abhängigkeit vom Status ein oder mehrerer anderer Hosts. Mehr
  Informationen zu Abhängigkeiten finden Sie <a class="link" href="dependencies.html" title="Host- und Service-Abhängigkeiten">hier</a>.</p>

  <p><span class="bold"><strong>Parallelisierung von Host-Prüfungen</strong></span></p>

  <p>Geplante Host-Prüfungen laufen parallel. Wenn Icinga eine geplante Host-Prüfung ausführt, wird es die Host-Prüfung
  veranlassen und dann zu anderen Arbeiten zurückkehren (Service-Prüfungen ausführen, etc.). Die Host-Prüfung läuft in einem
  Kind-Prozess, der vom Haupt-Icinga-Prozess aufgerufen wird ("fork()ed"). Wenn die Host-Prüfung beendet ist, wird der
  Kind-Prozess den Haupt-Icinga-Prozess (seinen Eltern-Prozess) über das Ergebnis informieren. Der
  Haupt-Icinga-Prozess wird dann das Prüfungsergebnis behandeln und geeignete Aktionen durchführen (Eventhandler starten,
  Benachrichtigungen senden, usw.).</p>

  <p>Host-Prüfungen nach Bedarf laufen ebenfalls parallel, falls notwendig. Wie bereits vorher erwähnt kann Icinga auf
  die eigentliche Ausführung einer Host-Prüfung nach Bedarf verzichten, wenn es das gespeicherte Ergebnis einer relativ frischen
  Host-Prüfung benutzen kann.</p>

  <p>Wenn Icinga die Ergebnisse von geplanten und nach Bedarf ausgeführten Host-Prüfungen verarbeitet, kann es
  (zusätzliche) Prüfungen anderer Hosts veranlassen. Diese Prüfungen können aus zwei Gründen veranlasst werden: <a class="link" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">vorausschauende Abhängigkeitsprüfungen</a> und um den Status des Hosts mit Hilfe von <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">Netzwerk-Erreichbarkeit</a>s-Logik festzustellen. Die zusätzlichen Prüfungen werden
  normalerweise parallel ausgeführt. Allerdings gibt es eine große Ausnahme, der Sie sich bewusst sein sollten, da sie einen
  negativen Einfluss auf die Performance haben kann...</p>

  <p><span class="inlinemediaobject"><img src="../images/note.gif"></span> Hosts, deren <span class="emphasis"><em>max_check_attempts</em></span>-Wert auf <span class="bold"><strong>1</strong></span> gesetzt
  sind, können schwerwiegende Performance-Probleme verursachen. Der Grund? Wenn Icinga den richtigen Status mit Hilfe der
  <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">Netzwerk-Erreichbarkeit</a>s-Logik ermitteln muss (um zu sehen, ob sie DOWN oder
  UNREACHABLE sind), muss es <span class="bold"><strong>aufeinanderfolgende</strong></span> Prüfungen für alle direkten Eltern des Hosts
  starten. Um es noch einmal zu wiederholen, diese Prüfungen laufen <span class="emphasis"><em>nacheinander</em></span> statt parallel, also kann es
  zu einem Performance-Einbruch kommen. Aus diesem Grund würden wir empfehlen, dass Sie immer einen Wert größer als 1 für die
  <span class="emphasis"><em>max_check_attempts</em></span>-Direktiven in Ihren Host-Definitionen benutzen.</p>

  <p><span class="bold"><strong>Host-Zustände</strong></span></p>

  <p>Hosts, die geprüft werden, können in einem von drei unterschiedlichen Zuständen sein</p>

  <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
      <p>UP</p>
    </li>
<li class="listitem">
      <p>DOWN</p>
    </li>
<li class="listitem">
      <p>UNREACHABLE</p>
    </li>
</ul></div>

  <p><span class="bold"><strong>Host-Statusermittlung</strong></span></p>

  <p>Host-Prüfungen werden mit Hilfe von <a class="link" href="plugins.html" title="Icinga Plugins">Plugins</a> durchgeführt, die den Status OK, WARNING,
  UNKNOWN oder CRITICAL zurückliefern können. Wie übersetzt Icinga diese Return-Codes der Plugins in die Host-Zustände UP,
  DOWN oder UNREACHABLE? Wir werden sehen...</p>

  <p>Die nachfolgende Tabelle zeigt, wie sich die Return-Codes von Plugins mit vorläufigen Host-Zuständen decken. Einige
  Nachbearbeitung (die später beschrieben wird) ergibt den endgültigen Host-Zustand.</p>

  <div class="informaltable">
    <table border="1">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td><p> <span class="bold"><strong>Plugin-Ergebnis</strong></span> </p></td>
<td><p> <span class="bold"><strong>vorläufiger Host-Zustand</strong></span> </p></td>
</tr>
<tr>
<td><p>OK</p></td>
<td><p>UP</p></td>
</tr>
<tr>
<td><p>WARNING</p></td>
<td><p>UP oder DOWN<sup>*</sup></p></td>
</tr>
<tr>
<td><p>UNKNOWN</p></td>
<td><p>DOWN</p></td>
</tr>
<tr>
<td><p>CRITICAL</p></td>
<td><p>DOWN</p></td>
</tr>
</tbody>
</table>
  </div>

  <p><span class="inlinemediaobject"><img src="../images/note.gif"></span> Anmerkung: Das Ergebnis WARNING bedeutet normalerweise, dass der Host UP ist. Trotzdem werden
  WARNING-Ergebnisse so interpretiert, dass der Host DOWN ist, wenn die <a class="link" href="configmain.html#configmain-use_aggressive_host_checking">use_aggressive_host_checking</a>-Option aktiviert ist.</p>

  <p>Wenn der vorläufige Host-Status DOWN ist, wird Icinga versuchen festzustellen, ob der Host wirklich DOWN ist oder
  UNREACHABLE. Die Unterscheidung zwischen den Host-Zuständen DOWN und UNREACHABLE ist wichtig, weil es Admins erlaubt, die
  Grundursache von Netzwerkausfällen schneller zu ermitteln. Die folgende Tabelle zeigt, wie Icinga eine endgültige
  Zustandsermittlung basierend auf dem Zustand der Eltern des Hosts durchführt. Die Eltern eines Hosts werden in der
  <span class="emphasis"><em>parents</em></span>-Direktive der Host-Definition festgelegt.</p>

  <div class="informaltable">
    <table border="1">
<colgroup>
<col>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td><p> <span class="bold"><strong>vorläufiger Host-Zustand</strong></span> </p></td>
<td><p> <span class="bold"><strong>Zustand Host-Eltern</strong></span> </p></td>
<td><p> <span class="bold"><strong>endgültiger Host-Zustand</strong></span> </p></td>
</tr>
<tr>
<td><p>DOWN</p></td>
<td><p>mindestens ein Elternteil ist UP</p></td>
<td><p>DOWN</p></td>
</tr>
<tr>
<td><p>DOWN</p></td>
<td><p>alle Eltern sind entweder DOWN oder UNREACHABLE</p></td>
<td><p>UNREACHABLE</p></td>
</tr>
</tbody>
</table>
  </div>

  <p>Mehr Informationen, wie Icinga zwischen DOWN- und UNREACHABLE-Zuständen unterscheidet, finden Sie <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">hier</a>.</p>

  <p><span class="bold"><strong>Host-Statusänderungen</strong></span></p>

  <p>Wie Ihnen wahrscheinlich bereits bewusst ist, bleiben Hosts nicht immer in einem Zustand. Dinge gehen kaputt, Patches
  werden eingespielt und Server müssen neu gestartet werden. Wenn Icinga den Status von Hosts prüft, ist es in der Lage
  festzustellen, wenn ein Host zwischen UP-, DOWN- und UNREACHABLE-Zuständen wechselt und geeignete Maßnahmen ergreifen. Diese
  Zustandsänderungen resultieren in verschiedenen <a class="link" href="statetypes.html" title="Statustypen">Statustypen</a> (HARD oder SOFT), was zum Auslösen
  von <a class="link" href="eventhandlers.html" title="Eventhandler">Eventhandlern</a> und dem Versenden von <a class="link" href="notifications.html" title="Benachrichtigungen">Benachrichtigungen</a> führen kann. Das Erkennen und Behandeln von Statusänderungen ist das, worum es
  sich bei Icinga handelt.</p>

  <p>Wenn Host-Statusänderungen zu oft erfolgen, werden sie als "flatternd" (flapping) angesehen. Ein gutes Beispiel für einen
  flatternden Host wäre ein Server, der spontan jedes Mal neu startet, sobald das Betriebssystem lädt. Das ist immer ein spaßiges
  Szenario, mit dem man sich befassen muss. Icinga kann erkennen, wenn Hosts anfangen zu flattern, und kann
  Benachrichtigungen unterdrücken, bis das Flattern stoppt und sich der Host-Status stabilisiert. Mehr Informationen über die
  Erkennungslogik des Flatterns finden Sie <a class="link" href="flapping.html" title="Erkennung und Behandlung von Status-Flattern">hier</a>.</p>
  <a class="indexterm" name="id5587874"></a>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="macrolist.html">Zurück</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch05.html">Nach oben</a></td>
<td width="40%" align="right"> <a accesskey="n" href="servicechecks.html">Weiter</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Standard-Makros in Icinga </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td>
<td width="40%" align="right" valign="top"> Service-Prüfungen (Service Checks)</td>
</tr>
</table>
</div>
<P class="copyright">© 2009-2010 Icinga Development Team, http://www.icinga.org</P>
</body>
</html>