Bosun Plantilla y alerta de memoria baja


Ejemplo

Las plantillas se pueden previsualizar y editar utilizando la pestaña Editor de reglas en Bosun. Use los enlaces Saltar a para seleccionar la alerta que desea editar, luego puede usar el botón de plantilla junto a macro para alternar entre las secciones de alerta y plantilla de la configuración. Si una alerta tiene varias instancias, puede usar host=xxx,name=xxx en la sección Grupo de plantillas para especificar para qué conjunto de etiquetas desea ver la plantilla representada.

template os.low.memory {
    subject = {{.Last.Status}}: Low Memory: {{.Eval .Alert.Vars.q | printf "%.0f"}}% Free Memory on {{.Group.host}} ({{.Eval .Alert.Vars.free | bytes }} Free of {{.Eval .Alert.Vars.total | bytes }} Total)

    body = `
    <p><a href="{{.Ack}}">Acknowledge</a> | <a href="{{.Rule}}">View Alert in Bosun's Rule Editor</a></p>
    <p><strong>Alert Key: </strong>{{printf "%s%s" .Alert.Name  .Group }}</p>
    <p><strong>Incident: </strong><a href="{{.Incident}}">#{{.Last.IncidentId}}</a></p>
    <p><strong>Notes: </strong>{{html .Alert.Vars.notes}}</p>

    <strong>Graph</strong>
    <div>{{.Graph .Alert.Vars.graph .Alert.Vars.graph_unit}}</div>
    `
}

notification sample.notification {
    email = alerts@example.com
}

alert os.low.memory {
    template = os.low.memory
    $notes = Alerts when less than 5% free, or less than 500MB (when total > 2GB). In Linux, Buffers and Cache are considered "Free Memory".

    $default_time = "2m"
    $host = wildcard(*)
    $graph = q("avg:300s-avg:os.mem.percent_free{host=$host}", "1d", "")
    $graph_unit = Percent Free Memory (Including Buffers and Cache)
    $q = avg(q("avg:os.mem.percent_free{host=$host}", $default_time, ""))
    $total = last(q("sum:os.mem.total{host=$host}", $default_time, ""))
    $free = last(q("sum:os.mem.free{host=$host}", $default_time, ""))

    #Warn when less than 5% free or total > 2GB and free < 500MB
    warn = $q < 5 || ($total > 2147483648 && $free < 524288000)
    #Crit when less than 0.5% free
    crit = $q <= .5
    critNotification = sample.notification
}

Después de probar la alerta en la página Editor de reglas, puede usar la pestaña Resultados para ver los cálculos, la Plantilla para ver la notificación de alerta representada y la Línea de tiempo para ver todos los incidentes de alerta (solo cuando se especifican las fechas Desde y Hasta ).

Vista previa de la plantilla de Bosun Rule Editor