Skip to content

Commit 13d379d

Browse files
committed
doc: Updates regarding the new source integrations
1 parent 0edffd0 commit 13d379d

File tree

2 files changed

+38
-45
lines changed

2 files changed

+38
-45
lines changed

doc/01-About.md

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,38 +6,32 @@
66

77
At the moment, we don't provide any support for this module.
88

9-
Icinga Notifications is a set of components that processes received events from miscellaneous sources, manages
10-
incidents and forwards notifications to predefined contacts, consisting of:
9+
Icinga Notifications is a set of components that processes received events from various sources, manages
10+
incidents and forwards notifications to predefined contacts. The components are:
1111

1212
* [Icinga Notifications](https://github.com/Icinga/icinga-notifications), which receives events and sends notifications.
13-
* Icinga Notifications Web, which provides graphical configuration.
13+
* Icinga Notifications Web, which lets users configure Icinga Notifications and manage incidents.
1414

1515
Icinga 2 itself and other sources propagate state updates and other events to [Icinga Notifications](https://github.com/Icinga/icinga-notifications).
1616

1717
## Big Picture
1818

1919
![Icinga Notifications Architecture](res/notifications-architecture.png)
2020

21-
Because Icinga Notifications consists of several components,
22-
this section tries to help understand how these components relate.
21+
All configuration of Icinga Notifications is done via Icinga Notifications Web. This includes the setup of sources
22+
Icinga Notifications will receive events from. To set up a source, an accompanying integration in Icinga Web is
23+
required. At the moment, compatible integrations are available for:
2324

24-
First, the Icinga Notifications configuration resides in a SQL database.
25-
It can be conveniently tweaked via Icinga Notifications Web directly from a web browser.
26-
The Icinga Notifications daemon uses this database to read the current configuration.
25+
* Icinga 2, by using Icinga DB as backend
2726

28-
As in any Icinga setup, all host and service checks are defined in Icinga 2.
29-
By querying the Icinga 2 API, the Icinga Notifications daemon retrieves state changes, acknowledgements and other events.
30-
These events are stored in the database and are available for further inspection in Icinga Notifications Web.
31-
Next to Icinga 2, other notification sources can be configured.
32-
33-
Depending on its configuration, the daemon will take action on these events.
34-
This optionally includes escalations that are sent through a channel plugin.
35-
Each of those channel plugins implements a domain-specific transport, e.g., the `email` channel sends emails via SMTP.
36-
When configured, Icinga Notifications will use channel plugins to notify end users or talk to other APIs.
27+
Icinga Notifications receives events from the configured sources and decides whether to open an incident and when to
28+
forward them to which recipients. Icinga Notifications Web allows configuring these rules and managing incidents. To
29+
send notifications, Icinga Notifications is able to facilitate various types of channels, e.g., email, Rocket.Chat,
30+
webhook, etc.
3731

3832
## Available Channels
3933

40-
Icinga Notifications comes with multiple channels out of the box:
34+
The following channels are currently available out of the box:
4135

4236
* _email_: Email submission via SMTP
4337
* _rocketchat_: Rocket.Chat
@@ -48,7 +42,7 @@ following the [channel specification](https://icinga.com/docs/icinga-notificatio
4842

4943
## Installation
5044

51-
To install Icinga Notifications Web see [Installation](02-Installation.md).
45+
To install Icinga Notifications Web, see [Installation](02-Installation.md).
5246

5347
## License
5448

doc/03-Configuration.md

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@ configure Icinga Notifications Web:
1010

1111
## Module Activation
1212

13-
If you just installed the module, do not forget to activate it on your Icinga Web instance(s) by using your
14-
preferred way:
13+
If you just installed Icinga Notifications Web, remember to activate it on your Icinga Web instance(s):
1514

1615
- Use Icinga Web's command-line interface on the webserver(s) and execute `icingacli module enable notifications`.
17-
- Visit Icinga Web, log in as a privileged user and activate the module under `Configuration →
16+
- Visit Icinga Web, log in as a privileged user and enable the module under `Configuration →
1817
Modules → notifications` by switching the state from `disabled` to `enabled`.
1918

2019
<!-- {% endif %} -->
@@ -26,10 +25,10 @@ Connection configuration for the database, which both,
2625

2726
!!! tip
2827

29-
If not already done, initialize your database by following the [instructions](https://icinga.com/docs/icinga-notifications/latest/doc/02-Installation#setting-up-the-database).
28+
If not already done, initialize your database by following these [instructions](https://icinga.com/docs/icinga-notifications/latest/doc/02-Installation#setting-up-the-database).
3029

3130
1. Create a new resource for the Icinga Notifications database via the `Configuration → Application → Resources` menu.
32-
2. Configure the resource you just created as the database connection for the Icinga Notifications Web module using the
31+
2. Configure the resource you just created as the database connection for Icinga Notifications Web using the
3332
`Configuration → Modules → notifications → Database` menu.
3433

3534
## Channels Configuration
@@ -39,34 +38,34 @@ communication channels.
3938

4039
The currently supported channels can be found [here](01-About.md#available-channels).
4140

42-
They can be configured through `Configuration → Modules → notifications → Channels` and the credentials to be supplied
43-
might differ depending on the channel type.
41+
They can be configured through `Configuration → Modules → notifications → Channels`.
4442

45-
You need to configure at least one valid communication channel to be able to supply your contacts with notifications.
43+
You need to configure at least one valid communication channel to fully configure Icinga Notifications Web.
4644

4745
## Sources Configuration
4846

49-
The notifications module operates on data fed by miscellaneous sources and is therefore not restricted to Icinga 2 only.
50-
Consult the source specific documentation on how to integrate such.
47+
Sources are the most vital part of Icinga Notifications. Without them, no events will be processed and no notifications
48+
will be sent. So the next thing to configure is your first source. To be able to configure sources, an integration in
49+
Icinga Web is required. Consult the source-specific documentation on how to integrate such.
5150

52-
You need to provide at least one valid source for this module to function properly.
51+
How to integrate Icinga 2 is covered in the next section, for your convenience. :)
5352

5453
### Adding an Icinga 2 source
5554

56-
!!! tip
57-
58-
If there is no API user with the required permissions yet, read through [Icinga's API documentation](https://icinga.com/docs/icinga-2/latest/doc/12-icinga2-api/#authentication).
59-
60-
The API user needs the following [permissions](https://icinga.com/docs/icinga-2/latest/doc/12-icinga2-api/#overview):
61-
62-
- `events/*`
63-
- `objects/query/*`
64-
- `status/query`
65-
66-
If you want the notifications module to process Icinga 2 events, you will need to add it as a source:
55+
Ensure that you use Icinga DB as the database backend for Icinga 2. If that is the case, you should already have
56+
Icinga DB Web installed. This is the integration required to configure Icinga 2 as a source.
6757

6858
1. Navigate to `Configuration → Module → notifications → Sources` and add a new source.
69-
2. Choose type `Icinga` and provide the Icinga 2 API credentials.
70-
3. (Optional) Disable `Verify API Certificate` if you want
71-
[Icinga Notifications](https://icinga.com/docs/icinga-notifications/latest) to skip its check for the certificate
72-
validity of the given REST API endpoint.
59+
2. Choose type `Icinga` and define a name as well as a set of credentials.
60+
3. Open `/etc/icingadb/config.yml` on the host where Icinga DB is running and add the following lines:
61+
The full documentation can be found [here](https://icinga.com/docs/icinga-db/latest/doc/03-Configuration/#notifications-source-configuration).
62+
```yaml
63+
notifications-source:
64+
# URL to the API root.
65+
api-base-url: http://localhost:5680
66+
67+
# Use the username and password you just defined for the credentials.
68+
username: icingadb
69+
password: insecureinsecure
70+
```
71+
4. Restart Icinga DB.

0 commit comments

Comments
 (0)