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