%PDF- %PDF-
Direktori : /proc/self/root/proc/self/root/usr/share/nagios/html/docs/ |
Current File : //proc/self/root/proc/self/root/usr/share/nagios/html/docs/configincompat3to4.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.5"/> <title>Nagios: Configuration Incompatibilities 3->4</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Nagios  <span id="projectnumber">4.4.3</span> </div> <div id="projectbrief">Dev docs for Nagios core and neb-module hackers</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">Configuration Incompatibilities 3->4 </div> </div> </div><!--header--> <div class="contents"> <div class="toc"><h3>Table of Contents</h3> <ul><li class="level1"><a href="#mainconfig">Main Config File Options</a></li> <li class="level1"><a href="#nestedgroups">Nested Group Includes</a></li> <li class="level1"><a href="#groupinherits">Group Inheritance</a></li> <li class="level1"><a href="#oconfchanges">Object Configuration Changes</a><ul><li class="level2"><a href="#Deprecations"></a></li> <li class="level2"><a href="#additions">Additions</a></li> </ul> </li> </ul> </div> <div class="textblock"><p>This page lists configuration incompatibilities between Nagios 3 and Nagios 4.</p> <h1><a class="anchor" id="mainconfig"></a> Main Config File Options</h1> <p>Since command file handling has been redone, embedded perl has been removed and the event execution loop now sits and waits on input from worker processes rather than spending any time sleeping, the following variables have been obsoleted, will yield a warning when encountered and no longer have any effect on monitoring: </p> <ul> <li>command_check_interval </li> <li>external_command_buffer_slots </li> <li>sleep_time </li> <li>enable_failure_prediction </li> <li>enable_embedded_perl </li> <li>use_embedded_perl_implicitly </li> <li>auth_file </li> <li>p1_file</li> </ul> <h1><a class="anchor" id="nestedgroups"></a> Nested Group Includes</h1> <p>In Nagios 3, it's possible to have groups include each other cyclically, like this: </p> <pre class="fragment">define hostgroup{ hostgroup_name HG1 alias Hostgroup 1 hostgroup_members HG3 } define hostgroup{ hostgroup_name HG2 alias Hostgroup 2 hostgroup_members HG1 } define hostgroup{ hostgroup_name HG3 alias Hostgroup 3 hostgroup_members HG2 } </pre><p> With Nagios 4, that will generate an error. The Nagios 3 behaviour is that the first hostgroup, as determined by alphabetical sorting, will get the members of its included groups, but the later ones in the sorting will not get the members of the previous ones. Since that is an error-prone and illogical way of assigning group members, we now disallow it.</p> <p>This will work the same for all grouptypes.</p> <h1><a class="anchor" id="groupinherits"></a> Group Inheritance</h1> <p>Groups no longer inherit each others exclusions. Consider the following scenario: </p> <pre class="fragment">define host{ use default-host-template host_name A alias linux Server1 address 127.0.0.1 hostgroups HG1 contact_groups support-group } define hostgroup{ hostgroup_name HG1 alias Hostgroup 1 hostgroup_members HG3 } define hostgroup{ hostgroup_name HG3 alias Hostgroup 3 members E,F,H,!A hostgroup_members HG2 } </pre><p> In Nagios 3, A would <em>not</em> be a member of HG1. In Nagios 4, it will, because the logic has been fixed so that group inclusion works only with the actual members, and not the rules concerning how those members were chosen. If you want to carry over exclusions, you can instead make a template and 'use' one hostgroup from another.</p> <p>The same goes for all group types, and not just hostgroups.</p> <h1><a class="anchor" id="oconfchanges"></a> Object Configuration Changes</h1> <h2><a class="anchor" id="Deprecations"></a> Deprecations</h2> <p>The "obsess_over_host" (for hosts) and "obsess_over_service" (for services) configuration variables have been renamed to simply "obsess". The old values will serve as aliases for the duration of the Nagios 4 lifetime and will be removed in Nagios 5. Users should adjust their configurations accordingly.</p> <h2><a class="anchor" id="additions"></a> Additions</h2> <p>Services have two new configurable values: </p> <ul> <li>parents </li> <li>hourly_value</li> </ul> <p>The 'parents' directive can be used to suppress notifications for a service in much the same way that it can be used for hosts. If all parents of a particular service are in a non-OK state when the child service enters a HARD state (and should have notified), notifications will be suppressed for the child service.</p> <p>The 'hourly_value' directive can be used to set a service 'value' of the service in question. It works in tandem with a new directive for contacts ("minimum_value") in order to suppress notifications, and UI's are encouraged to take it into account to display the most severe and valuable errors in a more prominent fashion. Note that it has no currency attached to it, so whether you interpret it as affected_users, business_value or whatever is entirely up to you.</p> <p>Contacts have one new configurable value, namely 'minimum_value', which sets the minimum notification value for which the contact should get notified. The notification value is determined by the total value of all objects affected by the problem. </p> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>