3.0 KiB
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.