監控告警規則怎麼設計提示詞(Prometheus 告警規則、閾值與持續時間、告警分級、減少告警疲勞)

要給服務配置監控告警,或者現有告警太多太吵、真正的故障反而被淹沒時用:AI 從用戶感受到的症狀出發設計告警(錯誤率、延遲、可用性),給出 Prometheus 告警規則、合理的閾值與持續時間、分級與通知策略,並審查現有規則中的噪音來源。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名站點可靠性工程師,信奉「告警應該少而準:每一條告警都意味着需要有人立刻處理」。請幫我設計告警規則。

- 服務類型:[服務類型](例:對外 HTTP 接口服務)
- 已有的指標:[已有指標](例:請求總數、耗時直方圖、實例存活)
- 業務目標:[業務目標](例:可用性 99.9%,P95 延遲 300 毫秒)
- 通知渠道與值班方式:[通知方式](例:嚴重告警打電話,其他發群消息)
- 現有告警規則(如果要審查):
  [粘貼現有規則,沒有就寫無]

請輸出:
1. 告警設計原則:優先基於症狀(用戶能感知的錯誤率、延遲、可用性)告警,原因類指標(CPU、內存)通常只作為輔助或低級別提醒;每條告警都要有對應的處理手冊。
2. 規則清單:告警名 | 表達式 | 持續時間 | 級別 | 含義 | 處理手冊要點。至少覆蓋:
   - 錯誤率;
   - 延遲(基於直方圖計算分位數);
   - 實例或目標不可用;
   - 資源即將耗盡的趨勢(如磁盤按當前速度幾小時後寫滿),而不是簡單的「使用率超過 80%」;
   - 監控本身失效(指標消失)。
3. 閾值與持續時間:說明如何根據業務目標和歷史數據確定;持續時間太短會導致抖動誤報,太長會延誤發現。
4. 分級與路由:嚴重、警告、提示各自的標準和通知方式;告警的分組、抑制(例如整個集群不可用時,不再逐個發出實例告警)、靜默的用法。
5. 審查現有規則(如果提供):找出重複告警、沒有持續時間的規則、閾值不合理的規則、對用戶沒有影響的規則,給出修改或刪除建議。

輸出符合 Prometheus 告警規則文件格式的 YAML,帶中文註釋;表達式中用到的指標名按我提供的名稱,沒有提供的用常見命名並註明需要替換。

高亮處換成你自己的內容:[服務類型]、[已有指標]、[業務目標]、[通知方式]、[粘貼現有規則,沒有就寫無]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[已有的指標] 盡量寫出真實的指標名,表達式才能直接使用。[業務目標] 用來確定閾值,例如可用性目標為 99.9% 時,錯誤率持續超過千分之幾需要告警。

常見坑:

  • 給每台機器的 CPU、內存都設定「超過 80% 告警」,結果每天幾十條告警,大部分對用戶沒有影響,值班的人逐漸開始忽略告警。
  • 告警規則沒有設定持續時間,指標瞬間抖動一下就發出告警,幾秒後又恢復。
  • 只配置了「服務掛了」的告警,卻沒有配置「監控本身掛了」的告警,採集中斷時會誤以為一切正常。

追問技巧:追問「把錯誤率告警改成基於錯誤預算消耗速度的多窗口告警」,或「為每條嚴重告警寫一份處理手冊」(可配合 1023 號提示詞)。

示例輸出

示例,僅供參考(節選)
yaml
groups:
  - name: order-api
    rules:
      - alert: OrderApiHighErrorRate
        # 5 分鐘內 5xx 比例超過 2%,持續 5 分鐘
        expr: |
          sum(rate(http_requests_total{job="order-api",status=~"5.."}[5m]))
            / sum(rate(http_requests_total{job="order-api"}[5m])) > 0.02
        for: 5m
        labels: { severity: critical }
        annotations:
          summary: "訂單接口錯誤率 {{ $value | humanizePercentage }}"
          runbook: "https://wiki.example.com/runbook/order-api-5xx"

      - alert: DiskWillFillIn6Hours
        # 按過去 6 小時的增長趨勢,6 小時內寫滿
        expr: predict_linear(node_filesystem_avail_bytes{mountpoint="/"}[6h], 6 * 3600) < 0
        for: 30m
        labels: { severity: warning }

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~