登录
首页 >  Golang >  Go问答

Alertmanager 无接收 Prometheus 的警报信号

来源:stackoverflow

时间:2024-02-09 15:18:24 219浏览 收藏

最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《Alertmanager 无接收 Prometheus 的警报信号》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~

问题内容

我使用prometheus作为事件监视器,这意味着当我的系统发生某些事情时,例如:系统升级成功或发生某些错误。系统有2个不同的事件,一个称为“服务器升级成功”,另一个称为“服务器升级报告”。每次服务器升级成功时,alertmanager 都能从 prometheus 获取“服务器升级报告”警报,但无法获取“服务器升级成功”警报。 这里是prometheus的警报规则,第一个是“服务器升级成功”警报规则,第二个是“服务器升级报告”警报规则。

groups:
  - name: server_upgrade_succeed_rule_group
    rules:
      - alert: server_upgrade_succeed_rule_alert
        expr: service_upgrade_success == 1
        for: 0s
        annotations:
          level: "info"
          category: "app_event"
          rule_id: "server_upgrade_succeed_rule"
          component_id: ""
          summary: "server upgrade successfully"
          description: "{{ $labels.controller_name }} {{ $labels.host_ip }}{{ $labels.service_name }}{{ $labels.end_at }}{{ $labels.original_version }}{{ $labels.target_version }}"


groups:
  - name: server_upgrade_report_rule_group
    rules:
      - alert: server_upgrade_report_rule_alert
        expr: service_upgrade_report == 1
        for: 0s
        annotations:
          level: "info"
          category: "app_event"
          rule_id: "server_upgrade_report_rule"
          component_id: ""
          summary: "server upgrade report"
          description: "{{ $labels.controller_name }}{{ $labels.service_name }}{{ $labels.service_name }}{{ $labels.total_count }}{{ $labels.succeed_count }}{{ $labels.failed_count }}"

prometheus配置是这样的

global:
  scrape_interval: 5s
  evaluation_interval: 5s

最让我困惑的是,我认为这两个指标完全相同,一个可以发送到 alertmanager 而另一个则不能,这是没有意义的。

希望有聪明的人可以帮助我。


正确答案


您可以安装alertmanager并进入配置,您可以设置集成以发送请求或通知以发送警报 例如,我使用 webhook 集成并使用 express node js 编写简单的代码来接收请求并通知某人(https://prometheus.io/docs/operating/integrations/#alertmanager-webhook-receiver

在alertmanager配置中,我设置了这个配置

receivers:
  - name: 'web.hook'
    webhook_configs:
      - url: 'http://127.0.0.1:8090/webhook'
        send_resolved: true

当某些警报触发请求 post 方法到我的 url 时

我希望能解决你的问题:)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>