如何使用nagios监控elasticsearch

Noa*_*oam 10 monitoring nagios elasticsearch

我想使用nagios来监控elasticsearch.基本上,我想知道弹性搜索是否已经完成.

我想我可以使用elasticsearch Cluster Health API(参见这里)

并使用我得到的"状态"(绿色,黄色或红色),但我仍然不知道如何使用nagios(nagios在一台服务器上,而elasticsearc在另一台服务器上).

还有另一种方法吗?

编辑: 我刚发现 - check_http_json.我想我会试一试.

Noa*_*oam 13

过了一会儿 - 我已经设法使用nrpe监控elasticsearch.我想使用elasticsearch Cluster Health API - 但由于安全问题,我无法在另一台机器上使用它......所以,在监控服务器中我创建了一个新服务 - check_command check_command check_nrpe!check_elastic.现在在弹性搜索所在的远程服务器中,我使用以下内容编辑了nrpe.cfg文件:

command[check_elastic]=/usr/local/nagios/libexec/check_http -H localhost -u /_cluster/health -p 9200 -w 2 -c 3 -s green
Run Code Online (Sandbox Code Playgroud)

这是允许的,因为此命令是从远程服务器运行的 - 所以这里没有安全问题......

有用!!!我仍然会尝试在我的qeustion中发布的check_http_json命令 - 但是现在,我的解决方案已经足够了.


and*_*rew 6

在阅读了这篇文章中的建议之后,我写了一个简单的check_elasticsearch脚本.它返回状态as OK,WARNINGCRITICAL对应于群集运行状况响应中的"status"参数(分别为"green","yellow"和"red").

它还从健康页面获取所有其他参数,并以标准Nagios格式转储它们.

请享用!