Modules¶
Installation¶
A module should be installed in one of the configured module paths.
The default path in most installations is /usr/share/icingaweb2/modules
.
Each directory in there contains the files for a particular module. The directory’s name has to be the one
that is provided by the module’s documentation. If there is none provided, it is usually the name of the
module in all lowercase. Some modules may use a name prefixed with icingaweb2-module-
. If this is the case,
the directory’s name should be that, but without the prefix.
(e.g. icingaweb2-module-map
turns into /usr/share/icingaweb2/modules/map
)
Note:
Remember to ensure that your web-server can access those files. Though, read permission only.
Once a module’s files are in place, it needs to be enabled first before it can be used. This can either be done in
the UI at Configuration -> Modules
or by using the icingacli: icingacli module enable map
In order for other non-admin users to access the module’s functionality, it is required to permit access first.
This is done by granting the permission module/<module-name>
. (e.g. module/map
)
Module Specific Instructions¶
A module may require further installation steps. Whether these need to be performed before enabling the module, should be provided by the module’s documentation. In any case, don’t forget to apply these as well, otherwise the module will most likely not function correctly.
Examples¶
There are sample installation instructions provided for your convenience:
Sample Tarball installation
MODULE_NAME="map"
MODULE_VERSION="v1.1.0"
MODULE_AUTHOR="nbuchwitz"
MODULES_PATH="/usr/share/icingaweb2/modules"
MODULE_PATH="${MODULES_PATH}/${MODULE_NAME}"
RELEASES="https://github.com/${MODULE_AUTHOR}/icingaweb2-module-${MODULE_NAME}/archive"
mkdir "$MODULE_PATH" \
&& wget -q $RELEASES/${MODULE_VERSION}.tar.gz -O - \
| tar xfz - -C "$MODULE_PATH" --strip-components 1
icingacli module enable "${MODULE_NAME}"
Sample GIT installation
MODULE_NAME="map"
MODULE_VERSION="v1.1.0"
MODULE_AUTHOR="nbuchwitz"
REPO="https://github.com/${MODULE_AUTHOR}/icingaweb2-module-${MODULE_NAME}"
MODULES_PATH="/usr/share/icingaweb2/modules"
git clone ${REPO} "${MODULES_PATH}/${MODULE_NAME}" --branch "${MODULE_VERSION}"
icingacli module enable "${MODULE_NAME}"
Configuration¶
A module may also require configuration. Most modules provide additional tabs at their configuration page.
This is accessible in the UI at Configuration -> Modules
. If not, and something isn’t working, check the
module’s documentation again for hints.
If you need access to a module’s configuration files directly, they should be in a subdirectory modules
of Icinga Web 2’s configuration directory. That is usually /etc/icingaweb2/modules
. Each directory in
there should be named the same as its installation path. (e.g. /etc/icingaweb2/modules/map
)