互亿无线 · 文档中心

Prometheus短信插件


Prometheus 服务监控系统

Prometheus 是一个开源服务监控系统和时序数据库,提供了一个通用的数据模型,支持高效的数据采集、存储和查询。

步骤一:配置 Alertmanager

配置 Alertmanager:
在 Alertmanager 的配置文件 alertmanager.yml 中,你需要定义全局设置、路由规则和接收者。具体配置如下:
# alertmanager.yml

global:
  resolve_timeout: 5m

route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: 'sms'

receivers:
- name: 'sms'
  webhook_configs:
  - url: 'http://xxx'
    send_resolved: true
  • 全局设置:这里可以配置 Alertmanager 的基本行为,如超时时间、重试策略等。
  • 路由规则:定义警报的分发路由,可以根据警报的标签将警报分发到不同的接收者。
  • 接收者:定义了名为 sms 的接收者,后续将配置如何将警报通知发送到此接收者。

步骤二:配置短信通知

配置短信通知:
使用 Python 代码调用短信服务的 API 发送短信通知。将下面的 account 和 password 替换为你的 APIID 和 APIKEY。
import requests
import json

def send_sms(mobile, content):
    url = 'http://106.ihuyi.com/webservice/sms.php?method=Submit'
    payload = {
        'account':'xxxxxxxx',
        'password':'xxxxxxxxxxxx',
        'mobile':mobile,
        'content':content,
        'format':'json',
    }
    headers = {
        "Content-type": "application/x-www-form-urlencoded",
        "Accept": "text/plain"
    }
    response = requests.post(url, headers=headers, data=data)
    res = json.loads(response.content.decode())
    if res['code'] == 2:
        print('短信发送成功')
    else:
        print('短信发送失败')

* APIID和APIKEY请登录互亿无线管理后台,"验证码通知短信 > 概览”获取。

步骤三:设置告警规则

在 Prometheus 配置文件 prometheus.yml 中定义告警规则:
# prometheus.yml

rule_files:
  - 'alert.rules.yml'

alerting:
  alertmanagers:
  - static_configs:
    - targets: ['alertmanager:9093']
添加告警规则到 alert.rules.yml 文件中,如下示例:
# alert.rules.yml

groups:
- name: example
  rules:
  - alert: HighErrorRate
    expr: job:request_error_rate:rate5m > 0.5
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: 'High error rate detected'
      description: 'The error rate is above 0.5'
这个规则会在请求错误率超过 0.5,持续时间达到 5 分钟时触发警报。

步骤四:配置 Prometheus

更新 Prometheus 配置:
在 prometheus.yml 文件中添加 Alertmanager 的地址,确保 Prometheus 可以将警报发送到 Alertmanager。
# prometheus.yml

alerting:
  alertmanagers:
  - static_configs:
    - targets: ['alertmanager:9093']

步骤五:启动 Alertmanager

启动 Alertmanager:
在命令行中执行以下命令来启动 Alertmanager:
$ alertmanager
Alertmanager 将在默认端口 9093 上运行。

步骤六:测试短信通知

测试短信通知:
触发一个警报以测试短信通知是否正常工作。你可以在 Prometheus 的 Web 界面手动触发警报,或者模拟警报以测试配置。
通过这些步骤,开发者可以更加清晰地理解和实施 Prometheus 监控与警报系统。

现在注册,即享新用户礼包!

放假安排
在线咨询
电话咨询

服务热线:

4008 808 898

服务热线(工作时间):

4008 808 898

业务咨询(非工作时间):

4008 808 898

售后咨询(非工作时间):

4008 808 898

验证码已发送到您的手机,请查收!

填写验证码后,点击“开通体验账户”自动开通体验账户。

收不到短信验证码?
×