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
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Zwischengespeicherte Prüfungen</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="ch06.html" title="Kapitel 6. Fortgeschrittene Themen">
<link rel="prev" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">
<link rel="next" href="passivestatetranslation.html" title="Passive Host-Zustandsübersetzung">
</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">Zwischengespeicherte Prüfungen</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="dependencychecks.html">Zurück</a> </td>
<th width="60%" align="center">Kapitel 6. Fortgeschrittene Themen</th>
<td width="20%" align="right"> <a accesskey="n" href="passivestatetranslation.html">Weiter</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="section" title="Zwischengespeicherte Prüfungen">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="cachedchecks"></a>Zwischengespeicherte Prüfungen</h2></div></div></div>
<p><span class="bold"><strong>Einführung</strong></span></p>
<div class="mediaobject" align="right"><img src="../images/cachedchecks1.png" align="right"></div>
<p>Die Leistung der Überwachungslogik von Icinga kann mit Hilfe von zwischengespeicherten Prüfungen (cached checks)
nennenswert gesteigert werden. Zwischengespeicherte Prüfungen erlauben es Icinga, auf die Ausführung einer Host- oder
Service-Prüfung zu verzichten, wenn es feststellt, dass ein recht aktuelles Prüfergebnis ausreicht.</p>
<p><span class="bold"><strong>Nur für Prüfungen nach Bedarf</strong></span></p>
<p>Regelmäßig eingeplante Host- und Service-Prüfungen werden keine Leistungssteigerung durch zwischengespeicherte Prüfungen
erfahren. Zwischengespeicherte Prüfungen sind nur sinnvoll zur Steigerung von Host- und Service-Prüfungen nach Bedarf. Geplante
Prüfungen sorgen dafür, dass Host- und Service-Zustände regelmäßig aktualisiert werden, was in der Zukunft dazu führen kann,
dass die Ergebnisse als zwischengespeicherte Prüfungen genutzt werden können.</p>
<p>Zur Erinnerung: Host-Prüfungen nach Bedarf treten auf...</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<p>wenn ein mit einem Host verbundener Service den Status wechselt</p>
</li>
<li class="listitem">
<p>wenn nötig als Teil der <a class="link" href="networkreachability.html" title="Ermitteln des Zustands und der Erreichbarkeit von Netzwerk-Hosts">Host-Erreichbarkeit</a>s-Logik</p>
</li>
<li class="listitem">
<p>wenn nötig für <a class="link" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">vorausschauende Host-Abhängigkeitsprüfungen</a></p>
</li>
</ul></div>
<p>und Service-Prüfungen nach Bedarf treten auf...</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
<p>wenn nötig für <a class="link" href="dependencychecks.html" title="Vorausschauende Abhängigkeitsprüfungen">vorausschauende Service-Abhängigkeitsprüfungen</a></p>
</li></ul></div>
<p><span class="inlinemediaobject"><img src="../images/note.gif"></span> Hinweis: Solange Sie keinen Gebrauch von Service-Abhängigkeiten machen, wird Icinga nicht in der
Lage sein, zwischengespeicherte Prüfungen zur Leistungssteigerung von Service-Prüfungen zu nutzen. Keine Bange - das ist normal.
Zwischengespeicherte Host-Prüfungen sorgen für große Leistungssteigerungen und jeder sollte dort einen Vorteil sehen.</p>
<p><span class="bold"><strong>Wie Zwischenspeicherung arbeitet</strong></span></p>
<div class="mediaobject" align="right"><img src="../images/cachedchecks.png" align="right"></div>
<p>Wenn Icinga eine Host- oder Service-Prüfung nach Bedarf durchführen muss, wird es eine Festlegung treffen, ob es
ein zwischengespeichertes Ergebnis benutzen kann oder ob es wirklich eine Prüfung durchführen muss. Es tut dies, indem es
schaut, ob die letzte Prüfung für den Host oder Service innerhalb der letzten X Minuten erfolgte, wobei X der
zwischengespeicherte Host- oder Service-Horizont ist.</p>
<p>Wenn die letzte Prüfung innerhalb des Zeitfensters erfolgte, das durch die cached-check-horizon-Variable angegeben ist,
wird Icinga das Ergebnis der letzen Host- oder Service-Prüfung nutzen und <span class="emphasis"><em>nicht</em></span> eine neue Prüfung
ausführen. Wenn der Host oder Service noch nicht geprüft wurde oder die letzte Prüfung außerhalb des
cached-check-horizon-Zeitfensters liegt, wird Icinga durch ein Plugin eine neue Host- oder Service-Prüfung
durchführen.</p>
<p><span class="bold"><strong>Was dies wirklich bedeutet</strong></span></p>
<p>Icinga führt Prüfungen nach Bedarf durch, weil es den aktuellen Status eines Hosts oder Service <span class="emphasis"><em>in diesem
Moment</em></span> wissen muss. Durch die Nutzung von zwischengespeicherten Prüfungen lassen Sie Icinga glauben, dass die
kürzlichen Prüfungsergebnisse für die Ermittlung des aktuellen Zustands von Hosts "gut genug" sind und dass es nicht hergehen
muss und erneut den Zustand für den Host oder Service prüfen muss.</p>
<p>Die cached-check-horizon-Variable teilt Icinga mit, wie aktuell Prüfergebnisse sein müssen, um zuverlässig den
jetzigen Status eines Hosts oder Services darzustellen. Bei einem cached-check-horizon-Wert von 30 Sekunden sagen Sie
Icinga, dass die Prüfung des Zustands eines Host innerhalb der letzten 30 Sekunden erfolgt sein muss, um noch als
aktueller Zustand dieses Hosts angesehen zu werden.</p>
<p>Die Anzahl von zwischengespeicherten Prüfergebnissen, die Icinga nutzen kann, im Verhältnis zu der Anzahl von
Prüfungen nach Bedarf, kann als die cached-check "Treffer"-Rate bezeichnet werden. Durch die Erhöhung des
cached-check-horizon-Wertes bis zum regulären Prüfintervall des Hosts können Sie theoretisch eine Trefferrate von 100%
erreichen. In diesem Fall würden alle Prüfungen nach Bedarf zwischengespeicherte Prüfergebnisse benutzen. Was für eine
Leistungssteigerung! Aber ist es das wirklich? Wahrscheinlich nicht.</p>
<p>Die Zuverlässigkeit von zwischengespeicherten Prüfergebnissen nimmt mit der Zeit ab. Höhere Trefferraten erfordern, dass
vorherige Prüfergebnisse für längere Zeit als "gültig" angesehen werden. Dinge können sich schnell in jedem Netzwerk-Szenario
ändern, und es gibt keine Garantie dafür, dass es bei einem Server auf einmal brennt, der vor 30 Sekunden fehlerfrei
funktionierte. Das ist der Kompromiss: Zuverlässigkeit gegen Geschwindigkeit. Wenn der cached-check-horizon-Wert groß ist,
riskieren Sie, dass Sie unzuverlässige Prüfergebnisse in der Überwachungslogik haben.</p>
<p>Icinga wird letztendlich den korrekten Status aller Hosts und Services ermitteln, so dass es lediglich für eine
kurze Zeit mit inkorrekten Informationen arbeitet, selbst wenn sich die zwischengespeicherten Prüfergebnisse als unzuverlässig
herausstellen sollten. Selbst kurze Zeiten von unzuverlässigen Statusinformationen können sich für Admins als Ärgernis erweisen,
wenn sie Benachrichtigungen über Probleme bekommen, die nicht länger existieren.</p>
<p>Es gibt keinen Standard-cached-check-horizon-Wert oder keine Trefferrate, die für jeden Icinga-Benutzer
akzeptierbar wäre. Einige Leute möchten einen kleines horizon-Zeitfenster und eine niedrige Trefferrate während andere ein
größeres Zeitfenster und eine höhrere Trefferrate bevorzugen (mit einer kleineren Zuverlässigkeitsrate). Einige Leute möchten
vielleicht ganz auf zwischengespeicherte Prüfungen verzichten, um eine hundertprozentige Zuverlässigkeitsrate zu erhalten.
Verschiedene horizon-Zeitfenster auszuprobieren und ihren Einfluss auf die Zuverlässigkeit von Statusinformationen zu sehen ist
vielleicht das einzige Bedürfnis, das ein einzelner Benutzer hat, um den "richtigen" Wert für seine Situation zu finden.</p>
<p><span class="bold"><strong>Konfigurationsvariablen</strong></span></p>
<p>Die folgenden Variablen legen die Zeitfenster fest, in denen ein vorangegangenes Prüfergebnis als ein
zwischengespeichertes Prüfergebnis genutzt werden kann:</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Die <a class="link" href="configmain.html#configmain-cached_host_check_horizon">cached_host_check_horizon</a>-Variable kontrolliert
zwischengespeicherte Host-Prüfungen.</p>
</li>
<li class="listitem">
<p>Die <a class="link" href="configmain.html#configmain-cached_service_check_horizon">cached_service_check_horizon</a>-Variable kontrolliert
zwischengespeicherte Service-Prüfungen.</p>
</li>
</ul></div>
<p><span class="bold"><strong>Zwischenspeichereffektivität optimieren</strong></span></p>
<p>Um den größten Nutzen aus zwischengespeicherten Prüfungen zu ziehen, sollten Sie:</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<p>regelmäßige Host-Prüfungen einplanen</p>
</li>
<li class="listitem">
<p>MRTG (oder PNP ;-)) benutzen, um grafische Auswertungen von 1) Prüfungen nach Bedarf und 2) zwischengespeicherten
Prüfungen zu erstellen</p>
</li>
<li class="listitem">
<p>die cached-check-horizon-Variablen Ihren Anforderungen entsprechend anpassen</p>
</li>
</ul></div>
<p>Sie können regelmäßige Prüfungen für Ihre Hosts durch einen größeren Wert als 0 in der
<span class="emphasis"><em>check_interval</em></span>-Option in Ihren <a class="link" href="objectdefinitions.html#objectdefinitions-host">Host-Definitionen</a> einplanen.
Wenn Sie das tun, sollten Sie die <span class="emphasis"><em>max_check_attempts</em></span>-Option auf einen Wert größer als 1 setzen, oder es
wird ein Performance-Problem geben. Das potenzielle Performance-Problem ist <a class="link" href="hostchecks.html" title="Host-Prüfungen (Host checks)">hier</a> genauer
beschrieben.</p>
<div class="mediaobject" align="right"><img src="../images/cachedcheckgraphs.png" align="right"></div>
<p>Ein guter Weg, um den richtigen Wert für die cached-check-horizon-Optionen zu ermitteln, besteht im Vergleich der Anzahl
von Prüfungen nach Bedarf gegen die Anzahl, in denen zwischengespeicherte Ergebnisse benutzt werden. Das <a class="link" href="icingastats.html" title="Nutzung des Icingastats-Utilitys">icingastats</a>-Dienstprogramm kann Informationen über zwischengespeicherte Prüfungen erzeugen, die
dann mit <a class="link" href="mrtggraphs.html" title="grafische Darstellung von Performance-Informationen mit MRTG">MRTG</a> dargestellt werden können. MRTG-Beispiel-Diagramme, die zwischengespeicherte
Prüfungen gegen solche nach Bedarf darstellen, werden rechts gezeigt.</p>
<p>Bei der überwachten Installation, die diese Graphen erzeugte, gab es...</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<p>insgesamt 44 Hosts, die alle in regelmäßigen Abständen geprüft wurden</p>
</li>
<li class="listitem">
<p>ein durchschnittliches (regelmäßig geplantes) Host-Prüfintervall von fünf Minuten</p>
</li>
<li class="listitem">
<p>ein <a class="link" href="configmain.html#configmain-cached_host_check_horizon">cached_host_check_horizon</a> von 15 Sekunden</p>
</li>
</ul></div>
<p>Das erste MRTG-Diagramm zeigt, wie viele regelmäßig geplante Host-Prüfungen im Vergleich zu zwischengespeicherten
Host-Prüfungen erfolgt sind. In diesem Beispiel wurden alle fünf Minuten ein Durchschnitt von 53 Host-Prüfungen durchgeführt.
Neun von diesen (17%) sind Prüfungen nach Bedarf.</p>
<p>Das zweite MRTG-Diagramm zeigt, wie viele zwischengespeicherte Host-Prüfungen während der Zeit aufgetreten sind. In diesem
Beispiel waren es im Durchschnitt zwei Host-Prüfungen alle fünf Minuten.</p>
<p>Erinnern Sie sich, dass zwischengespeicherte Prüfungen nur für Prüfungen nach Bedarf verfügbar sind. Basierend auf den
5-Minuten- Durchschnitten der Graphen sehen wir, dass Icinga in zwei von neun Fällen ein zwischengespeichertes Ergebnis
benutzen kann, wenn Prüfungen nach Bedarf auszuführen sind. Das scheint nicht viel zu sein, aber diese Graphen stellen eine
kleine Überwachungsumgebung dar. Bedenken Sie, dass zwei von neun 22% sind und Sie können sich vorstellen, wie dies die
Host-Prüf-Performance in großen Umgebungen steigern kann. Der Prozentsatz könnte größer sein, wenn der Wert der
cached_host_check_horizon-Variablen erhöht wird, aber das würde die Zuverlässigkeit der zwischengespeicherten
Host-Statusinformation verringern.</p>
<p>Sobald Sie ein paar Stunden oder Tage mit MRTG-Graphen haben, sollten Sie sehen, wie viele Host- und Service-Prüfungen mit
Hilfe von Plugins ausgeführt werden gegen die, die zwischengespeicherte Prüfergebnisse benutzen. Nutzen Sie diese Informationen,
um die cached-check-horizon-Variablen entsprechend für Ihre Situation anzupassen. Überwachen Sie weiterhin die MRTG-Graphen, um
zu sehen, wie die Änderung der horizon-Variablen die zwischengespeicherten Prüf-Statistiken beeinflusst. Ändern und wiederholen
Sie, falls erforderlich.</p>
<a class="indexterm" name="id5603239"></a>
<a class="indexterm" name="id5603181"></a>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="dependencychecks.html">Zurück</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch06.html">Nach oben</a></td>
<td width="40%" align="right"> <a accesskey="n" href="passivestatetranslation.html">Weiter</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Vorausschauende Abhängigkeitsprüfungen </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td>
<td width="40%" align="right" valign="top"> Passive Host-Zustandsübersetzung</td>
</tr>
</table>
</div>
<P class="copyright">© 2009-2010 Icinga Development Team, http://www.icinga.org</P>
</body>
</html>
|