diff --git a/doc/03-monitoring-basics.md b/doc/03-monitoring-basics.md
index b3b63e9bc..5ed2bf3f8 100644
--- a/doc/03-monitoring-basics.md
+++ b/doc/03-monitoring-basics.md
@@ -96,7 +96,7 @@ The `hostalive` command is one of several built-in check commands. It sends ICMP
echo requests to the IP address specified in the `address` attribute to determine
whether a host is online.
-A number of other [built-in check commands](10-icinga-template-library.md#plugin-check-commands) are also
+A number of other [built-in check commands](10-icinga-template-library.md#icinga-template-library) are also
available. In addition to these commands the next few chapters will explain in
detail how to set up your own check commands.
@@ -1310,7 +1310,7 @@ Check command parameters are defined as custom attributes which can be accessed
by the executed check command.
The check command parameters for ITL provided plugin check command definitions are documented
-[here](10-icinga-template-library.md#plugin-check-commands), for example
+[here](10-icinga-template-library.md#icinga-template-library), for example
[disk](10-icinga-template-library.md#plugin-check-command-disk).
In order to practice passing command parameters you should [integrate your own plugin](03-monitoring-basics.md#command-plugin-integration).
diff --git a/doc/04-configuring-icinga-2.md b/doc/04-configuring-icinga-2.md
index e0e367f55..2b72c1b88 100644
--- a/doc/04-configuring-icinga-2.md
+++ b/doc/04-configuring-icinga-2.md
@@ -192,7 +192,7 @@ By default, you need to make sure to set these constants:
* The `PluginDir` constant must be set to the path where the [Monitoring Project plugins](02-getting-started.md#setting-up-check-plugins) are installed.
This constant is used by a number of
-[built-in check command definitions](10-icinga-template-library.md#plugin-check-commands).
+[built-in check command definitions](10-icinga-template-library.md#icinga-template-library).
* The `NodeName` constant defines your local node name. Should be set to FQDN which is the default
if not set. This constant is required for local host configuration, monitoring remote clients and
cluster setup.
@@ -281,7 +281,7 @@ takes care of setting up the host check command to `hostalive`. If you
require a different check command, you can override it in the object definition.
The `vars` attribute can be used to define custom attributes which are available
-for check and notification commands. Most of the [Plugin Check Commands](10-icinga-template-library.md#plugin-check-commands)
+for check and notification commands. Most of the [Plugin Check Commands](10-icinga-template-library.md#icinga-template-library)
in the Icinga Template Library require an `address` attribute.
The custom attribute `os` is evaluated by the `linux-servers` group in
@@ -386,7 +386,7 @@ The Debian packages also include an additional `apt` service check applied to th
The command object `icinga` for the embedded health check is provided by the
[Icinga Template Library (ITL)](10-icinga-template-library.md#icinga-template-library) while `http_ip`, `ssh`, `load`, `processes`,
-`users` and `disk` are all provided by the [Plugin Check Commands](10-icinga-template-library.md#plugin-check-commands)
+`users` and `disk` are all provided by the [Plugin Check Commands](10-icinga-template-library.md#icinga-template-library)
which we enabled earlier by including the `itl` and `plugins` configuration file.
@@ -636,7 +636,7 @@ default:
}
The `hostalive` check command is part of the
-[Plugin Check Commands](10-icinga-template-library.md#plugin-check-commands).
+[Plugin Check Commands](10-icinga-template-library.md#icinga-template-library).
template Notification "mail-host-notification" {
diff --git a/doc/05-service-monitoring.md b/doc/05-service-monitoring.md
index 6cf8d700f..855b75b53 100644
--- a/doc/05-service-monitoring.md
+++ b/doc/05-service-monitoring.md
@@ -49,7 +49,7 @@ configuration which can be used in the [Service](09-object-types.md#objecttype-s
[Host](09-object-types.md#objecttype-host) object definition.
Please check if the Icinga 2 package already provides an
-[existing CheckCommand definition](10-icinga-template-library.md#plugin-check-commands).
+[existing CheckCommand definition](10-icinga-template-library.md#icinga-template-library).
If that's the case, throroughly check the required parameters and integrate the check command
into your host and service objects.
diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md
index 4747fe586..12574e017 100644
--- a/doc/10-icinga-template-library.md
+++ b/doc/10-icinga-template-library.md
@@ -1,14 +1,32 @@
# Icinga Template Library
-The Icinga Template Library (ITL) implements standard templates and object
-definitions for commonly used services.
+The Icinga Template Library (ITL) implements standard templates
+and object definitions.
-By default the ITL is included in the `icinga2.conf` configuration file:
+There is a subset of templates and object definitions available:
- include
+* [Generic ITL templates](10-icinga-template-library.md#itl-generic-templates)
+* [CheckCommand definitions for Icinga 2](10-icinga-template-library.md#itl-check-commands) (this includes [icinga](10-icinga-template-library.md#itl-icinga),
+[cluster](10-icinga-template-library.md#itl-icinga-cluster), [cluster-zone](10-icinga-template-library.md#itl-icinga-cluster-zone), [ido](10-icinga-template-library.md#itl-icinga-ido), etc.)
+* [CheckCommand definitions for Monitoring Plugins](10-icinga-template-library.md#plugin-check-commands-monitoring-plugins)
+* [CheckCommand definitions for Icinga 2 Windows Plugins](10-icinga-template-library.md#windows-plugins)
+* [CheckCommand definitions for NSClient++](10-icinga-template-library.md#nscp-plugin-check-commands)
+* [CheckCommand definitions for Manubulon SNMP](10-icinga-template-library.md#snmp-manubulon-plugin-check-commands)
+* [Contributed CheckCommand definitions](10-icinga-template-library.md#plugin-contrib)
+
+The ITL content is updated with new releases. Please do not modify
+templates and/or objects as changes will be overridden without
+further notice.
+
+You are advised to create your own CheckCommand definitions in
+`/etc/icinga2`.
## Generic Templates
+By default the generic templates are included in the [icinga2.conf](04-configuring-icinga-2.md#icinga2-conf) configuration file:
+
+ include
+
These templates are imported by the provided example configuration.
> **Note**:
@@ -105,14 +123,15 @@ Check command for the built-in `exception` check. This check throws an exception
For test and demo purposes only. The `exception` check command does not support
any vars.
-# Plugin Check Commands
+
+
## Plugin Check Commands for Monitoring Plugins
The Plugin Check Commands provides example configuration for plugin check commands
provided by the [Monitoring Plugins](https://www.monitoring-plugins.org) project.
-By default the Plugin Check Commands are included in the `icinga2.conf` configuration
+By default the Plugin Check Commands are included in the [icinga2.conf](04-configuring-icinga-2.md#icinga2-conf) configuration
file:
include
@@ -1415,6 +1434,8 @@ Name | Description
users_wgreater | **Optional.** The user count warning threshold. Defaults to 20.
users_cgreater | **Optional.** The user count critical threshold. Defaults to 50.
+
+
## Windows Plugins for Icinga 2
To allow a basic monitoring of Windows clients Icinga 2 comes with a set of Windows only plugins. While trying to mirror the functionalities of their linux cousins from the monitoring-plugins package, the differences between Windows and Linux are too big to be able use the same CheckCommands for both systems.
@@ -1655,7 +1676,7 @@ CPU utilization, please use the HTTP API instead of the CLI sample call.
`check_nscp_api` is part of the Icinga 2 plugins. This plugin is available for
both, Windows and Linux/Unix.
-Verify that the ITL CheckCommand is included:
+Verify that the ITL CheckCommand is included in the [icinga2.conf](04-configuring-icinga-2.md#icinga2-conf) configuration file:
vim /etc/icinga2/icinga2.conf
diff --git a/doc/15-troubleshooting.md b/doc/15-troubleshooting.md
index 884d355d1..d00d81d70 100644
--- a/doc/15-troubleshooting.md
+++ b/doc/15-troubleshooting.md
@@ -212,7 +212,7 @@ You need to restart Icinga 2 in order to update the `icinga2.debug` cache file.
## Where are the check command definitions?
-Icinga 2 features a number of built-in [check command definitions](10-icinga-template-library.md#plugin-check-commands) which are
+Icinga 2 features a number of built-in [check command definitions](10-icinga-template-library.md#icinga-template-library) which are
included with
include