互億無線 · 文檔中心

Prometheus短信插件


Prometheus 服務(wù)監(jiān)控系統(tǒng)

Prometheus 是一個開源服務(wù)監(jiān)控系統(tǒng)和時序數(shù)據(jù)庫,提供了一個通用的數(shù)據(jù)模型,支持高效的數(shù)據(jù)采集、存儲和查詢。

步驟一:配置 Alertmanager

配置 Alertmanager:
在 Alertmanager 的配置文件 alertmanager.yml 中,你需要定義全局設(shè)置、路由規(guī)則和接收者。具體配置如下:
# 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
  • 全局設(shè)置:這里可以配置 Alertmanager 的基本行為,如超時時間、重試策略等。
  • 路由規(guī)則:定義警報的分發(fā)路由,可以根據(jù)警報的標(biāo)簽將警報分發(fā)到不同的接收者。
  • 接收者:定義了名為 sms 的接收者,后續(xù)將配置如何將警報通知發(fā)送到此接收者。

步驟二:配置短信通知

配置短信通知:
使用 Python 代碼調(diào)用短信服務(wù)的 API 發(fā)送短信通知。將下面的 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('短信發(fā)送成功')
    else:
        print('短信發(fā)送失敗')

* APIID和APIKEY請

步驟三:設(shè)置告警規(guī)則

在 Prometheus 配置文件 prometheus.yml 中定義告警規(guī)則:
# prometheus.yml

rule_files:
  - 'alert.rules.yml'

alerting:
  alertmanagers:
  - static_configs:
    - targets: ['alertmanager:9093']
添加告警規(guī)則到 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'
這個規(guī)則會在請求錯誤率超過 0.5,持續(xù)時間達(dá)到 5 分鐘時觸發(fā)警報。

步驟四:配置 Prometheus

更新 Prometheus 配置:
在 prometheus.yml 文件中添加 Alertmanager 的地址,確保 Prometheus 可以將警報發(fā)送到 Alertmanager。
# prometheus.yml

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

步驟五:啟動 Alertmanager

啟動 Alertmanager:
在命令行中執(zhí)行以下命令來啟動 Alertmanager:
$ alertmanager
Alertmanager 將在默認(rèn)端口 9093 上運(yùn)行。

步驟六:測試短信通知

測試短信通知:
觸發(fā)一個警報以測試短信通知是否正常工作。你可以在 Prometheus 的 Web 界面手動觸發(fā)警報,或者模擬警報以測試配置。
通過這些步驟,開發(fā)者可以更加清晰地理解和實施 Prometheus 監(jiān)控與警報系統(tǒng)。

現(xiàn)在注冊,即享新用戶禮包!

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

服務(wù)熱線(工作時間):

4008 808 898

業(yè)務(wù)咨詢(非工作時間):

售后咨詢(非工作時間):

驗證碼已發(fā)送到您的手機(jī),請查收!

輸入驗證碼后,點(diǎn)擊“開通體驗賬戶”按鈕可立即開通體驗賬戶。

收不到短信驗證碼?
互億無線不提供接碼服務(wù),接碼用戶請勿點(diǎn)擊開通按鈕。
×