haproxy - 如何编写mesos和HAProxy进程的prometheus警报规则?

标签 haproxy mesos prometheus

我正在执行一项任务,需要配置和验证 prometheus 警报管理器。当 mesos 进程和 HAProxy 进程关闭时,用户应该收到警报,我尝试在互联网上查找这些警报规则,但没有找到合适的。谁能告诉我如何编写这些警报规则。基本上需要条件子句。

最佳答案

这取决于您如何监控事物。我们以 HAProxy 为例,假设您正在使用 HAProxy Exporter ( https://github.com/prometheus/haproxy_exporter ) 来监控它。 HAProxy Exporter 包含一个名为 haproxy_up 的指标,该指标指示它是否成功抓取 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 Exporter 实例。也许您实际上想检查两者。

我不能对 Mesos 及其导出器说太多,因为我没有任何使用它们的经验,但我想它会是类似的东西。

关于haproxy - 如何编写mesos和HAProxy进程的prometheus警报规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37035865/

相关文章:

.net - System.Net.WebRequest 和 TLS 1.2 使用 haproxy 创建一个 'Handshake Failure'

haproxy - 使用 HAProxy 重定向 URL 路径并保留查询字符串

hadoop - 在 Mesos 0.21.0 上使用 Hadoop 2.3.0 产生 Spark ,从站上出现错误 "sh: 1: hadoop: not found"

java - Spark作业失败,因为它找不到hadoop core-site.xml

kubernetes - Prometheus:监控所有服务而不为每个服务创建ServiceMonitor?

go - 即时在普罗米修斯中添加指标标签

docker - 如何访问 docker-compose 在 haproxy 配置中创建的副本

java - 在 Tomcat 的访问日志中记录 HAProxy 特定密码

apache-zookeeper - Mesos集群在使用replicated_log时选举master失败

kubernetes - 如何将metrics-server抓取到kubernetes集群外的prometheus