我不太了解弹性。 我只是想知道当使用elastalert时群集状态为RED时是否可以获得通知。
谢谢
答案 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,因此没有可用于查询的索引。