2019-09-17 12:07:03 +02:00
|
|
|
|
# Icinga 2 Addons and Integrations <a id="addons"></a>
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
For an uptodate overview of all integrations and modules,
|
|
|
|
|
please visit [https://icinga.com/products/](https://icinga.com/products/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Icinga Reporting <a id="addons-reporting"></a>
|
|
|
|
|
|
|
|
|
|
The [Icinga Reporting Module](https://icinga.com/docs/reporting/latest/)
|
|
|
|
|
is the framework and foundation we created to handle data collected
|
|
|
|
|
by Icinga 2 and other data providers. By definition Icinga Reporting does not collect
|
|
|
|
|
or calculate any data. The framework processes usable data from data providers such as
|
|
|
|
|
Icinga’s IDO or Icinga Web 2 modules and makes them available in different formats.
|
|
|
|
|
|
|
|
|
|
It can display the data directly within the Icinga web interface or export it to PDF,
|
|
|
|
|
JSON or CSV format. With scheduled reports you can receive the prepared data periodically
|
|
|
|
|
via email.
|
|
|
|
|
|
|
|
|
|
![Icinga Reporting](images/addons/icinga_reporting.png)
|
|
|
|
|
|
|
|
|
|
Follow along in this [hands-on blog post](https://icinga.com/2019/06/17/icinga-reporting-hands-on/).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Graphs and Metrics <a id="addons-graphs-metrics"></a>
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
### Graphite <a id="addons-graphing-graphite"></a>
|
|
|
|
|
|
|
|
|
|
[Graphite](https://graphite.readthedocs.org/en/latest/) is a time-series database
|
|
|
|
|
storing collected metrics and making them available through restful apis
|
|
|
|
|
and web interfaces.
|
|
|
|
|
|
|
|
|
|
Graphite consists of 3 software components:
|
|
|
|
|
|
|
|
|
|
* carbon -- a Twisted daemon that listens for time-series data
|
|
|
|
|
* whisper -- a simple database library for storing time-series data (similar in design to RRD)
|
|
|
|
|
* graphite webapp -- a Django webapp that renders graphs on-demand using Cairo
|
|
|
|
|
|
|
|
|
|
You need to install Graphite first, then proceed with configuring it in Icinga 2.
|
|
|
|
|
|
|
|
|
|
Use the [GraphiteWriter](14-features.md#graphite-carbon-cache-writer) feature
|
|
|
|
|
for sending real-time metrics from Icinga 2 to Graphite.
|
|
|
|
|
|
2020-12-09 12:32:09 +01:00
|
|
|
|
```bash
|
|
|
|
|
icinga2 feature enable graphite
|
2019-03-07 19:56:49 +01:00
|
|
|
|
```
|
2018-10-18 10:38:11 +02:00
|
|
|
|
|
|
|
|
|
A popular alternative frontend for Graphite is for example [Grafana](https://grafana.org).
|
|
|
|
|
|
|
|
|
|
Integration in Icinga Web 2 is possible by installing the official [graphite module](https://icinga.com/docs/graphite/latest/).
|
|
|
|
|
|
|
|
|
|
![Icinga Web 2 Detail View with Graphite](images/addons/icingaweb2_graphite.png)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### InfluxDB <a id="addons-graphing-influxdb"></a>
|
|
|
|
|
|
|
|
|
|
[InfluxDB](https://influxdb.com) is a time series, metrics, and analytics database.
|
|
|
|
|
It’s written in Go and has no external dependencies.
|
|
|
|
|
|
|
|
|
|
Use the [InfluxdbWriter](14-features.md#influxdb-writer) feature
|
2021-04-14 18:52:36 +02:00
|
|
|
|
for sending real-time metrics from Icinga 2 to InfluxDB v1.
|
2018-10-18 10:38:11 +02:00
|
|
|
|
|
2020-12-09 12:32:09 +01:00
|
|
|
|
```bash
|
|
|
|
|
icinga2 feature enable influxdb
|
2019-03-07 19:56:49 +01:00
|
|
|
|
```
|
2018-10-18 10:38:11 +02:00
|
|
|
|
|
2021-04-15 14:08:50 +02:00
|
|
|
|
Use the [Influxdb2Writer](14-features.md#influxdb-writer) feature
|
|
|
|
|
for sending real-time metrics from Icinga 2 to InfluxDB v2.
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
icinga2 feature enable influxdb2
|
|
|
|
|
```
|
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
A popular frontend for InfluxDB is for example [Grafana](https://grafana.org).
|
|
|
|
|
|
|
|
|
|
Integration in Icinga Web 2 is possible by installing the community [Grafana module](https://github.com/Mikesch-mp/icingaweb2-module-grafana).
|
|
|
|
|
|
|
|
|
|
![Icinga Web 2 Detail View with Grafana](images/addons/icingaweb2_grafana.png)
|
|
|
|
|
|
|
|
|
|
|
2017-07-12 20:46:12 +02:00
|
|
|
|
### PNP <a id="addons-graphing-pnp"></a>
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2017-04-06 22:03:48 +02:00
|
|
|
|
[PNP](https://www.pnp4nagios.org) is a graphing addon.
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2017-04-06 22:03:48 +02:00
|
|
|
|
[PNP](https://www.pnp4nagios.org) is an addon which adds a graphical representation of the performance data collected
|
2015-03-07 15:52:56 +01:00
|
|
|
|
by the monitoring plugins. The data is stored as rrd (round robin database) files.
|
|
|
|
|
|
|
|
|
|
Use your distribution's package manager to install the `pnp4nagios` package.
|
|
|
|
|
|
2016-05-23 14:14:59 +02:00
|
|
|
|
If you're planning to use it, configure it to use the
|
2017-04-06 22:03:48 +02:00
|
|
|
|
[bulk mode with npcd and npcdmod](https://docs.pnp4nagios.org/pnp-0.6/modes#bulk_mode_with_npcd_and_npcdmod)
|
2019-05-08 17:48:13 +02:00
|
|
|
|
in combination with Icinga 2's [PerfdataWriter](14-features.md#writing-performance-data-files). NPCD collects the performance
|
2015-02-12 10:29:21 +01:00
|
|
|
|
data files which Icinga 2 generates.
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2015-03-07 15:52:56 +01:00
|
|
|
|
Enable performance data writer in icinga 2
|
|
|
|
|
|
2020-12-09 12:32:09 +01:00
|
|
|
|
```bash
|
|
|
|
|
icinga2 feature enable perfdata
|
2019-03-07 19:56:49 +01:00
|
|
|
|
```
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
|
|
|
|
Configure npcd to use the performance data created by Icinga 2:
|
|
|
|
|
|
2020-12-09 12:32:09 +01:00
|
|
|
|
```bash
|
2019-03-07 19:56:49 +01:00
|
|
|
|
vim /etc/pnp4nagios/npcd.cfg
|
|
|
|
|
```
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
|
|
|
|
Set `perfdata_spool_dir = /var/spool/icinga2/perfdata` and restart the `npcd` daemon.
|
|
|
|
|
|
|
|
|
|
There's also an Icinga Web 2 module for direct PNP graph integration
|
2016-12-08 17:38:41 +01:00
|
|
|
|
available at [Icinga Exchange](https://exchange.icinga.com/icinga/PNP).
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
## Visualization <a id="addons-visualization"></a>
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
### Maps <a id="addons-visualization-maps"></a>
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
This community module displays host objects as markers on openstreetmap in Icinga Web 2.
|
|
|
|
|
It uses the data provided by the monitoring module and as such the [DB IDO](14-features.md#db-ido)
|
|
|
|
|
from Icinga 2.
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
If you configure multiple hosts with the same coordinates, i.e. servers in a datacenter, a clustered view is rendered.
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
Check the [Map module docs](https://github.com/nbuchwitz/icingaweb2-module-map) for more details on
|
|
|
|
|
installation, configuration and integration.
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
![Icinga Web 2 Maps](images/addons/icingaweb2_maps.png)
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
### Business Process <a id="addons-business-process"></a>
|
2015-09-16 15:00:12 +02:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
Create top-level views of your applications in a graphical editor.
|
|
|
|
|
Rules express dependencies between existing hosts and services and
|
|
|
|
|
let you alert on application level. Business processes are displayed
|
|
|
|
|
in a tree or list overview and can be added to any dashboard.
|
2015-09-16 15:00:12 +02:00
|
|
|
|
|
2018-10-18 10:38:11 +02:00
|
|
|
|
![Icinga Web 2 Business Process](images/addons/icingaweb2_businessprocess.png)
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
Read more [here](https://icinga.com/products/icinga-business-process-modelling/).
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
### Certificate Monitoring <a id="addons-visualization-certificate-monitoring"></a>
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
Monitor your certificates in an efficient and comfortable way. Be aware of required
|
|
|
|
|
actions and view all details at a glance.
|
2015-09-16 15:00:12 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
![Icinga Certificate Monitoring](images/addons/icinga_certificate_monitoring.png)
|
2015-09-16 15:00:12 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
Read more [here](https://icinga.com/products/icinga-certificate-monitoring/)
|
|
|
|
|
and [here](https://icinga.com/2019/06/03/monitoring-automation-with-icinga-certificate-monitoring/).
|
2015-09-16 15:00:12 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
### Dashing Dashboard <a id="addons-visualization-dashing-dashboard"></a>
|
|
|
|
|
|
|
|
|
|
The [Icinga 2 dashboard](https://github.com/dnsmichi/dashing-icinga2) is built
|
|
|
|
|
on top of Dashing and uses the [REST API](12-icinga2-api.md#icinga2-api) to visualize what's going
|
|
|
|
|
on with your monitoring. It combines several popular widgets and provides development
|
|
|
|
|
instructions for your own implementation.
|
2018-10-18 10:38:11 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
The dashboard also allows to embed the [Icinga Web 2](https://icinga.com/products/icinga-web-2/)
|
|
|
|
|
host and service problem lists as Iframe.
|
2018-10-18 10:38:11 +02:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
![Dashing dashboard](images/addons/dashing_icinga2.png)
|
2014-05-23 01:01:06 +02:00
|
|
|
|
|
|
|
|
|
|
2017-07-12 20:46:12 +02:00
|
|
|
|
## Log Monitoring <a id="log-monitoring"></a>
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2015-09-16 15:00:12 +02:00
|
|
|
|
Using [Logstash](https://www.elastic.co/guide/en/logstash/current/introduction.html) or
|
|
|
|
|
[Graylog](https://www.graylog.org) in your infrastructure and correlate events with your monitoring
|
2015-03-07 15:52:56 +01:00
|
|
|
|
is even simpler these days.
|
|
|
|
|
|
|
|
|
|
* Use the `GelfWriter` feature to write Icinga 2's check and notification events to Graylog or Logstash.
|
|
|
|
|
* Configure the logstash `nagios` output to send passive traps to Icinga 2 using the external command pipe.
|
|
|
|
|
* Execute a plugin to check Graylog alert streams.
|
|
|
|
|
|
2018-10-18 09:50:53 +02:00
|
|
|
|
More details can be found in [this blog post](https://icinga.com/2014/12/02/team-icinga-at-osmc-2014/).
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2017-07-12 20:46:12 +02:00
|
|
|
|
## Notification Scripts and Interfaces <a id="notification-scripts-interfaces"></a>
|
2015-06-23 16:19:54 +02:00
|
|
|
|
|
2015-11-07 09:57:40 +01:00
|
|
|
|
There's a variety of resources available, for example different notification scripts such as:
|
2015-06-23 16:19:54 +02:00
|
|
|
|
|
2017-07-12 20:46:12 +02:00
|
|
|
|
* E-Mail ([examples](03-monitoring-basics.md#alert-notifications) provided)
|
2015-06-23 16:19:54 +02:00
|
|
|
|
* SMS
|
|
|
|
|
* Pager (XMPP, etc.)
|
|
|
|
|
* Twitter
|
|
|
|
|
* IRC
|
|
|
|
|
* Ticket systems
|
|
|
|
|
* etc.
|
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
Blog posts and howtos:
|
|
|
|
|
|
|
|
|
|
* [Environmental Monitoring and Alerting](https://icinga.com/2019/09/02/environmental-monitoring-and-alerting-via-text-message/)
|
|
|
|
|
|
2018-10-18 09:50:53 +02:00
|
|
|
|
Additionally external services can be [integrated with Icinga 2](https://icinga.com/products/integrations/):
|
2015-06-23 16:19:54 +02:00
|
|
|
|
|
2018-10-18 09:59:33 +02:00
|
|
|
|
* [Pagerduty](https://icinga.com/products/integrations/pagerduty/)
|
|
|
|
|
* [VictorOps](https://icinga.com/products/integrations/victorops/)
|
|
|
|
|
* [StackStorm](https://icinga.com/products/integrations/stackstorm/)
|
2015-06-23 16:19:54 +02:00
|
|
|
|
|
2018-10-18 09:50:53 +02:00
|
|
|
|
More information can be found on the [Icinga Website](https://icinga.com/).
|
2015-06-23 16:19:54 +02:00
|
|
|
|
|
2017-07-12 20:46:12 +02:00
|
|
|
|
## Configuration Management Tools <a id="configuration-tools"></a>
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
Checkout these specific integrations:
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
* [Ansible Roles](https://icinga.com/products/integrations/)
|
|
|
|
|
* [Puppet Module](https://icinga.com/products/integrations/puppet/)
|
|
|
|
|
* [Chef Cookbook](https://icinga.com/products/integrations/chef/)
|
2015-03-07 15:52:56 +01:00
|
|
|
|
|
2019-09-17 12:07:03 +02:00
|
|
|
|
If you're looking for different config management integrations -- we're happy
|
|
|
|
|
to add them upstream, so please get in touch with the [Icinga team](https://icinga.com/community/).
|
2015-01-23 14:15:57 +01:00
|
|
|
|
|
|
|
|
|
|