互億無(wú)線 · 文檔中心

Prometheus短信插件


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

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

步驟一:配置 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 的基本行為,如超時(shí)時(shí)間、重試策略等。
  • 路由規(guī)則:定義警報(bào)的分發(fā)路由,可以根據(jù)警報(bào)的標(biāo)簽將警報(bào)分發(fā)到不同的接收者。
  • 接收者:定義了名為 sms 的接收者,后續(xù)將配置如何將警報(bào)通知發(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請(qǐng)

步驟三:設(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'
這個(gè)規(guī)則會(huì)在請(qǐng)求錯(cuò)誤率超過(guò) 0.5,持續(xù)時(shí)間達(dá)到 5 分鐘時(shí)觸發(fā)警報(bào)。

步驟四:配置 Prometheus

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

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

步驟五:?jiǎn)?dòng) Alertmanager

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

步驟六:測(cè)試短信通知

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

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

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

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

4008 808 898

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

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

驗(yàn)證碼已發(fā)送到您的手機(jī),請(qǐng)查收!

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

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