Bosun Conteggio del numero totale di documenti negli ultimi 5 minuti


Esempio

lscount restituisce un conteggio temporale dei documenti corrispondenti nell'indice LogStash, in base al filtro specificato.

Un uso banale di questo sarebbe controllare quanti documenti in totale sono stati ricevuti nei 5 minuti e avvisare se è al di sotto di una certa soglia.

Un avviso Bosun per questo potrebbe essere simile a:

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
}

Questo ha due istanze di lscount:

  • $ count_by_minute = lscount ("logstash", "", "", "5m", "5m", "")
    • Conta il numero di documenti degli ultimi 5 minuti, in un singolo bucket di 5 minuti. Otterrai un punto dati nella serie restituita Set con il numero totale di documenti degli ultimi 5 minuti, nell'ultimo indice logstash
  • $ count_graph = lscount ("logstash", "", "", "1m", "60m", "")
    • Conta il numero di documenti dell'ultima ora, in intervalli di 1 minuto. Ci saranno un totale di 60 punti dati nella serie Set restituiti, che in questo caso vengono utilizzati in un grafico.