計算最近 5 分鐘的檔案總數

lscount 根據指定的過濾器返回 LogStash 索引中匹配文件的時間分配計數。

對此的一個簡單用法是檢查在 5 分鐘內收到的檔案總數,並在其低於某個閾值時發出警報。

針對此的 Bosun 警報可能如下所示:

alert logstash.docs {
    $notes = This alerts if there hasn't been any logstash documents in the past 5 minutes
    template = logstash.docs
    $count_by_minute = lscount("logstash", "", "", "5m", "5m", "")
    $count_graph = lscount("logstash", "", "", "1m", "60m", "")
    $q = avg($count_by_minute)
    crit = $q < 1
    critNotification = default
}

template logstash.docs {
    body = `{{template "header" .}}
    {{.Graph .Alert.Vars.count_graph }}
    {{template "def" .}}
    {{template "computation" .}}`
    subject = {{.Last.Status}}: Logstash docs per second: {{.Eval .Alert.Vars.q | printf "%.2f"}} in the past 5 minutes
}

這有兩個 lscount 例項:

  • $ count_by_minute = lscount(logstash,“”,“”,5m5m,“”)
    • 這將計算最近 5 分鐘內單個 5 分鐘內的文件數。你將在返回的 seriesSet 中獲得一個資料點,其中包含最近的 logstash 索引中最近 5 分鐘的文件總數
  • $ count_graph = lscount(logstash,“”,“”,1m60m,“”)
    • 這將計算最後一小時的文件數量,以 1 分鐘為單位。返回的 seriesSet 中總共有 60 個資料點,在本例中用於圖表。