monitoring - 检查进程是否在 Bosun 上运行

标签 monitoring bosun

我正在测试 Bosun (Stack Exchange 的开源监控和警报系统)我对如何监控“ bool ”指标感到很困惑。

如果某些进程未运行,我希望得到提醒。

为了收集指标,我尝试了两种方法:

  • documentation of scollector我看到可以配置某些进程 我没有收到任何相关指标。我是否需要任何特殊配置来启用这些进程检查?

  • 我创建了一个自定义收集器来计算这些进程。

为了获得提醒,我创建了以下规则:

alert test {
  template = test
  crit = avg(q("avg:myprocess.running{host=*}", "10m", "")) < 1
}

这是正确的做法还是有更好的方法?

最佳答案

选项

  1. 如果您有警报并且正在使用 OpenTSDB,当标记集“消失”(检查持续时间的 2 倍没有数据)时,警报将变为未知。然后你可以将这个未知数视为“向下”的意思。
  2. 如果指标被发送,无论它是上升还是下降(即总是会有 0 或 1,您可以对此发出警报。这里唯一的问题是 avg 并没有真正意义(除非你在做模糊逻辑)。所以你可能想使用 lastmaxmin

session

scollector conf 在每台主机上运行。配置行应与您指定的文档链接中指定的一样。另请记住,您的示例警报没有 warnNotification 或 critNotification,因此它只会出现在仪表板上(不会设置电子邮件或 http 帖子)。

标签集和 OpenTSDB 查询

了解“avg:myprocess.running{host=*}”中的第一个参数很重要。所以 avg 的意思是取所有你没有指定的标签并取它们的平均值。因此,例如,如果您也有像我们的 scollector 那样的 ID 标签,您可能希望在查询字符串中执行 sum 而不是 avg,并在少于一个时发出警报过程。

关于monitoring - 检查进程是否在 Bosun 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29213850/

相关文章:

Bosun如何添加不同标签的系列?

linux - 实时 Linux 系统监控工具

java - VisualVM 可以监控在 JRE 上运行的应用程序吗

Bosun 通过 json post body 发送警报特定数据

go - Bosun - 使用 .GetMeta 获取主机的 IP 地址

elasticsearch - Bosun + Elasticsearch-如何配置bosun以连接Elasticsearch

linux - Graphite 存储模式不起作用

heroku - 如何使用 Prometheus 监控 Heroku multi-dynos 应用程序?

rest - 如何集成 Ambari REST API 用于集群监控示例