mirror of https://github.com/Icinga/icinga2.git
68 lines
2.9 KiB
Markdown
68 lines
2.9 KiB
Markdown
## <a id="performance-data"></a> Performance Data
|
|
|
|
When a service check is executed plugins should provide so-called
|
|
`performance data`. Next to that additional check performance data
|
|
can be fetched using Icinga 2 runtime macros such as the check latency
|
|
or the current service state.
|
|
|
|
The performance data may be passed to external applications which
|
|
then generate nice graphs for historical reporting and trending.
|
|
|
|
Well-known addons processing Icinga performance data are PNP4Nagios,
|
|
inGraph and Graphite.
|
|
|
|
> **Note**
|
|
>
|
|
> As there are no real host checks in Icinga 2, the performance data is
|
|
> generated from the host check service, if existing.
|
|
|
|
### <a id="writing-performance-data-files"></a> Writing Performance Data Files
|
|
|
|
PNP4Nagios, inGraph and Graphios use performance data collector daemons to fetch
|
|
the current performance files for their backend updates.
|
|
|
|
Therefore the Icinga 2 `PerfdataWriter` object allows you to define
|
|
the output template format for host and services backed with Icinga 2
|
|
runtime macros.
|
|
|
|
host_format_template = "DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$"
|
|
service_format_template = "DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$"
|
|
|
|
The default templates are already provided with the Icinga 2 feature configuration
|
|
which can be enabled using
|
|
|
|
# icinga2-enable-feature perfdata
|
|
|
|
By default all performance data files are rotated in a 15 seconds interval into
|
|
the `/var/spool/icinga2/perfdata/` directory as `host-perfdata.<timestamp>` and
|
|
`service-perfdata.<timestamp>`.
|
|
External collectors need to parse the rotated performance data files and then
|
|
remove the processed files.
|
|
|
|
> **Note**
|
|
>
|
|
> If you enable this feature by accident and no collector daemon is processing
|
|
> these files, the filesystem's inodes may run out. Make sure to watch the
|
|
> `localhost` service check `disks` and define your own inode warning
|
|
> and critical thresholds.
|
|
|
|
|
|
### <a id="graphite-carbon-cache-writer"></a> Graphite Carbon Cache Writer
|
|
|
|
While there are some Graphite collector scripts and daemons like Graphios available for
|
|
Icinga 1.x it's more reasonable to directly process the check and plugin performance
|
|
in memory in Icinga 2. Once there are new metrics available, Icinga 2 will directly
|
|
write them to the defined Graphite Carbon daemon tcp socket.
|
|
|
|
You can enable the feature using
|
|
|
|
# icinga2-enable-feature graphite
|
|
|
|
The `GraphiteWriter` object expects the Graphite Carbon Cache socket listening
|
|
at `127.0.0.1` on port `2003` by default.
|
|
|
|
The current naming schema is
|
|
|
|
icinga.<hostname>.<metricname>
|
|
icinga.<hostname>.<servicename>.<metricname>
|