diff --git a/README.md b/README.md index 9835b4de..0b49b1a0 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ forwards notifications to predefined contacts, consisting of: * The Icinga Notifications daemon (this repository), which receives events and sends notifications. * The [Icinga Notifications Web](https://github.com/Icinga/icinga-notifications-web) module, which provides graphical configuration. -* Icinga 2 and other sources that provide monitoring events that result in notifications. +* Icinga DB and other sources that provide monitoring events that result in notifications. ![Icinga Notifications Architecture](doc/images/icinga-notifications-architecture.png) diff --git a/config.example.yml b/config.example.yml index b786792a..51c86bde 100644 --- a/config.example.yml +++ b/config.example.yml @@ -15,13 +15,6 @@ icingaweb2-url: http://localhost/icingaweb2/ # By default, all of Icinga Notifications built-in channel plugins are installed in the directory below. #channels-dir: /usr/libexec/icinga-notifications/channels -# The Icinga 2 API request timeout defined as a duration string. -# Note, this timeout does not apply to the Icinga 2 event streams, but to those other API endpoints like /v1/objects -# used to occasionally retrieve some additional information of a Checkable. -# A duration string is a sequence of decimal numbers and a unit suffix, such as "20s". -# Valid units are "ms", "s", "m", "h". -#api-timeout: 1m - # Connection configuration for the database where Icinga Notifications stores configuration and historical data. # This is also the database used in Icinga Notifications Web to view and work with the data. database: diff --git a/doc/01-About.md b/doc/01-About.md index a9144c02..a4a20c88 100644 --- a/doc/01-About.md +++ b/doc/01-About.md @@ -12,7 +12,7 @@ forwards notifications to predefined contacts, consisting of: * The Icinga Notifications daemon, which receives events and sends notifications. * The [Icinga Notifications Web](https://icinga.com/docs/icinga-notifications-web/latest/doc/01-About/) module, which provides graphical configuration. -* Icinga 2 and other sources that provide monitoring events that result in notifications. +* Icinga DB and other sources that provide monitoring events that result in notifications. ## Big Picture @@ -25,10 +25,10 @@ First, the Icinga Notifications configuration resides in a SQL database. It can be conveniently tweaked via Icinga Notifications Web directly from a web browser. The Icinga Notifications daemon uses this database to read the current configuration. -As in any Icinga setup, all host and service checks are defined in Icinga 2. -By querying the Icinga 2 API, the Icinga Notifications daemon retrieves state changes, acknowledgements, and other events. +As in most Icinga setups, all host and service checks are defined in Icinga 2 and processed by Icinga DB. +The Icinga DB can act as an Icinga Notifications source to forward state changes, acknowledgements, and other events to the Icinga Notifications daemon. These events are stored in the database and are available for further inspection in Icinga Notifications Web. -Next to Icinga 2, other notification sources can be configured. +Next to Icinga DB, other notification sources can be configured. Depending on its configuration, the daemon will take action on these events. This optionally includes escalations that are sent through a channel plugin. diff --git a/doc/02-Installation.md b/doc/02-Installation.md index 14c266e4..9598d2c8 100644 --- a/doc/02-Installation.md +++ b/doc/02-Installation.md @@ -92,7 +92,7 @@ systemctl enable --now icinga-notifications ## Installing Icinga Notifications Web -With Icinga 2, Icinga Notifications and the database fully set up, it is now time to install Icinga Notifications Web, +With Icinga 2, Icinga DB, Icinga Notifications and the database fully set up, it is now time to install Icinga Notifications Web, which connects to the database and allows configuring Icinga Notifications. Please follow the diff --git a/doc/03-Configuration.md b/doc/03-Configuration.md index 257ec259..09764877 100644 --- a/doc/03-Configuration.md +++ b/doc/03-Configuration.md @@ -33,12 +33,6 @@ For a package installation, the default will point to the correct location and m This directory should be `/usr/libexec/icinga-notifications/channels` on systems that follow the Filesystem Hierarchy Standard. It may also be `/usr/lib/icinga-notifications/channels`, depending on the operating system conventions. -### API Timeout - -The `api-timeout` specifies the Icinga 2 API request timeout defined as a [duration string](#duration-string). -Note, this timeout does not apply to the Icinga 2 event streams, but to those API endpoints -like `/v1/objects`, `/v1/status` used to occasionally retrieve some additional information of a Checkable. - ## Database Configuration Connection configuration for the database where Icinga Notifications stores configuration and historical data. diff --git a/doc/images/icinga-notifications-architecture.png b/doc/images/icinga-notifications-architecture.png index adb43e4a..6ef53fb2 100644 Binary files a/doc/images/icinga-notifications-architecture.png and b/doc/images/icinga-notifications-architecture.png differ diff --git a/internal/daemon/config.go b/internal/daemon/config.go index 72e9742d..f2ab8ab0 100644 --- a/internal/daemon/config.go +++ b/internal/daemon/config.go @@ -9,7 +9,6 @@ import ( "github.com/icinga/icinga-go-library/utils" "github.com/icinga/icinga-notifications/internal" "os" - "time" ) const ( @@ -21,7 +20,6 @@ type ConfigFile struct { Listen string `yaml:"listen" default:"localhost:5680"` DebugPassword string `yaml:"debug-password"` ChannelsDir string `yaml:"channels-dir"` - ApiTimeout time.Duration `yaml:"api-timeout" default:"1m"` Icingaweb2URL string `yaml:"icingaweb2-url"` Database database.Config `yaml:"database"` Logging logging.Config `yaml:"logging"`