Bosun Contando el número total de documentos en los últimos 5 minutos.


Ejemplo

lscount devuelve un recuento agrupado de tiempo de documentos coincidentes en el índice de LogStash, de acuerdo con el filtro especificado.

Un uso trivial de esto sería verificar cuántos documentos en total se han recibido en los 5 minutos, y alertar si está por debajo de un cierto umbral.

Una alerta Bosun por esto podría ser como:

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
}

Esto tiene dos instancias de lscount:

  • $ count_by_minute = lscount ("logstash", "", "", "5m", "5m", "")
    • Esto cuenta la cantidad de documentos de los últimos 5 minutos, en un solo contenedor de 5 minutos. Obtendrá un punto de datos en el conjunto de series devuelto con el número total de documentos de los últimos 5 minutos, en el último índice de logstash
  • $ count_graph = lscount ("logstash", "", "", "1m", "60m", "")
    • Esto cuenta el número de documentos de la última hora, en cubos de 1 minuto. Habrá un total de 60 puntos de datos en el conjunto de series devuelto, que en este caso se utiliza en un gráfico.