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