Prometheus 集成

Promethues 集成有两种实现方式:

  1. Webhook 方式;
  2. 兼容 PagerDuty 方式

Webhook方式

  • 集成原理:将 Prometheus 告警信息通过 webhook 方式通知 OneAlert,然后 OneAlert 将收到的告警信息分派给合适的人,并且实现电话、短信、微信、邮件等多种告警方式通知到成员。

  • 配置过程

1.修改 alertmanager 模块的配置文件,通过 webhook 方式通知 OneAlert,编辑告警的配置文件,新增以下内容。

receivers:
- name: 'team-X-pager'
  webhook_configs:
  - url: 'http://api.110monitor.com/alert/api/event/prometheus/--'
    send_resolved: true

2.重新启动 alertmanager 模块,并加载该配置文件。


兼容 PagerDuty 方式

  • 集成原理:OneAlert 提供兼容 PagerDuty 的接口集成方式,然后 OneAlert 将收到的告警信息分派给合适的人。

  • 配置过程

1.在 alertmanager 的配置文件 *.yml 中将默认的 PagerDuty 接口地址更改为 OneAlert 兼容接口地址

global:
  # The smarthost and SMTP sender used for mail notifications.
  # Alternative host for Hipchat.
  hipchat_url: 'https://hipchat.foobar.org/'
  pagerduty_url: 'http://api.onealert.com/alert/api/event/pagerduty'

2.设置应用 key,在对应的 receivers 设置,由于 alertmanager 默认的是 team-X-mails,可以在此基础上修改

receivers:
- name: 'team-X-mails'
  pagerduty_configs:
  - service_key: 'd28b83e2-0dd8-e833-fce3-8e9673154e3b'
  email_configs:
  - to: 'team-X+alerts@example.org'

3.重启alertmanager

建议开启 alertmanager 的日志 –log.level=debug,观察发送消息。

./alertmanager -config.file=simple.yml -web.external-
url=http://your.domain.com:9093/ -log.level=debug

当出现 flushing、notify 等信息时,说明 alertmanager 成功触发消息。

DEBU[0372] flushing
[go_memstats_alloc_bytes_gt[3399c28][resolved]]
aggrGroup={}:{alertname="go_memstats_alloc_bytes_gt"}
source="dispatch.go:428"
DEBU[0372] notifying PagerDuty

在 OneAlert 控制台会查看到对应的告警,恭喜你完成集成工作~,接下来可以配置分派策略以及排班、通知策略。


配置完成后,若 OneAlert 平台未收到您发送过来的告警,请根据Prometheus 排错文档排查问题。


如果您对 OneAlert 感兴趣,可以选择使用我们的产品,只需要点击下面的按钮免费注册即可。


注册,永久免费使用 OneAlert