Configuration¶
Configuration of Icingabeat is split into 3 sections: Connection, Evenstream and
Statuspoller. On Linux configuration files are located at /etc/icingabeat
Connection¶
Settings in this section apply to both modes.
host
¶
Hostname of Icinga 2 API. This can be either an IP address or domain.
Defaults to localhost
port
¶
Defaults to 5665
user
¶
Username to be used for the API connection. You need to create this user in your Icinga 2 configuration. Make sure that it has sufficient permissions to read the data you want to collect.
Here is an example of an API user in your Icinga 2 configuration:
object ApiUser "icinga" {
password = "icinga"
permissions = ["events/*", "status/query"]
}
Learn more about the ApiUser
and its permissions in the
Icinga 2 docs.
password
¶
Defaults to icinga
ssl.verify
¶
Configure SSL verification. If false
is configured, all server hosts and
certificates will be accepted. In this mode, SSL based connections are
susceptible to man-in-the-middle attacks. Use only for testing. Default is
true
.
ssl.certificate_authorities
¶
List of root certificates for HTTPS server verifications
Example:
ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
Eventstream¶
Settings in this section apply to the eventstream mode. To disable the eventstream completely, comment out the section.
eventstream.types
¶
You can select which particular Icinga 2 events you want to receive and store. The following types are available, you must set at least one:
CheckResult
StateChange
Notification
AcknowledgementSet
AcknowledgementCleared
CommentAdded
CommentRemoved
DowntimeAdded
DowntimeRemoved
DowntimeStarted
DowntimeTriggered
To set multiple types, do the following:
eventstream.types:
- CheckResult
- StateChange
- Notification
- AcknowledgementSet
- AcknowledgementCleared
eventstream.filter
¶
In addition to selecting the types of events, you can filter them by
attributes using the prefix event.
. By default no filter is set.
Examples¶
Only check results with the exit code 2:
eventstream.filter: "event.check_result.exit_status==2"
Only check results of services that match mysql*
:
eventstream.filter: 'match("mysql*", event.service)'
eventstream.retry_interval
¶
On a connection loss Icingabeat will try to reconnect to the API periodically.
This setting defines the interval for connection retries. Defaults to 10s
Statuspoller¶
Settings of this section apply to the statuspoller mode.
statuspoller.interval
¶
Interval at which the status API is called. Set to 0
to disable polling.
Defaults to 60s
Fields¶
Icingabeat exports a bunch of fields. Have a look to the fields.asciidoc for details.