From c1e5464077c9e5c7de8c55cecf97b98a6964a9e7 Mon Sep 17 00:00:00 2001 From: Michael Friedrich <michael.friedrich@icinga.com> Date: Fri, 18 Aug 2017 17:02:43 +0200 Subject: [PATCH] Docs: Update freshness checks; add chapter for external check results This also adds a nice example for freshness checks with unknown runtime details. --- doc/08-advanced-topics.md | 60 ++++++++++++++++-- doc/18-library-reference.md | 4 +- ...2_external_checks_freshness_icingaweb2.png | Bin 0 -> 30046 bytes 3 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 doc/images/advanced-topics/icinga2_external_checks_freshness_icingaweb2.png diff --git a/doc/08-advanced-topics.md b/doc/08-advanced-topics.md index 3d559d91e..25e66034f 100644 --- a/doc/08-advanced-topics.md +++ b/doc/08-advanced-topics.md @@ -343,19 +343,69 @@ and adds the excluded time period names as an array. } } +### External Check Results <a id="external-check-results"></a> + +Hosts or services which do not actively execute a check plugin to receive +the state and output are called "passive checks" or "external check results". +In this scenario an external client or script is sending in check results. + +You can feed check results into Icinga 2 with the following transport methods: + +* [process-check-result action](12-icinga2-api.md#icinga2-api-actions-process-check-result) available with the [REST API](12-icinga2-api.md#icinga2-api) (remote and local) +* External command sent via command pipe (local only) + +Each time a new check result is received, the next expected check time +is updated. This means that if there are no check result received from +the external source, Icinga 2 will execute [freshness checks](08-advanced-topics.md#check-result-freshness). + +> **Note** +> +> The REST API action allows to specify the `check_source` attribute +> which helps identifying the external sender. This is also visible +> in Icinga Web 2 and the REST API queries. + ## Check Result Freshness <a id="check-result-freshness"></a> In Icinga 2 active check freshness is enabled by default. It is determined by the `check_interval` attribute and no incoming check results in that period of time. - threshold = last check execution time + check interval +The threshold is calculated based on the last check execution time for actively executed checks: -Passive check freshness is calculated from the `check_interval` attribute if set. + (last check execution time + check interval) > current time - threshold = last check result time + check interval +If this host/service receives check results from an [external source](08-advanced-topics.md#external-check-results), +the threshold is based on the last time a check result was received: -If the freshness checks are invalid, a new check is executed defined by the -`check_command` attribute. + (last check result time + check interval) > current time + +If the freshness checks fail, Icinga 2 will execute the defined check command. + +Best practice is to define a [dummy](10-icinga-template-library.md#plugin-check-command-dummy) `check_command` which gets +executed when freshness checks fail. + +``` +apply Service "external-check" { + check_command = "dummy" + check_interval = 1m + + /* Set the state to UNKNOWN (3) if freshness checks fail. */ + vars.dummy_state = 3 + + /* Use a runtime function to retrieve the last check time and more details. */ + vars.dummy_text = {{ + var service = get_service(macro("$host.name$"), macro("$service.name$")) + var lastCheck = DateTime(service.last_check).to_string() + + return "No check results received. Last result time: " + lastCheck + }} + + assign where "external" in host.vars.services +} +``` + +Example output in Icinga Web 2: + +![Icinga 2 Freshness Checks](images/advanced-topics/icinga2_external_checks_freshness_icingaweb2.png) ## Check Flapping <a id="check-flapping"></a> diff --git a/doc/18-library-reference.md b/doc/18-library-reference.md index a819bbc22..62e212407 100644 --- a/doc/18-library-reference.md +++ b/doc/18-library-reference.md @@ -17,7 +17,7 @@ Signature: function regex(pattern, value, mode) Returns true if the regular expression `pattern` matches the `value`, false otherwise. -The `value` can be of the type [String](#string-type) or [Array](#array-type) (which +The `value` can be of the type [String](18-library-reference.md#string-type) or [Array](18-library-reference.md#array-type) (which contains string elements). The `mode` argument is optional and can be either `MatchAll` (in which case all elements @@ -56,7 +56,7 @@ Signature: function match(pattern, text, mode) Returns true if the wildcard (`?*`) `pattern` matches the `value`, false otherwise. -The `value` can be of the type [String](#string-type) or [Array](#array-type) (which +The `value` can be of the type [String](18-library-reference.md#string-type) or [Array](18-library-reference.md#array-type) (which contains string elements). The `mode` argument is optional and can be either `MatchAll` (in which case all elements diff --git a/doc/images/advanced-topics/icinga2_external_checks_freshness_icingaweb2.png b/doc/images/advanced-topics/icinga2_external_checks_freshness_icingaweb2.png new file mode 100644 index 0000000000000000000000000000000000000000..b46db68d6e118602586078018a7e52db05818fc9 GIT binary patch literal 30046 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�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 literal 0 HcmV?d00001