File: hostchecks.html

package info (click to toggle)
icinga 1.14.2%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 49,264 kB
  • sloc: ansic: 108,564; sql: 9,656; sh: 4,945; perl: 3,439; makefile: 1,213; php: 581; xml: 104
file content (283 lines) | stat: -rw-r--r-- 16,583 bytes parent folder | download
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
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>5.4. Host-Prüfungen (Host checks)</title>
<link rel="stylesheet" href="../stylesheets/icinga-docs.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
<meta name="keywords" content="Supervision, Icinga, Nagios, Linux">
<link rel="home" href="index.html" title="Icinga Version 1.14 Dokumentation">
<link rel="up" href="ch05.html" title="Kapitel 5. Die Grundlagen">
<link rel="prev" href="macrolist.html" title="5.3. Standard-Makros in Icinga">
<link rel="next" href="servicechecks.html" title="5.5. Service-Prüfungen (Service Checks)">
<script src="../js/jquery-min.js" type="text/javascript"></script><script src="../js/icinga-docs.js" type="text/javascript"></script>
</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">5.4. 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="5.4. Host-Prüfungen (Host checks)">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="hostchecks"></a>5.4. Host-Prüfungen (Host checks)</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section">5.4.1. <a href="hostchecks.html#introduction">Einführung</a></span></dt>
<dt><span class="section">5.4.2. <a href="hostchecks.html#whenrun">Wann werden Host-Prüfungen durchgeführt?</a></span></dt>
<dt><span class="section">5.4.3. <a href="hostchecks.html#caching">zwischengespeicherte Host-Prüfungen (cached host checks)</a></span></dt>
<dt><span class="section">5.4.4. <a href="hostchecks.html#dependencieschecks">Abhängigkeiten und Prüfungen</a></span></dt>
<dt><span class="section">5.4.5. <a href="hostchecks.html#parallelization">Parallelisierung von Host-Prüfungen</a></span></dt>
<dt><span class="section">5.4.6. <a href="hostchecks.html#hoststates">Host-Zustände</a></span></dt>
<dt><span class="section">5.4.7. <a href="hostchecks.html#hoststatedetermination">Host-Statusermittlung</a></span></dt>
<dt><span class="section">5.4.8. <a href="hostchecks.html#hoststatechanges">Host-Statusänderungen</a></span></dt>
</dl></div>
  

  <div class="section" title="5.4.1. Einführung">
<div class="titlepage"><div><div><h3 class="title">
<a name="introduction"></a>5.4.1. Einführung</h3></div></div></div>
    

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

  <div class="section" title="5.4.2. Wann werden Host-Prüfungen durchgeführt?">
<div class="titlepage"><div><div><h3 class="title">
<a name="whenrun"></a>5.4.2. Wann werden Host-Prüfungen durchgeführt?</h3></div></div></div>
    

    <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="5.10. 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="7.20. 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="5.10. 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="7.20. Vorausschauende Abhängigkeitsprüfungen">vorausschauenden
    Host-Abhängigkeitsprüfung</a>s-Logik durchgeführt.</p>
  </div>

  <div class="section" title="5.4.3. zwischengespeicherte Host-Prüfungen (cached host checks)">
<div class="titlepage"><div><div><h3 class="title">
<a name="caching"></a>5.4.3. zwischengespeicherte Host-Prüfungen (cached host checks)</h3></div></div></div>
    

    <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="7.21. Zwischengespeicherte Prüfungen">hier</a>.</p>
  </div>

  <div class="section" title="5.4.4. Abhängigkeiten und Prüfungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="dependencieschecks"></a>5.4.4. Abhängigkeiten und Prüfungen</h3></div></div></div>
    

    <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="7.13. Host- und Service-Abhängigkeiten">hier</a>.</p>
  </div>

  <div class="section" title="5.4.5. Parallelisierung von Host-Prüfungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="parallelization"></a>5.4.5. Parallelisierung von Host-Prüfungen</h3></div></div></div>
    

    <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="7.20. 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="5.10. 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="5.10. 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>
  </div>

  <div class="section" title="5.4.6. Host-Zustände">
<div class="titlepage"><div><div><h3 class="title">
<a name="hoststates"></a>5.4.6. Host-Zustände</h3></div></div></div>
    

    <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>
  </div>

  <div class="section" title="5.4.7. Host-Statusermittlung">
<div class="titlepage"><div><div><h3 class="title">
<a name="hoststatedetermination"></a>5.4.7. Host-Statusermittlung</h3></div></div></div>
    

    <p>Host-Prüfungen werden mit Hilfe von <a class="link" href="plugins.html" title="5.1. 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="5.10. Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">hier</a>.</p>
  </div>

  <div class="section" title="5.4.8. Host-Statusänderungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="hoststatechanges"></a>5.4.8. Host-Statusänderungen</h3></div></div></div>
    

    <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="5.8. Statustypen">Statustypen</a> (HARD oder SOFT), was zum Auslösen von <a class="link" href="eventhandlers.html" title="7.3. Eventhandler">Eventhandlern</a> und dem Versenden von <a class="link" href="notifications.html" title="5.11. 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="7.8. Erkennung und Behandlung von Status-Flattern">hier</a>.</p>

    <a class="indexterm" name="idm139734670091648"></a>
  </div>
</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">5.3. 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"> 5.5. Service-Prüfungen (Service Checks)</td>
</tr>
</table>
</div>
<P class="copyright">© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com</P>
</body>
</html>