File: escalations.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 (309 lines) | stat: -rw-r--r-- 17,189 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
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
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Benachrichtigungseskalationen</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="flapping.html" title="Erkennung und Behandlung von Status-Flattern">
<link rel="next" href="escalation_condition.html" title="Eskalations-Bedingung">
</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">Benachrichtigungseskalationen</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="flapping.html">Zurück</a> </td>
<th width="60%" align="center">Kapitel 6. Fortgeschrittene Themen</th>
<td width="20%" align="right"> <a accesskey="n" href="escalation_condition.html">Weiter</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="section" title="Benachrichtigungseskalationen">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="escalations"></a>Benachrichtigungseskalationen</h2></div></div></div>
  

  <p><span class="bold"><strong>Einführung</strong></span></p>

  <div class="mediaobject" align="right"><img src="../images/objects-contacts.png" align="right"></div>

  <p>Icinga unterstützt optionale Eskalation von Kontakt-Benachrichtigungen für Hosts und Services. Eskalationen von
  Host- oder Service-Benachrichtigungen werden erreichen durch das Definieren von <a class="link" href="objectdefinitions.html#objectdefinitions-hostescalation">Host-Eskalationen</a> bzw. <a class="link" href="objectdefinitions.html#objectdefinitions-serviceescalation">Service-Eskalationen</a> in Ihrer/Ihren <a class="link" href="configobject.html" title="Überblick Objektkonfiguration">Objekt-Konfigurationsdatei(en)</a>.</p>

  <p><span class="inlinemediaobject"><img src="../images/note.gif"></span> Anmerkung: Das Beispiel, das wir unten zeigen, benutzt Service-Eskalationsdefinitionen, aber
  Host-Eskalationen arbeiten genau so. Außer, dass sie für Hosts sind statt für Services. :-)</p>

  <p><span class="bold"><strong>Wann werden Benachrichtigungen eskaliert?</strong></span></p>

  <p>Benachrichtigungen werden eskaliert, <span class="emphasis"><em>wenn, und nur wenn</em></span> eine oder mehrere Eskalationsdefinitionen mit
  der aktuellen Benachrichtigung übereinstimmen, die gerade versandt wird. Wenn eine Host- oder Service-Benachrichtigung
  <span class="emphasis"><em>keine</em></span> gültige Eskalationsdefinition hat, die auf sie zutrifft, dann wird die Benachrichtigung an die
  Kontaktgruppe(n) verschickt, die in der Hostgroup- oder Service-Definition angegeben wurde(n). Lassen Sie uns das untenstehende
  Beispiel betrachten:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   90
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      6
        last_notification       10
        notification_interval   60
        contact_groups          nt-admins,managers,everyone
        }</pre>

  <p>Beachten Sie, dass es "Lücken" in den Benachrichtigungs-Eskalationsdefinitionen gibt. Im Besonderen werden weder die
  Benachrichtigungen 1 und 2 von den Eskalationen behandelt noch die Benachrichtigungen über 10. Für die ersten beiden und die
  Benachrichtigungen über 10 werden die <span class="emphasis"><em>Default</em></span>-Kontaktgruppen aus der Service-Definition benutzt. Bei allen
  Beispielen, die wir benutzen, nehmen wir an, dass die Default-Kontaktgruppe für die Service-Definition
  <span class="emphasis"><em>nt-admins</em></span> lautet.</p>

  <p><span class="bold"><strong>Kontaktgruppen</strong></span></p>

  <p>Beim Definieren von Benachrichtigungs-Eskalationen ist es wichtig zu wissen, dass alle Kontaktgruppen, die Mitglieder von
  "niedrigeren" Eskalationen (d.h. mit niedrigeren Benachrichtigungsnummern-Bereichen) sind, auch in den "höheren"
  Eskalationsdefinitionen enthalten sein sollen. Das sollte passieren, um sicherzustellen, dass jeder, der über ein Problem
  informiert wird, <span class="emphasis"><em>weiterhin</em></span> informiert wird, wenn ein Problem eskaliert. Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   90
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      6
        last_notification       0
        notification_interval   60
        contact_groups          nt-admins,managers,everyone
        }</pre>

  <p>Die erste (oder "niedrigste") Eskalationsstufe umfasst die <span class="emphasis"><em>nt-admins</em></span> und die
  <span class="emphasis"><em>managers</em></span>-Kontaktgruppe. Die letzte (oder "höchste") umfasst die <span class="emphasis"><em>nt-admins</em></span>,
  <span class="emphasis"><em>managers</em></span> und <span class="emphasis"><em>everyone</em></span>-Kontaktgruppen. Beachten Sie, dass die
  <span class="emphasis"><em>nt-admins</em></span>-Kontaktgruppe in beiden Eskalationsdefinitionen enthalten ist. Dies passiert, damit sie weiterhin
  per Pager informiert werden, falls noch Probleme existieren, nachdem die ersten beiden Service-Benachrichtigungen versandt
  wurden. Die <span class="emphasis"><em>managers</em></span>-Kontaktgruppe erscheint zuerst in der "niedrigen" Eskalationsdefinition - sie wird das
  erste Mal benachrichtigt, wenn die dritte Benachrichtigung versandt wird. Wir möchten, dass die
  <span class="emphasis"><em>managers</em></span>-Gruppe weiterhin informiert wird, wenn das Problem nach der fünften Benachrichtigung noch
  existiert, also sind sie in der "höheren" Eskalationsdefinition enthalten.</p>

  <p><span class="bold"><strong>Überlappende Eskalationsbereiche</strong></span></p>

  <p>Benachrichtigungs-Eskalationsdefinitionen können Benachrichtigungs-Bereiche haben, die überlappen. Nehmen Sie das folgende
  Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   20
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      4
        last_notification       0
        notification_interval   30
        contact_groups          on-call-support
        }</pre>

  <p>Im obigen Beispiel:</p>

  <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
      <p>die <span class="emphasis"><em>nt-admins</em></span>- und <span class="emphasis"><em>managers</em></span>-Kontaktgruppen werden bei der dritten
      Benachrichtung informiert</p>
    </li>
<li class="listitem">
      <p>alle drei Kontaktgruppen werden bei der vierten und fünften Benachrichtigung informiert</p>
    </li>
<li class="listitem">
      <p>nur die <span class="emphasis"><em>on-call-support</em></span>-Kontaktgruppe wird bei der sechsten (und höheren) Benachrichtigung
      informiert</p>
    </li>
</ul></div>

  <p><span class="bold"><strong>Erholungsbenachrichtigungen</strong></span></p>

  <p>Erholungsbenachrichtigungen unterscheiden sich geringfügig von Problembenachrichtigungen, wenn es um Eskalationen geht.
  Nehmen Sie das folgende Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   20
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      4
        last_notification       0
        notification_interval   30
        contact_groups          on-call-support
        }</pre>

  <p>Falls nach drei Problembenachrichtigungen eine Erholungsbenachrichtigung für den Service versandt wird: wer wird
  informiert? Die Erholung ist eigentlich die vierte Benachrichtigung, die versandt wird. Allerdings ist der Eskalationscode
  intelligent genug zu erkennen, dass nur die Leute, die die dritte Problembenachrichtigung erhalten haben, auch über die Erholung
  informiert werden. In diesem Fall würden die <span class="emphasis"><em>nt-admins</em></span>- und <span class="emphasis"><em>managers</em></span>-Kontaktgruppen
  über die Erholung informiert werden.</p>

  <p><span class="bold"><strong>Benachrichtigungsintervalle</strong></span></p>

  <p>Sie können die Häufigkeit, mit der eskalierte Benachrichtigungen für einen bestimmten Host oder Service versandt werden,
  mit der <span class="emphasis"><em>notification_interval</em></span>-Option in der Hostgroup- oder Service-Eskalations-Definition ändern.
  Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   45
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      6
        last_notification       0
        notification_interval   60
        contact_groups          nt-admins,managers,everyone
        }</pre>

  <p>In diesem Beispiel sehen wir, dass das Default-Benachrichtigungsintervall für den Service auf 240 Minuten eingestellt ist
  (das ist der Wert in der Service-Definition). Wenn die Service-Benachrichtigung bei der dritten, vierten und fünften
  Benachrichtigung eskaliert, wird ein Intervall von 45 Minuten zwischen den Benachrichtigungen genutzt. Bei der sechsten und
  folgenden Benachrichtigungen ist das Benachrichtigungsintervall 60 Minuten, wie in der zweiten Eskalationsdefinition
  angegeben.</p>

  <p>Nachdem es möglich ist, überlappende Eskalationsdefinitonen für eine bestimmte Hostgruppe oder einen Service zu haben, und
  der Tatsache, dass ein Host Mitglied von mehreren Hostgruppen sein kann, muss Icinga eine Entscheidung treffen, was zu
  tun ist, wenn die Benachrichtigungs-Intervalle von Eskalationsdefinitionen überlappen. In jedem Fall, wenn es mehrere gültige
  Eskalationsdefinitionen für eine bestimmte Benachrichtigung gibt, wird Icinga das kleinste Benachrichtigungs-Intervall
  wählen. Nehmen Sie das folgende Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   45
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      4
        last_notification       0
        notification_interval   60
        contact_groups          nt-admins,managers,everyone
        }</pre>

  <p>Wir sehen, dass die beiden Eskalationsdefinitionen bei der vierten und fünften Benachrichtigung überlappen. Bei diesen
  Benachrichtigungen wird Icinga ein Benachrichtigungsintervall von 45 Minuten benutzen, weil dies das kleinste Intervall
  aller vorhandenen gültigen Eskalationsdefinitionen für diese Benachrichtigungen ist.</p>

  <p>Eine letzte Anmerkung zu Benachrichtigungsintervallen, die Intervalle von 0 behandelt. Ein Intervall von 0 bedeutet, dass
  Icinga lediglich eine Benachrichtigung für die erste gültige Benachrichtigung während der Eskalationsdefinition
  versendet. Alle folgenden Benachrichtigungen für die Hostgruppe oder den Service werden unterdrückt. Nehmen Sie dieses
  Beispiel:</p>

  <pre class="screen"> define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      3
        last_notification       5
        notification_interval   45
        contact_groups          nt-admins,managers
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      4
        last_notification       6
        notification_interval   0
        contact_groups          nt-admins,managers,everyone
        }
 define serviceescalation{
        host_name               webserver
        service_description     HTTP
        first_notification      7
        last_notification       0
        notification_interval   30
        contact_groups          nt-admins,managers
        }</pre>

  <p>In dem obigen Beispiel werden maximal vier Problembenachrichtigungen zu diesem Service versandt. Das ist so, weil das
  Benachrichtigungsintervall 0 in der zweiten Eskalationsdefinition angibt, dass nur eine Benachrichtigung versandt werden soll
  (beginnend mit der vierten und diese einschließend) und folgende Benachrichtigungen unterdrückt werden sollen. Deshalb hat die
  dritte Eskalationsdefinition keinerlei Auswirkungen, denn es wird nie mehr als vier Benachrichtigungen geben.</p>

  <p><span class="bold"><strong>Zeitfenster-Beschränkungen</strong></span></p>

  <p>Unter normalen Umständen können Eskalationen zu jeder Zeit benutzt werden, zu der Benachrichtigungen für einen Host oder
  Service versandt werden. Dieses "Benachrichtigungs-Zeitfenster" ist festgelegt durch die
  <span class="emphasis"><em>notification_period</em></span>-Direktive in der <a class="link" href="objectdefinitions.html#objectdefinitions-host">Host</a>- oder <a class="link" href="objectdefinitions.html#objectdefinitions-service">Service</a>-Definition.</p>

  <p>Sie können optional Eskalationen durch die <span class="emphasis"><em>escalation_period</em></span>-Direktive in der Host- oder
  Service-Eskalationsdefinition beschränken, so dass sie lediglich während bestimmter Zeitspannen benutzt werden. Wenn Sie die
  <span class="emphasis"><em>escalation_period</em></span>-Direktive benutzen, um eine <a class="link" href="timeperiods.html" title="Zeitfenster">Zeitspanne</a> zu definieren,
  während der die Eskalation benutzt werden kann, wird sie nur zu dieser Zeit benutzt. Wenn Sie keine
  <span class="emphasis"><em>escalation_period</em></span>-Direktive angeben, kann die Eskalation zu jeder Zeit innerhalb des
  "Benachrichtigungs-Zeitfensters" des Hosts oder Service benutzt werden.</p>

  <p><span class="inlinemediaobject"><img src="../images/note.gif"></span> Anmerkung: eskalierte Benachrichtigungen unterliegen weiterhin den normalen Zeitbeschränkungen, die durch
  die <span class="emphasis"><em>notification_period</em></span>-Direktive in einer Host- oder Service-Definition festgelegt wurden, so dass die
  Zeitspanne, die Sie in einer Eskalationsdefinition angeben, ein Teil des größeren "Benachrichtigungs-Zeitfensters" sein
  sollte.</p>

  <p><span class="bold"><strong>Status-Beschränkungen</strong></span></p>

  <p>Wenn Sie die Eskalationsdefinition beschränken wollen, damit sie nur benutzt wird, während sich der Host oder Service in
  einem bestimmten Zustand befindet, so können Sie die <span class="emphasis"><em>escalation_options</em></span>-Direktive in der Host- oder
  Service-Eskalationsdefinition benutzen. Wenn Sie die <span class="emphasis"><em>escalation_options</em></span>-Direktive nicht verwenden, werden
  die Eskalationen in jedem Status der Hosts oder Services benutzt.</p>
  <a class="indexterm" name="id5598965"></a>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="flapping.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="escalation_condition.html">Weiter</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Erkennung und Behandlung von Status-Flattern </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td>
<td width="40%" align="right" valign="top"> Eskalations-Bedingung</td>
</tr>
</table>
</div>
<P class="copyright">© 2009-2010 Icinga Development Team, http://www.icinga.org</P>
</body>
</html>