|
| 1 | +# Icinga Notifications |
| 2 | + |
| 3 | +> **Warning** |
| 4 | +> This is an early preview version for you to try, but do not use this in production. There may still be severe bugs |
| 5 | +> and incompatible changes may happen without any notice. At the moment, we don't yet provide any support for this. |
| 6 | +
|
| 7 | +Icinga Notifications is a set of components that processes received events from various sources, manages incidents and |
| 8 | +forwards notifications to predefined contacts, consisting of: |
| 9 | + |
| 10 | +* The Icinga Notifications daemon (this repository), which receives events and sends notifications |
| 11 | +* An [Icinga Web module](https://github.com/Icinga/icinga-notifications-web) that provides graphical configuration and further processing of the data collected by the daemon |
| 12 | +* And Icinga 2 and other custom sources that propagate state updates and acknowledgement events to the daemon |
| 13 | + |
| 14 | +## Installation |
| 15 | + |
| 16 | +To install Icinga Notifications and get started, you first need to clone this repository. |
| 17 | +```bash |
| 18 | +git clone https://github.com/Icinga/icinga-notifications.git |
| 19 | +``` |
| 20 | + |
| 21 | +Next, you need to provide a `config.yml` file, similar to the [example config](config.example.yml), for the daemon. |
| 22 | +It is required that you have created a new database and imported the [schema](schema/pgsql/schema.sql) file beforehand. |
| 23 | +> **Note** |
| 24 | +> At the moment **PostgreSQL** is the only database backend we support. |
| 25 | +
|
| 26 | +Additionally, it also requires you to manually insert items into the **source** table before starting the daemon. |
| 27 | +```sql |
| 28 | +INSERT INTO source (id, type, name) VALUES (1, 'icinga2', 'Icinga 2') |
| 29 | +``` |
| 30 | + |
| 31 | +Then, you can launch the daemon with the following command. |
| 32 | +```go |
| 33 | +go run ./cmd/icinga-notifications-daemon --config config.yml |
| 34 | +``` |
| 35 | + |
| 36 | +Last but not least, in order for the daemon to receive events from Icinga 2, you need to copy the [Icinga 2 config](icinga2.conf) |
| 37 | +to `/etc/icinga2/features-enabled` on your master node(s) and restart the Icinga 2 service. At the top of this file, |
| 38 | +you will find multiple configurations options that can be set in `/etc/icinga2/constants.conf`. There are also Icinga2 |
| 39 | +`EventCommand` definitions in this file that will automatically match all your **checkables**, which may not work |
| 40 | +properly if the configuration already uses event commands for something else. |
| 41 | + |
| 42 | +## License |
| 43 | + |
| 44 | +Icinga Notifications is licensed under the terms of the [GNU General Public License Version 2](LICENSE). |
0 commit comments