File: escalations.html

package info (click to toggle)
icinga 1.14.2%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 49,264 kB
  • sloc: ansic: 108,564; sql: 9,656; sh: 4,945; perl: 3,439; makefile: 1,213; php: 581; xml: 104
file content (350 lines) | stat: -rw-r--r-- 19,808 bytes parent folder | download
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
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>7.9. Benachrichtigungseskalationen</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="flapping.html" title="7.8. Erkennung und Behandlung von Status-Flattern">
<link rel="next" href="escalation_condition.html" title="7.10. Eskalations-Bedingung">
<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.9. 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 7. 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="7.9. Benachrichtigungseskalationen">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="escalations"></a>7.9. Benachrichtigungseskalationen</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section">7.9.1. <a href="escalations.html#introduction">Einführung</a></span></dt>
<dt><span class="section">7.9.2. <a href="escalations.html#notificationsescalated">Wann werden Benachrichtigungen eskaliert?</a></span></dt>
<dt><span class="section">7.9.3. <a href="escalations.html#contactgroups">Kontaktgruppen</a></span></dt>
<dt><span class="section">7.9.4. <a href="escalations.html#overlappingranges">Überlappende Eskalationsbereiche</a></span></dt>
<dt><span class="section">7.9.5. <a href="escalations.html#recoverynotifications">Erholungsbenachrichtigungen</a></span></dt>
<dt><span class="section">7.9.6. <a href="escalations.html#notificationintervals">Benachrichtigungsintervalle</a></span></dt>
<dt><span class="section">7.9.7. <a href="escalations.html#timeperiodrestrictions">Zeitfenster-Beschränkungen</a></span></dt>
<dt><span class="section">7.9.8. <a href="escalations.html#staterestrictions">Status-Beschränkungen</a></span></dt>
</dl></div>
  

  <div class="section" title="7.9.1. Einführung">
<div class="titlepage"><div><div><h3 class="title">
<a name="introduction"></a>7.9.1. Einführung</h3></div></div></div>
    

    <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="3.3. Ü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>
  </div>

  <div class="section" title="7.9.2. Wann werden Benachrichtigungen eskaliert?">
<div class="titlepage"><div><div><h3 class="title">
<a name="notificationsescalated"></a>7.9.2. Wann werden Benachrichtigungen eskaliert?</h3></div></div></div>
    

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

  <div class="section" title="7.9.3. Kontaktgruppen">
<div class="titlepage"><div><div><h3 class="title">
<a name="contactgroups"></a>7.9.3. Kontaktgruppen</h3></div></div></div>
    

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

  <div class="section" title="7.9.4. Überlappende Eskalationsbereiche">
<div class="titlepage"><div><div><h3 class="title">
<a name="overlappingranges"></a>7.9.4. Überlappende Eskalationsbereiche</h3></div></div></div>
    

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

  <div class="section" title="7.9.5. Erholungsbenachrichtigungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="recoverynotifications"></a>7.9.5. Erholungsbenachrichtigungen</h3></div></div></div>
    

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

  <div class="section" title="7.9.6. Benachrichtigungsintervalle">
<div class="titlepage"><div><div><h3 class="title">
<a name="notificationintervals"></a>7.9.6. Benachrichtigungsintervalle</h3></div></div></div>
    

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

  <div class="section" title="7.9.7. Zeitfenster-Beschränkungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="timeperiodrestrictions"></a>7.9.7. Zeitfenster-Beschränkungen</h3></div></div></div>
    

    <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="5.9. 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>
  </div>

  <div class="section" title="7.9.8. Status-Beschränkungen">
<div class="titlepage"><div><div><h3 class="title">
<a name="staterestrictions"></a>7.9.8. Status-Beschränkungen</h3></div></div></div>
    

    <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="idm139734665749712"></a>
  </div>
</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="ch07.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">7.8. 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"> 7.10. Eskalations-Bedingung</td>
</tr>
</table>
</div>
<P class="copyright">© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com</P>
</body>
</html>