各ホストの現在のディスク使用率が 90% を超えているかどうかを確認しようとしています。私はそのようなクエリで終わった:
GET /metricbeat-2017.04.18/_search
{
"query": {
"exists" : { "field" : "system.fsstat.total_size" }
},
"size": 0,
"aggs": {
"by_hostname": {
"terms": {
"field": "beat.hostname",
"size": 100
},
"aggs": {
"newst_fsstat": {
"top_hits": {
"sort": [{"@timestamp": {"order": "desc"}}],
"size" : 1
}
},
"total_size": {
"sum": {
"field": "system.fsstat.total_size.total"
}
},
"used_size": {
"sum": {
"field": "system.fsstat.total_size.used"
}
},
"disk_usage_percentage": {
"bucket_script": {
"buckets_path": {
"total": "total_size",
"used": "used_size"
},
"script": "params.used / params.total * 100"
}
}
}
}
}
}
しかし、次の agg を top_hists に入れることができないため、total_size と used_size はすべてのドキュメントの合計です。
また、disk_usage_percentage をフィルタリングして 90% を超えるものだけを含めるのに問題があります。
そのようなクエリを手伝ってもらえますか?