120 lines
4.2 KiB
Plaintext
120 lines
4.2 KiB
Plaintext
|
/** @page configincompat3to4 Configuration Incompatibilities 3->4
|
||
|
|
||
|
This page lists configuration incompatibilities between Nagios 3
|
||
|
and Nagios 4.
|
||
|
|
||
|
[TOC]
|
||
|
|
||
|
@section mainconfig Main Config File Options
|
||
|
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:
|
||
|
@li command_check_interval
|
||
|
@li external_command_buffer_slots
|
||
|
@li sleep_time
|
||
|
@li enable_failure_prediction
|
||
|
@li enable_embedded_perl
|
||
|
@li use_embedded_perl_implicitly
|
||
|
@li auth_file
|
||
|
@li p1_file
|
||
|
|
||
|
|
||
|
@section nestedgroups Nested Group Includes
|
||
|
In Nagios 3, it's possible to have groups include each other
|
||
|
cyclically, like this:
|
||
|
@verbatim
|
||
|
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
|
||
|
}
|
||
|
@endverbatim
|
||
|
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.
|
||
|
|
||
|
This will work the same for all grouptypes.
|
||
|
|
||
|
@section groupinherits Group Inheritance
|
||
|
Groups no longer inherit each others exclusions. Consider the
|
||
|
following scenario:
|
||
|
@verbatim
|
||
|
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
|
||
|
}
|
||
|
@endverbatim
|
||
|
In Nagios 3, A would *not* 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.
|
||
|
|
||
|
The same goes for all group types, and not just hostgroups.
|
||
|
|
||
|
@section oconfchanges Object Configuration Changes
|
||
|
@subsection Deprecations
|
||
|
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.
|
||
|
|
||
|
@subsection additions Additions
|
||
|
Services have two new configurable values:
|
||
|
@li parents
|
||
|
@li hourly_value
|
||
|
|
||
|
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.
|
||
|
|
||
|
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.
|
||
|
|
||
|
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.
|
||
|
*/
|