icinga2: How to install icinga modules?

Posted by

Installing Icinga modules typically involves several steps, depending on whether you are adding a module to Icinga 2 or Icinga Web 2. Below, I'll outline the general process for both scenarios, emphasizing the common steps required to install a module in Icinga Web 2, as this is where most modules are utilized to enhance functionality.

General Steps for Installing Icinga Web 2 Modules:
Download the Module:

First, you need to download the module. This is often done by cloning the module from its Git repository. You can find official modules on the Icinga GitHub page and third-party modules through community sources.
Installation Directory:

Modules need to be placed in the correct directory. For Icinga Web 2, this is typically /usr/share/icingaweb2/modules. You may need root permissions to write to this directory.
Clone the Module:

For example, to install the Director module, you would use the following commands:

$ cd /usr/share/icingaweb2/modules
$ sudo git clone https://github.com/Icinga/icingaweb2-module-director.git director
$ sudo git checkout $(git describe --tags `git rev-list --tags --max-count=1`)


Set the correct permissions so that the web server user (usually www-data on Debian/Ubuntu systems) can read the module files:

$ sudo chown -R www-data:www-data /usr/share/icingaweb2/modules/director

Enable the Module in Icinga Web 2:

Log in to Icinga Web 2 with administrative privileges.
Navigate to Configuration -> Modules.
You should see the new module listed there. Click on it, and you will likely have an "enable" module option. Click it to enable the module.
Configure the Module:

Some modules, like the Director, require additional setup, such as database configuration. Usually, after enabling a module, you can configure it via the Icinga Web 2 interface under the module's configuration section.
For example, for Director, you would set up a database and then configure these settings in the Director's web interface.

Restart Icinga 2:

It’s often a good practice to restart the Icinga 2 service to ensure all configurations are properly reloaded:

$ sudo systemctl restart icinga2

Specific Steps for Icinga 2 Modules (Core Extensions):
If you're installing a core extension or plugin for Icinga 2 itself (not the web interface), the process might involve simply placing executable files in the appropriate directory (like /etc/icinga2/conf.d) and configuring them within Icinga 2’s configuration files.
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x