Elastalert:群集健康通知

时间:2016-10-19 10:31:04

标签: elastalert

我不太了解弹性。 我只是想知道当使用elastalert时群集状态为RED时是否可以获得通知。

谢谢

3 个答案:

答案 0 :(得分:1)

它可能。但您需要通过群集运行状况查询来访问它。 样品:

input{
    exec {
       curl -u <username>:<password> <elasticsearch-ip:port>/_cluster/health
       codec => rubydebug
       type => cluster-health
    }
}
output {
    if "health" in [type] {
        elasticsearch{ 
            index => "cluster-health-%{+YYYY.MM.dd}"
            hosts => ["elasticsearch-host:port"]
        }
    }
}

如果您有没有解析它的过滤器,请添加一个带有if [type] == "cluster-health"部分的过滤器来过滤并将其解析为json。 这为您提供了基本的细节。虽然您可能需要更新状态的字段映射..至少我面临问题,您可以随时使用。现在你可以像往常一样在弹性模式下使用wriery。

答案 1 :(得分:0)

看起来他们还没有开箱即用的功能。但是有一些黑客的方法来实现它https://github.com/Yelp/elastalert/issues/903 他们建议改用Marvel。

答案 2 :(得分:-1)

不,据我所知。

当前Elastalert documentation声明索引字段在规则.yaml文件中是必需的。

弹性搜索群集提供健康状态的当前方式是通过healthapi,因此没有可用于查询的索引。