File: cachedchecks.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 (224 lines) | stat: -rw-r--r-- 14,648 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
<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>