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
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>7.21. Zwischengespeicherte Prüfungen</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="ch07.html" title="Kapitel 7. Fortgeschrittene Themen">
<link rel="prev" href="dependencychecks.html" title="7.20. Vorausschauende Abhängigkeitsprüfungen">
<link rel="next" href="passivestatetranslation.html" title="7.22. Passive Host-Zustandsübersetzung">
<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">7.21. 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 7. 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="7.21. Zwischengespeicherte Prüfungen">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="cachedchecks"></a>7.21. Zwischengespeicherte Prüfungen</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section">7.21.1. <a href="cachedchecks.html#introduction">Einführung</a></span></dt>
<dt><span class="section">7.21.2. <a href="cachedchecks.html#ondemandchecks">Nur für Prüfungen nach Bedarf</a></span></dt>
<dt><span class="section">7.21.3. <a href="cachedchecks.html#howitworks">Wie Zwischenspeicherung arbeitet</a></span></dt>
<dt><span class="section">7.21.4. <a href="cachedchecks.html#whatthismeans">Was dies wirklich bedeutet</a></span></dt>
<dt><span class="section">7.21.5. <a href="cachedchecks.html#configvars">Konfigurationsvariablen</a></span></dt>
<dt><span class="section">7.21.6. <a href="cachedchecks.html#optimizeeffectiveness">Zwischenspeichereffektivität optimieren</a></span></dt>
</dl></div>
<div class="section" title="7.21.1. Einführung">
<div class="titlepage"><div><div><h3 class="title">
<a name="introduction"></a>7.21.1. Einführung</h3></div></div></div>
<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>
</div>
<div class="section" title="7.21.2. Nur für Prüfungen nach Bedarf">
<div class="titlepage"><div><div><h3 class="title">
<a name="ondemandchecks"></a>7.21.2. Nur für Prüfungen nach Bedarf</h3></div></div></div>
<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="5.10. 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="7.20. 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="7.20. 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>
</div>
<div class="section" title="7.21.3. Wie Zwischenspeicherung arbeitet">
<div class="titlepage"><div><div><h3 class="title">
<a name="howitworks"></a>7.21.3. Wie Zwischenspeicherung arbeitet</h3></div></div></div>
<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>
</div>
<div class="section" title="7.21.4. Was dies wirklich bedeutet">
<div class="titlepage"><div><div><h3 class="title">
<a name="whatthismeans"></a>7.21.4. Was dies wirklich bedeutet</h3></div></div></div>
<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öhere 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>
</div>
<div class="section" title="7.21.5. Konfigurationsvariablen">
<div class="titlepage"><div><div><h3 class="title">
<a name="configvars"></a>7.21.5. Konfigurationsvariablen</h3></div></div></div>
<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>
</div>
<div class="section" title="7.21.6. Zwischenspeichereffektivität optimieren">
<div class="titlepage"><div><div><h3 class="title">
<a name="optimizeeffectiveness"></a>7.21.6. Zwischenspeichereffektivität optimieren</h3></div></div></div>
<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>z.B. PNP4Nagios 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-Variable 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="5.4. Host-Prüfungen (Host checks)">hier</a> genauer beschrieben.</p>
<div class="mediaobject"><img src="../images/perfdata_cached2.png"></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="8.6. Nutzung des Icingastats-Utilitys">icingastats</a>-Dienstprogramm kann Informationen über zwischengespeicherte Prüfungen erzeugen, die dann mit
<a class="link" href="perfgraphs.html" title="8.7. Grafische Darstellung von Performance-Informationen mit PNP4Nagios">PNP4Nagios</a> dargestellt werden können. Ein Beispiel-Diagramm, das zwischengespeicherte Prüfungen gegen
solche nach Bedarf darstellt, sehen Sie oben.</p>
<p>Bei der Testumgebung, aus der dieser Graph stammt, gab es...</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<p>insgesamt 110 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 30 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 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 77 Host-Prüfungen durchgeführt. 59 von diesen (76%) sind
Prüfungen nach Bedarf.</p>
<p>Es zeigt auch, wie viele zwischengespeicherte Host-Prüfungen während der Zeit aufgetreten sind. In diesem Beispiel waren es im
Durchschnitt 21 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 21 von 59 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 21 von 59 fast 36% 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 PNP4Nagios-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 PNP4Nagios-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="idm139734665094784"></a>
<a class="indexterm" name="idm139734665093536"></a>
</div>
</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="ch07.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">7.20. 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"> 7.22. Passive Host-Zustandsübersetzung</td>
</tr>
</table>
</div>
<P class="copyright">© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com</P>
</body>
</html>
|