File: dependencychecks.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 (145 lines) | stat: -rw-r--r-- 8,272 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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>7.20. Predictive Dependency Checks</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 Documentation">
<link rel="up" href="ch07.html" title="Chapter 7. Advanced Topics">
<link rel="prev" href="adaptive.html" title="7.19. Adaptive Monitoring">
<link rel="next" href="cachedchecks.html" title="7.21. Cached Checks">
<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.20. Predictive Dependency Checks</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="adaptive.html">Prev</a> </td>
<th width="60%" align="center">Chapter 7. Advanced Topics</th>
<td width="20%" align="right"> <a accesskey="n" href="cachedchecks.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div class="section" title="7.20. Predictive Dependency Checks">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="dependencychecks"></a>7.20. <a name="dependency_checks"></a>Predictive Dependency Checks</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section">7.20.1. <a href="dependencychecks.html#introduction">Introduction</a></span></dt>
<dt><span class="section">7.20.2. <a href="dependencychecks.html#howitworks">How Do Predictive Checks Work?</a></span></dt>
<dt><span class="section">7.20.3. <a href="dependencychecks.html#enable">Enabling Predictive Checks</a></span></dt>
<dt><span class="section">7.20.4. <a href="dependencychecks.html#cacheddependencychecks">Cached Checks</a></span></dt>
</dl></div>
  

  <div class="section" title="7.20.1. Introduction">
<div class="titlepage"><div><div><h3 class="title">
<a name="introduction"></a>7.20.1. Introduction</h3></div></div></div>
	  

  <p>Host and service <a class="link" href="dependencies.html" title="7.13. Host and Service Dependencies">dependencies</a> can be defined to allow you greater control over when
  checks are executed and when notifications are sent out. As dependencies are used to control basic aspects of the monitoring
  process, it is crucial to ensure that status information used in the dependency logic is as up to date as possible.</p>

  <p>Icinga allows you to enable predictive dependency checks for hosts and services to ensure that the dependency logic
  will have the most up-to-date status information when it comes to making decisions about whether to send out notifications or
  allow active checks of a host or service.</p>

  </div>

  <div class="section" title="7.20.2. How Do Predictive Checks Work?">
<div class="titlepage"><div><div><h3 class="title">
<a name="howitworks"></a>7.20.2. How Do Predictive Checks Work?</h3></div></div></div>
	  

  <p>The image below shows a basic diagram of hosts that are being monitored by Icinga, along with their parent/child
  relationships and dependencies.</p>

  <p>The <span class="emphasis"><em>Switch2</em></span> host in this example has just changed state from an UP state to a problem state.
  Icinga needs to determine whether the host is DOWN or UNREACHABLE, so it will launch parallel checks of
  <span class="emphasis"><em>Switch2</em></span>'s immediate parents (<span class="emphasis"><em>Firewall1</em></span>) and children (<span class="emphasis"><em>Comp1</em></span>,
  <span class="emphasis"><em>Comp2</em></span>, and <span class="emphasis"><em>Switch3</em></span>). This is a normal function of the <a class="link" href="networkreachability.html" title="5.10. Determining Status and Reachability of Network Hosts">host reachability</a> logic.</p>

  <p>You will also notice that <span class="emphasis"><em>Switch2</em></span> is depending on <span class="emphasis"><em>Monitor1</em></span> and
  <span class="emphasis"><em>File1</em></span> for either notifications or check execution (which one is unimportant in this example). If predictive
  host dependency checks are enabled, Icinga will launch parallel checks of <span class="emphasis"><em>Monitor1</em></span> and
  <span class="emphasis"><em>File1</em></span> at the same time it launches checks of <span class="emphasis"><em>Switch2</em></span>'s immediate parents and children.
  Icinga does this because it knows that it will have to test the dependency logic in the near future (e.g. for purposes of
  notification) and it wants to make sure it has the most current status information for the hosts that take part in the
  dependency.</p>

  <p><span class="inlinemediaobject"><img src="../images/predictive-dependency-checks.png"></span></p>

  <p>That's how predictive dependency checks work. Simple, eh?</p>

  <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top">
    <p>Predictive service dependency checks work in a similiar manner to what is described above. Except, of course, they deal
    with services instead of hosts.</p>
  </td></tr>
</table></div>

  </div>

  <div class="section" title="7.20.3. Enabling Predictive Checks">
<div class="titlepage"><div><div><h3 class="title">
<a name="enable"></a>7.20.3. Enabling Predictive Checks</h3></div></div></div>
	  

  <p>Predictive dependency checks involve rather little overhead, so I would recommend that you enable them. In most cases, the
  benefits of having accurate information for the dependency logic outweighs the extra overhead imposed by these checks.</p>

  <p>Enabling predictive dependency checks is easy:</p>

  <div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
      <p>Predictive host dependency checks are controlled by the <a class="link" href="configmain.html#configmain-enable_predictive_host_dependency_checks">enable_predictive_host_dependency_checks</a> option.</p>
    </li>
<li class="listitem">
      <p>Predictive service dependency checks are controlled by the <a class="link" href="configmain.html#configmain-enable_predictive_service_dependency_checks">enable_predictive_service_dependency_checks</a>
      option.</p>
    </li>
</ul></div>

  </div>

  <div class="section" title="7.20.4. Cached Checks">
<div class="titlepage"><div><div><h3 class="title">
<a name="cacheddependencychecks"></a>7.20.4. Cached Checks</h3></div></div></div>
	  

  <p>Predictive dependency checks are on-demand checks and are therefore subject to the rules of <a class="link" href="cachedchecks.html" title="7.21. Cached Checks">cached checks</a>. Cached checks can provide you with performance improvements by allowing
  Icinga to forgo running an actual host or service check if it can use a relatively recent check result instead. More
  information on cached checks can be found <a class="link" href="cachedchecks.html" title="7.21. Cached Checks">here</a>.</p>
  <a class="indexterm" name="idm140381623959776"></a>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="adaptive.html">Prev</a> </td>
<td width="20%" align="center"><a accesskey="u" href="ch07.html">Up</a></td>
<td width="40%" align="right"> <a accesskey="n" href="cachedchecks.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">7.19. Adaptive Monitoring </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td>
<td width="40%" align="right" valign="top"> 7.21. Cached Checks</td>
</tr>
</table>
</div>
<P class="copyright">© 1999-2009 Ethan Galstad, 2009-2017 Icinga Development Team, https://www.icinga.com</P>
</body>
</html>