ITL docs: Replace unmaintained anchor/nagios-plugin-elasticsearch

Replaced with the currently maintained NETWAYS/check_elasticsearch
This commit is contained in:
Markus Opolka 2025-08-19 17:25:34 +02:00
parent a218ba8d92
commit 8407085a95
2 changed files with 72 additions and 33 deletions

View file

@ -2761,7 +2761,7 @@ mongodb_disableretrywrites | **Optional.** If set to true, will disable Re
#### elasticsearch <a id="plugin-contrib-command-elasticsearch"></a>
The [check_elasticsearch](https://github.com/anchor/nagios-plugin-elasticsearch) plugin
The [check_elasticsearch](https://github.com/NETWAYS/check_elasticsearch) plugin
uses the HTTP API to monitor an [Elasticsearch](https://www.elastic.co/products/elasticsearch) node.
Custom variables passed as [command parameters](03-monitoring-basics.md#command-passing-parameters):
@ -2769,11 +2769,12 @@ Custom variables passed as [command parameters](03-monitoring-basics.md#command-
Name | Description
-----------------------------|-------------------------------------------------------------------------------------------------------
elasticsearch_host | **Optional.** Hostname or network address to probe. Defaults to "$address$" if the host's `address` attribute is set, "$address6$" otherwise.
elasticsearch_failuredomain | **Optional.** A comma-separated list of ElasticSearch attributes that make up your cluster's failure domain.
elasticsearch_masternodes | **Optional.** Issue a warning if the number of master-eligible nodes in the cluster drops below this number. By default, do not monitor the number of nodes in the cluster.
elasticsearch_port | **Optional.** TCP port to probe. The ElasticSearch API should be listening here. Defaults to 9200.
elasticsearch_prefix | **Optional.** Optional prefix (e.g. 'es') for the ElasticSearch API. Defaults to ''.
elasticsearch_yellowcritical | **Optional.** Instead of issuing a 'warning' for a yellow cluster state, issue a 'critical' alert. Defaults to false.
elasticsearch_username | **Optional.** Username if authentication is required
elasticsearch_password | **Optional.** Password if authentication is required
elasticsearch_timeout | **Optional.** Allows to set timeout for execution of this plugin.
elasticsearch_tls | **Optional.** Use a HTTPS connection (default false)
elasticsearch_insecure | **Optional.** Skip the verification of the server's TLS certificate (default false)
#### redis <a id="plugin-contrib-command-redis"></a>

View file

@ -722,41 +722,79 @@ object CheckCommand "mongodb" {
vars.mongodb_action = "connections"
}
object CheckCommand "elasticsearch" {
template CheckCommand "elasticsearch" {
import "ipv4-or-ipv6"
command = [ PluginContribDir + "/check_elasticsearch" ]
command = [ PluginDir + "/check_elasticsearch" ]
arguments = {
"--failure-domain" = {
value = "$elasticsearch_failuredomain$"
description = "A comma-separated list of ElasticSearch attributes that make up your cluster's failure domain"
}
"--host" = {
value = "$elasticsearch_host$"
description = "Hostname or network address to probe, defaults to 'localhost'"
}
"--master-nodes" = {
value = "$elasticsearch_masternodes$"
description = "Issue a warning if the number of master-eligible nodes in the cluster drops below this number. By default, do not monitor the number of nodes in the cluster"
}
"--port" = {
value = "$elasticsearch_port$"
description = "TCP port to probe, defaults to 9200"
}
"--prefix" = {
value = "$elasticsearch_prefix$"
description = "Optional prefix for the ElasticSearch API, defaults to ''"
}
"--yellow-critical" = {
value = "TRUE"
set_if = "$elasticsearch_yellowcritical$"
description = "Instead of issuing a 'warning' for a yellow cluster state, issue a 'critical' alert"
"-H" = {
value = "$elasticsearch_hostname$"
description = "Hostname of the Elasticsearch instance (default 'localhost')"
}
"-p" = {
value= "$elasticsearch_port$"
description = "Port of the Elasticsearch instance (default 9200)"
}
"-U" = {
value = "$elasticsearch_username$"
description = "Username if authentication is required"
}
"-P" = {
value = "$elasticsearch_password$"
description = "Password if authentication is required"
}
"-S" = {
set_if = "$elasticsearch_tls$"
description = "Use a HTTPS connection (default false)"
}
"--insecure" = {
set_if = "$elasticsearch_insecure$"
description = "Skip the verification of the server's TLS certificate (default false)"
}
"-t" = {
value = "$elasticsearch_timeout$"
description = "Timeout in seconds for the CheckPlugin (default 30)"
}}
}
object CheckCommand "elasticsearch-query" {
import "elasticsearch"
command += [ "query" ]
arguments += {
"-q" = {
value = "$elasticsearch_query$"
description = "The Elasticsearch query"
}
"-I" = {
value = "$elasticsearch_query_index$"
description = "Name of the Index which will be used (default '_all')"
}
"-k" = {
value = "$elasticsearch_query_msgkey$"
description = "Message of messagekey to display"
}
"-m" = {
value = "$elasticsearch_query_msglen$"
description = "Number of characters to display in the latest message (default 80)"
}
"-w" = {
value = "$elasticsearch_query_warning$"
description = "Warning threshold for total hits (default '20')"
}
"-c" = {
value = "$elasticsearch_query_critical$"
description = "Critical threshold for total hits (default '50')"
}
}
}
vars.elasticsearch_host = "$check_address$"
vars.elasticsearch_yellowcritical = false
object CheckCommand "elasticsearch-health" {
import "elasticsearch"
command += [ "health" ]
}
object CheckCommand "redis" {