mirror of https://github.com/Icinga/icinga2.git
Update documentation.
This commit is contained in:
parent
e954e38c5e
commit
22dccac2b0
|
@ -1,22 +1,20 @@
|
|||
# About
|
||||
# About Icinga 2
|
||||
|
||||
## About Icinga 2
|
||||
|
||||
### What is Icinga?
|
||||
## What is Icinga 2?
|
||||
|
||||
Icinga 2 is a network monitoring application.
|
||||
|
||||
### Licensing
|
||||
## Licensing
|
||||
|
||||
Icinga 2 and the Icinga 2 documentation are licensed under the terms of the GNU
|
||||
General Public License Version 2, you will find a copy of this license in the
|
||||
LICENSE file included in the package.
|
||||
|
||||
### Support
|
||||
## Support
|
||||
|
||||
Support for Icinga 2 is available in a number of ways. Please have a look at
|
||||
the support overview page at https://www.icinga.org/support/.
|
||||
|
||||
## What's New in Version 0.0.3
|
||||
|
||||
* Lots of things.
|
||||
* Lots of things.
|
||||
|
|
|
@ -6,7 +6,7 @@ This tutorial is a step-by-step introduction to installing Icinga 2 and
|
|||
the standalone version of the Icinga 1.x classic web interface. It assumes
|
||||
that you are familiar with the system you're installing Icinga 2 on.
|
||||
|
||||
### Installing Icinga 2
|
||||
### Setting up Icinga 2
|
||||
|
||||
In order to get started with Icinga 2 you will have to install it. The
|
||||
preferred way of doing this is to use the official Debian or RPM
|
||||
|
@ -27,6 +27,8 @@ In case you're running a distribution for which Icinga 2 packages are
|
|||
not yet available you will have to check out the Icinga 2 Git repository
|
||||
from git://git.icinga.org/icinga2 and read the *INSTALL* file.
|
||||
|
||||
#### Installation Paths
|
||||
|
||||
By default Icinga 2 uses the following files and directories:
|
||||
|
||||
Path |Description
|
||||
|
@ -39,6 +41,8 @@ By default Icinga 2 uses the following files and directories:
|
|||
/var/cache/icinga2 |Performance data files and status.dat/objects.cache.
|
||||
/var/lib/icinga2 |The Icinga 2 state file.
|
||||
|
||||
#### Configuration
|
||||
|
||||
An example configuration file is installed for you in /etc/icinga2/icinga2.conf.
|
||||
|
||||
Here's a brief description of the concepts the example configuration file
|
||||
|
@ -149,7 +153,7 @@ The *macros* attribute can be used to define macros that are available for all
|
|||
services which belong to this host. Most of the templates in the Icinga Template
|
||||
Library require an *address* macro.
|
||||
|
||||
### Installing the Icinga Classic UI
|
||||
### Setting up the Icinga Classic UI
|
||||
|
||||
Icinga 2 can write status.dat and objects.cache files in the format that
|
||||
is supported by the Icinga 1.x Classic UI. External commands (a.k.a. the
|
||||
|
@ -163,6 +167,8 @@ You should be able to find the status.dat and objects.cache files in
|
|||
/var/cache/icinga2. The log files can be found in /var/log/icinga2/compat.
|
||||
The command pipe can be found in /var/run/icinga2.
|
||||
|
||||
#### Installing the Icinga Classic UI
|
||||
|
||||
You can install the Icinga 1.x Classic UI in standalone mode using the
|
||||
following commands:
|
||||
|
||||
|
@ -179,9 +185,11 @@ following commands:
|
|||
> found on the Icinga Wiki here:
|
||||
> [https://wiki.icinga.org/display/howtos/Setting+up+Icinga+Classic+UI+Standalone](https://wiki.icinga.org/display/howtos/Setting+up+Icinga+Classic+UI+Standalone)
|
||||
|
||||
#### Configuring the Classic UI
|
||||
|
||||
After installing the Classic UI you will need to update the following
|
||||
settings in your cgi.cfg configuration file in the "STANDALONE (ICINGA 2)
|
||||
OPTIONS" section:
|
||||
settings in your *cgi.cfg* configuration file in the *STANDALONE (ICINGA 2)
|
||||
OPTIONS* section:
|
||||
|
||||
Configuration Setting |Value
|
||||
------------------------------------|------------------------------------
|
||||
|
@ -215,4 +223,50 @@ write permissions for the command pipe:
|
|||
|
||||
Verify that your Icinga 1.x Classic UI works by browsing to your Classic
|
||||
UI installation URL, e.g.
|
||||
[http://localhost/icinga](http://localhost/icinga)
|
||||
[http://localhost/icinga](http://localhost/icinga)
|
||||
|
||||
### Configuring IDO Support
|
||||
|
||||
TODO
|
||||
|
||||
## Running Icinga
|
||||
|
||||
TODO
|
||||
|
||||
## Monitoring Basics
|
||||
|
||||
### Hosts
|
||||
|
||||
TODO
|
||||
|
||||
### Services
|
||||
|
||||
TODO
|
||||
|
||||
### Check Commands
|
||||
|
||||
TODO
|
||||
|
||||
### Macros
|
||||
|
||||
TODO
|
||||
|
||||
## Using Templates
|
||||
|
||||
TODO
|
||||
|
||||
## Groups
|
||||
|
||||
TODO
|
||||
|
||||
## Host/Service Dependencies
|
||||
|
||||
TODO
|
||||
|
||||
## Time Periods
|
||||
|
||||
TODO
|
||||
|
||||
## Notifications
|
||||
|
||||
TODO
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
# Configuring Icinga
|
|
@ -1,8 +1,6 @@
|
|||
Configuration Syntax
|
||||
====================
|
||||
## Configuration Syntax
|
||||
|
||||
Object Definition
|
||||
-----------------
|
||||
### Object Definition
|
||||
|
||||
Icinga 2 features an object-based configuration format. In order to
|
||||
define objects the *object* keyword is used:
|
||||
|
@ -29,7 +27,7 @@ Each object is uniquely identified by its type (*Host*) and name
|
|||
property declarations. The following data types are available for
|
||||
property values:
|
||||
|
||||
### Numeric Literals
|
||||
#### Numeric Literals
|
||||
|
||||
A floating-point number.
|
||||
|
||||
|
@ -37,7 +35,7 @@ Example:
|
|||
|
||||
-27.3
|
||||
|
||||
### Duration Literal
|
||||
#### Duration Literals
|
||||
|
||||
Similar to floating-point numbers except for the fact that they support
|
||||
suffixes to help with specifying time durations.
|
||||
|
@ -49,7 +47,7 @@ Example:
|
|||
Supported suffixes include ms (milliseconds), s (seconds), m (minutes)
|
||||
and h (hours).
|
||||
|
||||
### String Literals
|
||||
#### String Literals
|
||||
|
||||
A string.
|
||||
|
||||
|
@ -74,7 +72,7 @@ In addition to these pre-defined escape sequences you can specify
|
|||
arbitrary ASCII characters using the backslash character (\\) followed
|
||||
by an ASCII character in octal encoding.
|
||||
|
||||
### Multiline String Literals
|
||||
#### Multiline String Literals
|
||||
|
||||
Strings spanning multiple lines can be specified by enclosing them in
|
||||
{{{ and }}}.
|
||||
|
@ -86,15 +84,15 @@ Example.
|
|||
a multi-line
|
||||
string.}}}
|
||||
|
||||
### Boolean Literals
|
||||
#### Boolean Literals
|
||||
|
||||
The keywords *true* and *false* are equivalent to 1 and 0 respectively.
|
||||
|
||||
### Null Value
|
||||
#### Null Value
|
||||
|
||||
The *null* keyword can be used to specify an empty value.
|
||||
|
||||
### Dictionary
|
||||
#### Dictionary
|
||||
|
||||
An unordered list of key-value pairs. Keys must be unique and are
|
||||
compared in a case-insensitive manner.
|
||||
|
@ -121,7 +119,7 @@ Example:
|
|||
> Setting a dictionary key to null causes the key and its value to be
|
||||
> removed from the dictionary.
|
||||
|
||||
### Array
|
||||
#### Array
|
||||
|
||||
An ordered list of values.
|
||||
|
||||
|
@ -130,26 +128,20 @@ comma. The comma after the last element is optional.
|
|||
|
||||
Example:
|
||||
|
||||
[
|
||||
"hello",
|
||||
"world",
|
||||
42,
|
||||
[ "a", "nested", "array" ]
|
||||
]
|
||||
[ "hello", 42 ]
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> An array may simultaneously contain values of different types, e.g.
|
||||
> An array may simultaneously contain values of different types, such as
|
||||
> strings and numbers.
|
||||
|
||||
Operators
|
||||
---------
|
||||
### Operators
|
||||
|
||||
In addition to the *=* operator shown above a number of other operators
|
||||
to manipulate configuration objects are supported. Here's a list of all
|
||||
available operators:
|
||||
|
||||
### Operator =
|
||||
#### Operator =
|
||||
|
||||
Sets a dictionary element to the specified value.
|
||||
|
||||
|
@ -162,7 +154,7 @@ Example:
|
|||
|
||||
In this example a has the value 7 after both instructions are executed.
|
||||
|
||||
### Operator +=
|
||||
#### Operator +=
|
||||
|
||||
Modifies a dictionary or array by adding new elements to it.
|
||||
|
||||
|
@ -178,7 +170,7 @@ only works for dictionaries and arrays.
|
|||
|
||||
<!--
|
||||
|
||||
### Operator *-=*
|
||||
#### Operator -=
|
||||
|
||||
Removes elements from a dictionary.
|
||||
|
||||
|
@ -192,7 +184,7 @@ Example:
|
|||
In this example a contains *"hello"*. Trying to remove an item that does
|
||||
not exist is not an error. Not implemented yet.
|
||||
|
||||
### Operator *\*=*
|
||||
#### Operator \*=
|
||||
|
||||
Multiplies an existing dictionary element with the specified number. If
|
||||
the dictionary element does not already exist 0 is used as its value.
|
||||
|
@ -207,7 +199,7 @@ Example:
|
|||
In this example a is 300. This only works for numbers. Not implemented
|
||||
yet.
|
||||
|
||||
### Operator */=*
|
||||
#### Operator /=
|
||||
|
||||
Divides an existing dictionary element by the specified number. If the
|
||||
dictionary element does not already exist 0 is used as its value.
|
||||
|
@ -224,10 +216,9 @@ yet.
|
|||
|
||||
-->
|
||||
|
||||
Attribute Shortcuts
|
||||
-------------------
|
||||
### Indexer
|
||||
|
||||
### Indexer Shortcut
|
||||
The indexer syntax provides a convenient way to set dictionary elements.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -243,8 +234,7 @@ This is equivalent to writing:
|
|||
}
|
||||
}
|
||||
|
||||
Inheritance
|
||||
-----------
|
||||
### Inheritance
|
||||
|
||||
Objects can inherit attributes from other objects.
|
||||
|
||||
|
@ -278,8 +268,7 @@ templates though in general they are.
|
|||
Parent objects are resolved in the order they're specified using the
|
||||
*inherits* keyword.
|
||||
|
||||
Variables
|
||||
---------
|
||||
### Variables
|
||||
|
||||
Global variables can be set using the *set* keyword:
|
||||
|
||||
|
@ -287,8 +276,7 @@ Global variables can be set using the *set* keyword:
|
|||
|
||||
The value can be a string, number, array or a dictionary.
|
||||
|
||||
Constant Expressions
|
||||
--------------------
|
||||
### Constant Expressions
|
||||
|
||||
Simple calculations can be performed using the constant expression syntax:
|
||||
|
||||
|
@ -318,8 +306,7 @@ Global variables may be used in constant expressions.
|
|||
> Constant expressions are evaluated as soon as they're encountered in
|
||||
> the configuration file.
|
||||
|
||||
Comments
|
||||
--------
|
||||
### Comments
|
||||
|
||||
The Icinga 2 configuration format supports C/C++-style comments.
|
||||
|
||||
|
@ -333,8 +320,7 @@ Example:
|
|||
retry_interval = 15
|
||||
}
|
||||
|
||||
Includes
|
||||
--------
|
||||
### Includes
|
||||
|
||||
Other configuration files can be included using the *include* directive.
|
||||
Paths must be relative to the configuration file that contains the
|
||||
|
@ -361,8 +347,7 @@ paths.
|
|||
|
||||
Wildcards are not permitted when using angle brackets.
|
||||
|
||||
Library directive
|
||||
-----------------
|
||||
### Library directive
|
||||
|
||||
The *library* directive can be used to manually load additional
|
||||
libraries. Libraries can be used to provide additional object types and
|
||||
|
@ -378,8 +363,7 @@ Example:
|
|||
|
||||
<!--
|
||||
|
||||
Type Definition
|
||||
---------------
|
||||
### Type Definition
|
||||
|
||||
By default Icinga has no way of semantically verifying its configuration
|
||||
objects. This is where type definitions come in. Using type definitions
|
||||
|
|
|
@ -1,48 +1,14 @@
|
|||
Global Variables
|
||||
================
|
||||
## Global Variables
|
||||
|
||||
IcingaPrefixDir
|
||||
---------------
|
||||
Icinga 2 provides a number of special global variables:
|
||||
|
||||
**Read-only.** Contains the installation prefix that was specified with ./configure --prefix. Defaults to /usr/local
|
||||
|
||||
IcingaLocalStateDir
|
||||
-------------------
|
||||
|
||||
**Read-only.** Contains the path of the local state directory. Defaults to IcingaPrefixDir + "/var".
|
||||
|
||||
IcingaPkgLibDir
|
||||
---------------
|
||||
|
||||
**Read-only.** Contains the path of the package lib directory. Defaults to IcingaPrefixDir + "/lib/icinga2".
|
||||
|
||||
IcingaPkgDataDir
|
||||
----------------
|
||||
|
||||
**Read-only.** Contains the path of the package data directory. Defaults to IcingaPrefixDir + "/share/icinga2".
|
||||
|
||||
IcingaStatePath
|
||||
---------------
|
||||
|
||||
**Read-write.** Contains the path of the Icinga 2 state file. Defaults to IcingaLocalStateDir + "/lib/icinga2/icinga2.state".
|
||||
|
||||
IcingaPidPath
|
||||
-------------
|
||||
|
||||
**Read-write.** Contains the path of the Icinga 2 PID file. Defaults to IcingaLocalStateDir + "/run/icinga2/icinga2.pid".
|
||||
|
||||
IcingaMacros
|
||||
------------
|
||||
|
||||
**Read-write.** Contains global macros. Not set by default.
|
||||
|
||||
Example:
|
||||
|
||||
set IcingaMacros = {
|
||||
plugindir = "/opt/check-plugins"
|
||||
}
|
||||
|
||||
ApplicationType
|
||||
---------------
|
||||
|
||||
**Read-write.** Contains the name of the Application type. Defaults to "IcingaApplication".
|
||||
Variable |Description
|
||||
-------------------|-------------------
|
||||
IcingaPrefixDir |**Read-only.** Contains the installation prefix that was specified with ./configure --prefix. Defaults to /usr/local
|
||||
IcingaLocalStateDir|**Read-only.** Contains the path of the local state directory. Defaults to IcingaPrefixDir + "/var".
|
||||
IcingaPkgLibDir |**Read-only.** Contains the path of the package lib directory. Defaults to IcingaPrefixDir + "/lib/icinga2".
|
||||
IcingaPkgDataDir |**Read-only.** Contains the path of the package data directory. Defaults to IcingaPrefixDir + "/share/icinga2".
|
||||
IcingaStatePath |**Read-write.** Contains the path of the Icinga 2 state file. Defaults to IcingaLocalStateDir + "/lib/icinga2/icinga2.state".
|
||||
IcingaPidPath |**Read-write.** Contains the path of the Icinga 2 PID file. Defaults to IcingaLocalStateDir + "/run/icinga2/icinga2.pid".
|
||||
IcingaMacros |**Read-write.** Contains a dictionary with global macros. Not set by default.
|
||||
ApplicationType |**Read-write.** Contains the name of the Application type. Defaults to "IcingaApplication".
|
||||
|
|
|
@ -1,123 +1,71 @@
|
|||
Object Types
|
||||
============
|
||||
## Object Types
|
||||
|
||||
ConsoleLogger
|
||||
-------------
|
||||
### Host
|
||||
|
||||
Specifies Icinga 2 logging to the console.
|
||||
|
||||
Example:
|
||||
|
||||
object ConsoleLogger "my-debug-console" {
|
||||
severity = "debug"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
FileLogger
|
||||
----------
|
||||
|
||||
Specifies Icinga 2 logging to a file.
|
||||
|
||||
Example:
|
||||
|
||||
object FileLogger "my-debug-file" {
|
||||
severity = "debug",
|
||||
path = "/var/log/icinga2/icinga2-debug.log"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
path |**Required.** The log path.
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
SyslogLogger
|
||||
------------
|
||||
|
||||
Specifies Icinga 2 logging to syslog.
|
||||
|
||||
Example:
|
||||
|
||||
object SyslogLogger "my-crit-syslog" {
|
||||
severity = "critical"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
CheckCommand
|
||||
------------
|
||||
|
||||
A check command definition. Additional default command macros can be
|
||||
defined here.
|
||||
|
||||
Example:
|
||||
|
||||
object CheckCommand "check_snmp" inherits "plugin-check-command" {
|
||||
command = "$plugindir$/check_snmp -H $address$ -C $community$ -o $oid$",
|
||||
|
||||
macros = {
|
||||
address = "127.0.0.1",
|
||||
community = "public",
|
||||
}
|
||||
}
|
||||
|
||||
NotificationCommand
|
||||
-------------------
|
||||
|
||||
A notification command definition.
|
||||
|
||||
Example:
|
||||
|
||||
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
|
||||
command = [
|
||||
"/opt/bin/send-mail-notification",
|
||||
"$CONTACTEMAIL$",
|
||||
"$NOTIFICATIONTYPE$ - $HOSTNAME$ - $SERVICEDESC$ - $SERVICESTATE$",
|
||||
{{{***** Icinga *****
|
||||
|
||||
Notification Type: $NOTIFICATIONTYPE$
|
||||
|
||||
Service: $SERVICEDESC$
|
||||
Host: $HOSTALIAS$
|
||||
Address: $HOSTADDRESS$
|
||||
State: $SERVICESTATE$
|
||||
|
||||
Date/Time: $LONGDATETIME$
|
||||
|
||||
Additional Info: $SERVICEOUTPUT$
|
||||
|
||||
Comment: [$NOTIFICATIONAUTHORNAME$] $NOTIFICATIONCOMMENT$}}}
|
||||
]
|
||||
}
|
||||
|
||||
EventCommand
|
||||
------------
|
||||
|
||||
An event command definition.
|
||||
A host.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Similar to Icinga 1.x event handlers.
|
||||
> Unlike in Icinga 1.x hosts are not checkable objects in Icinga 2.
|
||||
|
||||
Example:
|
||||
|
||||
object EventCommand "restart-httpd-event" inherits "plugin-event-command" {
|
||||
command = "/opt/bin/restart-httpd.sh",
|
||||
object Host "localhost" {
|
||||
display_name = "The best host there is",
|
||||
|
||||
groups = [ "all-hosts" ],
|
||||
|
||||
check = "ping",
|
||||
|
||||
host_dependencies = [ "router" ],
|
||||
|
||||
service_dependencies = [
|
||||
{ host = "db-server", service = "mysql" }
|
||||
],
|
||||
|
||||
services["ping"] = {
|
||||
templates = [ "ping" ]
|
||||
},
|
||||
|
||||
services["http"] = {
|
||||
templates = [ "my-http" ],
|
||||
|
||||
macros = {
|
||||
vhost = "test1.example.org",
|
||||
port = 81
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Service
|
||||
-------
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the host.
|
||||
check |**Optional.** A service that is used to determine whether the host is up or down. This must be a service short name of a service that belongs to the host.
|
||||
groups |**Optional.** A list of host groups this host belongs to.
|
||||
host_dependencies|**Optional.** A list of host names which this host depends on. These dependencies are used to determine whether the host is unreachable.
|
||||
service_dependencies|**Optional.** A list of services which this host depends on. Each array element must be a dictionary containing the keys "host" and "service". These dependencies are used to determine whether the host is unreachable.
|
||||
services |**Optional.** Inline definition of services. Each dictionary item specifies a service.<br /><br />The *templates* attribute can be used to specify an array of templates that should be inherited by the service.<br /><br />The new service's name is "hostname:service" - where "service" is the dictionary key in the services dictionary.<br /><br />The dictionary key is used as the service's short name.
|
||||
macros |TODO
|
||||
|
||||
### HostGroup
|
||||
|
||||
A group of hosts.
|
||||
|
||||
Example:
|
||||
|
||||
object HostGroup "my-hosts" {
|
||||
display_name = "My hosts",
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the host group.
|
||||
|
||||
### Service
|
||||
|
||||
Service objects describe network services and how they should be checked
|
||||
by Icinga 2.
|
||||
|
@ -156,13 +104,13 @@ Attributes:
|
|||
host |**Required.** The host this service belongs to. There must be a *Host* object with that name.
|
||||
short_name |**Required.** The service name. Must be unique on a per-host basis (Similar to the service_description attribute in Icinga 1.x).
|
||||
display_name |**Optional.** A short description of the service.
|
||||
macros |TODO
|
||||
macros |**Optional.**
|
||||
check\_command |**Required.** The name of the check command.
|
||||
max\_check\_attempts|TODO
|
||||
check\_period |TODO
|
||||
check\_period |**Optional.** The name of a time period which determines when this service should be checked. Not set by default.
|
||||
check\_interval |**Optional.** The check interval (in seconds).
|
||||
retry\_interval |**Optional.** The retry interval (in seconds). This is used when the service is in a soft state. Defaults to 1/5th of the check interval if not specified.
|
||||
event\_command |TODO
|
||||
event\_command |**Optional.** The name of an event command that should be executed every time the service's state changes.
|
||||
flapping\_threshold|TODO
|
||||
volatile |TODO
|
||||
host\_dependencies|TODO
|
||||
|
@ -170,8 +118,7 @@ Attributes:
|
|||
groups |**Optional.** The service groups this service belongs to.
|
||||
notifications |TODO
|
||||
|
||||
ServiceGroup
|
||||
------------
|
||||
### ServiceGroup
|
||||
|
||||
A group of services.
|
||||
|
||||
|
@ -187,8 +134,7 @@ Attributes:
|
|||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the service group.
|
||||
|
||||
Notification
|
||||
------------
|
||||
### Notification
|
||||
|
||||
TODO
|
||||
|
||||
|
@ -200,11 +146,11 @@ Attributes:
|
|||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
host |TODO
|
||||
service |TODO
|
||||
host |**Required.** The name of the host this notification belongs to.
|
||||
service |**Required.** The short name of the service this notification belongs to.
|
||||
macros |TODO
|
||||
users |TODO
|
||||
user_groups |TODO
|
||||
users |**Optional.** A list of user names who should be notified.
|
||||
user_groups |**Optional.** A list of user group names who should be notified.
|
||||
times |TODO
|
||||
notification_command|TODO
|
||||
notification_interval|TODO
|
||||
|
@ -212,10 +158,9 @@ Attributes:
|
|||
notification_type_filter|TODO
|
||||
notification_state_filter|TODO
|
||||
|
||||
User
|
||||
----
|
||||
### User
|
||||
|
||||
TODO
|
||||
A user.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -225,7 +170,7 @@ Attributes:
|
|||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |TODO
|
||||
display_name |**Optional.** A short description of the user.
|
||||
macros |TODO
|
||||
groups |TODO
|
||||
enable_notifications|TODO
|
||||
|
@ -233,10 +178,26 @@ Attributes:
|
|||
notification_type_filter|TODO
|
||||
notification_state_filter|TODO
|
||||
|
||||
UserGroup
|
||||
---------
|
||||
### UserGroup
|
||||
|
||||
TODO
|
||||
A user group.
|
||||
|
||||
Example:
|
||||
|
||||
object UserGroup "noc-staff" {
|
||||
display_name = "NOC Staff"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the user group.
|
||||
|
||||
### TimePeriod
|
||||
|
||||
Time periods can be used to specify when services should be checked or to limit
|
||||
when notifications should be sent out.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -246,90 +207,73 @@ Attributes:
|
|||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |TODO
|
||||
|
||||
TimePeriod
|
||||
----------
|
||||
|
||||
TODO
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |TODO
|
||||
display_name |**Optional.** A short description of the time period.
|
||||
methods |TODO
|
||||
ranges |TODO
|
||||
|
||||
TimePeriod
|
||||
----------
|
||||
### ConsoleLogger
|
||||
|
||||
TODO
|
||||
Specifies Icinga 2 logging to the console.
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
object ConsoleLogger "my-debug-console" {
|
||||
severity = "debug"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |TODO
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
Domain
|
||||
------
|
||||
### FileLogger
|
||||
|
||||
TODO
|
||||
Specifies Icinga 2 logging to a file.
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
object FileLogger "my-debug-file" {
|
||||
severity = "debug",
|
||||
path = "/var/log/icinga2/icinga2-debug.log"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
acl |TODO
|
||||
path |**Required.** The log path.
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
Host
|
||||
----
|
||||
### SyslogLogger
|
||||
|
||||
A host.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Unlike in Icinga 1.x hosts are not checkable objects in Icinga 2.
|
||||
Specifies Icinga 2 logging to syslog.
|
||||
|
||||
Example:
|
||||
|
||||
object Host "localhost" {
|
||||
display_name = "The best host there is",
|
||||
object SyslogLogger "my-crit-syslog" {
|
||||
severity = "critical"
|
||||
}
|
||||
|
||||
groups = [ "all-hosts" ],
|
||||
Attributes:
|
||||
|
||||
check = "ping",
|
||||
|
||||
host_dependencies = [ "router" ],
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
|
||||
|
||||
service_dependencies = [
|
||||
{ host = "db-server", service = "mysql" }
|
||||
],
|
||||
### CheckCommand
|
||||
|
||||
services["ping"] = {
|
||||
templates = [ "ping" ]
|
||||
},
|
||||
A check command definition. Additional default command macros can be
|
||||
defined here.
|
||||
|
||||
services["http"] = {
|
||||
templates = [ "my-http" ],
|
||||
Example:
|
||||
|
||||
macros = {
|
||||
vhost = "test1.example.org",
|
||||
port = 81
|
||||
}
|
||||
object CheckCommand "check_snmp" inherits "plugin-check-command" {
|
||||
command = "$plugindir$/check_snmp -H $address$ -C $community$ -o $oid$",
|
||||
|
||||
macros = {
|
||||
address = "127.0.0.1",
|
||||
community = "public",
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -337,33 +281,79 @@ Attributes:
|
|||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the host.
|
||||
check |**Optional.** A service that is used to determine whether the host is up or down. This must be a service short name of a service that belongs to the host.
|
||||
groups |**Optional.** A list of host groups this host belongs to.
|
||||
host_dependencies|**Optional.** An array of host names which this host depends on. These dependencies are used to determine whether the host is unreachable.
|
||||
service_dependencies|**Optional.** An array of service names which this host depends on. Each array element must be a dictionary containing the keys "host" and "service". These dependencies are used to determine whether the host is unreachable.
|
||||
services |**Optional.** Inline definition of services. Each dictionary item specifies a service.<br /><br />The *templates* attribute can be used to specify an array of templates that should be inherited by the service.<br /><br />The new service's name is "hostname:service" - where "service" is the dictionary key in the services dictionary.<br /><br />The dictionary key is used as the service's short name.
|
||||
methods |TODO
|
||||
command |TODO
|
||||
export_macros |TODO
|
||||
escape_macros |TODO
|
||||
macros |TODO
|
||||
timeout |TODO
|
||||
|
||||
HostGroup
|
||||
---------
|
||||
### NotificationCommand
|
||||
|
||||
A group of hosts.
|
||||
A notification command definition.
|
||||
|
||||
Example:
|
||||
|
||||
object HostGroup "my-hosts" {
|
||||
display_name = "My hosts",
|
||||
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
|
||||
command = [
|
||||
"/opt/bin/send-mail-notification",
|
||||
"$CONTACTEMAIL$",
|
||||
"$NOTIFICATIONTYPE$ - $HOSTNAME$ - $SERVICEDESC$ - $SERVICESTATE$",
|
||||
{{{***** Icinga *****
|
||||
|
||||
Notification Type: $NOTIFICATIONTYPE$
|
||||
|
||||
Service: $SERVICEDESC$
|
||||
Host: $HOSTALIAS$
|
||||
Address: $HOSTADDRESS$
|
||||
State: $SERVICESTATE$
|
||||
|
||||
Date/Time: $LONGDATETIME$
|
||||
|
||||
Additional Info: $SERVICEOUTPUT$
|
||||
|
||||
Comment: [$NOTIFICATIONAUTHORNAME$] $NOTIFICATIONCOMMENT$}}}
|
||||
]
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
display_name |**Optional.** A short description of the host group.
|
||||
methods |TODO
|
||||
command |TODO
|
||||
export_macros |TODO
|
||||
escape_macros |TODO
|
||||
macros |TODO
|
||||
timeout |TODO
|
||||
|
||||
PerfdataWriter
|
||||
--------------
|
||||
### EventCommand
|
||||
|
||||
An event command definition.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> Similar to Icinga 1.x event handlers.
|
||||
|
||||
Example:
|
||||
|
||||
object EventCommand "restart-httpd-event" inherits "plugin-event-command" {
|
||||
command = "/opt/bin/restart-httpd.sh",
|
||||
}
|
||||
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
methods |TODO
|
||||
command |TODO
|
||||
export_macros |TODO
|
||||
escape_macros |TODO
|
||||
macros |TODO
|
||||
timeout |TODO
|
||||
|
||||
### PerfdataWriter
|
||||
|
||||
Writes check result performance data to a defined path using macro
|
||||
pattern.
|
||||
|
@ -391,8 +381,7 @@ Attributes:
|
|||
> When rotating the perfdata file the current UNIX timestamp is appended to the path specified
|
||||
> in *perfdata\_path* to generate a unique filename.
|
||||
|
||||
IdoMySqlConnection
|
||||
------------------
|
||||
### IdoMySqlConnection
|
||||
|
||||
IDO DB schema compatible output into MySQL database.
|
||||
|
||||
|
@ -448,8 +437,7 @@ Cleanup Items:
|
|||
servicechecks_age |**Optional.** Max age for servicechecks table rows (start_time)
|
||||
systemcommands_age |**Optional.** Max age for systemcommands table rows (start_time)
|
||||
|
||||
LiveStatusListener
|
||||
------------------
|
||||
### LiveStatusListener
|
||||
|
||||
Livestatus API interface available as TCP or UNIX socket.
|
||||
|
||||
|
@ -481,55 +469,65 @@ Attributes:
|
|||
>
|
||||
> UNIX sockets are not supported on Windows.
|
||||
|
||||
StatusDataWriter
|
||||
----------------
|
||||
### StatusDataWriter
|
||||
|
||||
TODO
|
||||
Periodically writes status data files which are used by the Classic UI and other third-party tools.
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
library "compat"
|
||||
|
||||
object StatusDataWriter "status" {
|
||||
status\_path = "/data/status.dat",
|
||||
objects\_path = "/data/objects.path"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
status\_path |TODO
|
||||
objects\_path |TODO
|
||||
status\_path |**Optional.** Path to the status.dat file. Defaults to IcingaLocalStateDir + "/cache/icinga2/status.dat".
|
||||
objects\_path |**Optional.** Path to the objects.cache file. Defaults to IcingaLocalStateDir + "/cache/icinga2/objects.cache".
|
||||
|
||||
ExternalCommandListener
|
||||
-----------------------
|
||||
### ExternalCommandListener
|
||||
|
||||
TODO
|
||||
Implements the Icinga 1.x command pipe which can be used to send commands to Icinga.
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
library "compat"
|
||||
|
||||
object ExternalCommandListener "external" {
|
||||
command\_path = "/data/icinga2.cmd"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
command\_path |TODO
|
||||
command\_path |**Optional.** Path to the command pipe. Defaults to IcingaLocalStateDir + "/run/icinga2/icinga2.cmd".
|
||||
|
||||
CompatLogger
|
||||
------------
|
||||
### CompatLogger
|
||||
|
||||
TODO
|
||||
Writes log files in a format that's compatible with Icinga 1.x.
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
library "compat"
|
||||
|
||||
object CompatLogger "my-log" {
|
||||
log\_dir = "/data/compat-log",
|
||||
rotation\_method = "HOURLY"
|
||||
}
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
log\_dir |TODO
|
||||
rotation\_method|TODO
|
||||
log\_dir |**Optional.** Path to the compat log directory. Defaults to IcingaLocalStateDir + "/log/icinga2/compat".
|
||||
rotation\_method|**Optional.** Specifies when to rotate log files. Can be one of "HOURLY", "DAILY", "WEEKLY" or "MONTHLY". Defaults to "HOURLY".
|
||||
|
||||
CheckResultReader
|
||||
-----------------
|
||||
### CheckResultReader
|
||||
|
||||
TODO
|
||||
|
||||
|
@ -543,8 +541,7 @@ Attributes:
|
|||
----------------|----------------
|
||||
spool\_dir |TODO
|
||||
|
||||
CheckerComponent
|
||||
----------------
|
||||
### CheckerComponent
|
||||
|
||||
TODO
|
||||
|
||||
|
@ -554,8 +551,7 @@ Example:
|
|||
|
||||
object CheckerComponent "checker" { }
|
||||
|
||||
NotificationComponent
|
||||
---------------------
|
||||
### NotificationComponent
|
||||
|
||||
TODO
|
||||
|
||||
|
@ -565,8 +561,7 @@ Example:
|
|||
|
||||
object NotificationComponent "notification" { }
|
||||
|
||||
ClusterListener
|
||||
---------------
|
||||
### ClusterListener
|
||||
|
||||
TODO
|
||||
|
||||
|
@ -584,8 +579,7 @@ Attributes:
|
|||
bind\_port |TODO
|
||||
peers |TODO
|
||||
|
||||
Endpoint
|
||||
--------
|
||||
### Endpoint
|
||||
|
||||
Endpoint objects are used to specify connection information for remote
|
||||
Icinga 2 instances.
|
||||
|
@ -606,4 +600,18 @@ Attributes:
|
|||
node |**Required.** The hostname/IP address of the remote Icinga 2 instance.
|
||||
service |**Required.** The service name/port of the remote Icinga 2 instance.
|
||||
config\_files |TODO
|
||||
accept\_config |TODO
|
||||
accept\_config |**Optional.** A list of endpoint names from which this endpoint accepts configuration files.
|
||||
|
||||
### Domain
|
||||
|
||||
TODO
|
||||
|
||||
Example:
|
||||
|
||||
TODO
|
||||
|
||||
Attributes:
|
||||
|
||||
Name |Description
|
||||
----------------|----------------
|
||||
acl |TODO
|
||||
|
|
|
@ -40,6 +40,10 @@
|
|||
padding-left: 20px;
|
||||
}
|
||||
|
||||
#toc .toc-h4 {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#toc .toc-active {
|
||||
background: #336699;
|
||||
box-shadow: inset -5px 0px 10px -5px #000;
|
||||
|
|
Loading…
Reference in New Issue