mirror of
https://github.com/Icinga/icingabeat.git
synced 2025-08-15 06:48:08 +02:00
110 lines
3.0 KiB
Markdown
110 lines
3.0 KiB
Markdown
# 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:
|
|
|
|
``` c++
|
|
object ApiUser "icinga" {
|
|
password = "icinga"
|
|
permissions = ["events/*", "status/query"]
|
|
}
|
|
```
|
|
|
|
Learn more about the `ApiUser` and its permissions in the
|
|
[Icinga 2 docs](https://docs.icinga.com/icinga2/latest/doc/module/icinga2/chapter/icinga2-api#icinga2-api-permissions).
|
|
|
|
### `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:
|
|
|
|
```yaml
|
|
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:
|
|
```yaml
|
|
eventstream.filter: "event.check_result.exit_status==2"
|
|
```
|
|
|
|
Only check results of services that match `mysql*`:
|
|
```yaml
|
|
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](https://github.com/Icinga/icingabeat/blob/master/docs/fields.asciidoc) for details.
|