prometheus alertmanager.User は、mesos プロセスと HAProxy プロセスがダウンしたときにアラートを受け取る必要があります。インターネット上でこれらのアラート ルールを見つけようとしましたが、適切なルールが見つかりませんでした。これらのアラート ルールを作成する方法を教えてください。基本的に条件句が必要です。
2 に答える
これは、物事をどのように監視しているかによって異なります。HAProxy を例として使用し、HAProxy エクスポーター ( https://github.com/prometheus/haproxy_exporter ) を使用して監視しているとします。haproxy_up
HAProxy エクスポーターには、HAProxyが正常にスクレイピングされたかどうかを示す (Prometheus がエクスポーターをスクレイピングしたとき)という名前のメトリクスが含まれています。HAProxy をスクレイピングできなかった場合haproxy_up
、値が に0
なり、アラートを出すことができます。HAProxy Exporter の Prometheus ジョブ名がhaproxy-exporter
. 次に、次のようなアラート ルールを記述できます。
ALERT HAProxyDown
IF haproxy_up{job="haproxy-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "HAProxy {{ $labels.instance }} down",
description = "HAProxy {{ $labels.instance }} could not be scraped."
}
これにより、HAProxy インスタンスを 5 分以上スクレイピングできなかった場合にアラートが送信されます。
エクスポーター(HAProxy 自体ではなく) がダウンしているかどうかを知りたい場合は、式up{job="haproxy-exporter"} == 0
を使用して、ダウンしている HAProxy エクスポーター インスタンスを見つけることができます。おそらく、実際には両方を確認する必要があります。
Mesos とその輸出業者については経験がないため、あまり多くを語ることはできませんが、似たようなものになると思います。
また、mesos メトリクスをエクスポートするには、mesos-exporter を使用する必要があります。https://github.com/prometheus-junkyard/mesos_exporter https://hub.docker.com/r/prom/mesos-exporter/ mesos_up メトリクスもあります。アラートは、HaProxy アラートと同じである必要があります。
ALERT MesosMasterDown
IF mesos_up{job="mesos-master-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "Mesos master {{ $labels.instance }} down",
description = "Mesos master {{ $labels.instance }} could not be scraped."
}
ALERT MesosSlaveDown
IF mesos_up{job="mesos-slave-exporter"} == 0
FOR 5m
LABELS {
severity = "page"
}
ANNOTATIONS {
summary = "Mesos slave {{ $labels.instance }} down",
description = "Mesos slave {{ $labels.instance }} could not be scraped."
}