【SkyWalking】配置告警規則并通過 Webhook 推送釘釘通知

🧭 本文為 【SkyWalking 系列】第 3 篇
👉 系列導航:點擊跳轉

【SkyWalking】配置告警規則并通過 Webhook 推送釘釘通知

簡介

介紹 SkyWalking 告警機制、告警規則格式以及如何通過 webhook 方式將告警信息發送到釘釘。

引入

服務響應超時、失敗率升高是系統預警的重點。SkyWalking 提供默認規則與自定義 webhook 推送機制,快速閉環告警鏈路。


SkyWalking 告警配置詳解

在微服務系統中,及時發現接口異常、響應變慢、調用失敗等問題是保障系統穩定性的關鍵。SkyWalking 不僅能提供可視化鏈路追蹤,也內置了告警機制,能夠自動監控服務運行狀態并觸發預警。

1 告警觸發場景示例

當某個接口出現較長延遲、失敗率升高時,SkyWalking 會自動檢測并觸發告警,如下圖所示:

在這里插入圖片描述

你可以在 Web UI 的 Alarm 頁面 中查看最近的告警記錄,包括服務名稱、告警時間、告警指標和描述等信息。

2 SkyWalking 默認內置的告警規則

SkyWalking 提供了一些常用的默認規則,這些規則覆蓋了服務響應時間、成功率、調用性能等關鍵維度。例如:

告警名稱觸發條件說明
服務平均響應時間告警最近 3 分鐘內服務的平均響應時間 > 1 秒
服務成功率告警最近 2 分鐘內服務成功率 < 80%
服務 P90 響應時間告警最近 3 分鐘內 P90 響應時間 > 1 秒
實例平均響應時間告警最近 2 分鐘內服務實例的平均響應時間 > 1 秒

隨著 SkyWalking 的版本不斷迭代,也在持續新增其他告警規則

3 告警配置文件位置與格式

所有告警規則統一配置在:config/alarm-settings.yml

配置文件示例截圖如下所示:

在這里插入圖片描述

4 告警規則結構說明

每條規則都是以 YAML 格式編寫,由如下屬性組成:

屬性含義說明
metrics-name指標名稱,如 service_resp_time、service_percentile
op運算符,如 ><=
threshold閾值(超過/低于該值觸發告警)
period檢查周期(單位:分鐘)
count連續滿足條件的次數,才會觸發告警
silence-period告警靜默周期,單位分鐘,在此期間不重復告警
message告警通知內容,支持模板變量,如 {{name}}{{value}}

每個規則都由相同的屬性組成,這些屬性的含義如下圖:

示例規則:
rules:slow_response_rule:metrics-name: service_resp_timeop: ">"threshold: 1000period: 1count: 3silence-period: 5message: |[服務慢響應告警]服務名稱: {{ name }}平均響應時間: {{ value }}ms

如果想要調整默認的規則,比如監控返回的信息,監控的參數等等,只需要改動上述配置文件中的參數即可。

5 告警通知:Webhook 鉤子集成

如果你想將告警信息實時推送給運維人員或系統平臺(如釘釘、飛書、微信、郵件等),SkyWalking 提供了對 Webhook 機制的原生支持

Webhook 本質上是一個 POST 請求,一旦告警被觸發,SkyWalking 會自動將告警信息以 JSON 格式推送到你配置的 HTTP 接口。

? 修改規則參數

除了內置的幾種默認規則外,你也可以按需修改響應時間、成功率等閾值,或者新增自定義規則,只需編輯:config/alarm-settings.yml

通過調整其中的參數即可靈活控制告警粒度與頻率。

? Webhook 告警觸發機制說明
  • 告警觸發后,將以 POST 請求 的方式調用指定的 webhook 地址;
  • 請求體為 application/json 格式,內容為 AlarmMessage 實例;
  • Webhook 接口的入參字段必須與 AlarmMessage 類一致。

?? 注意:

AlarmMessage 類在不同 SkyWalking 版本中字段可能會變化,請前往你使用版本的源碼中查看:

org.apache.skywalking.oap.server.core.alarm.AlarmMessage

示意圖如下:

? 示例:創建自定義告警接收模塊

你可以創建一個新微服務(如 skywalking-alarm),并定義一個簡單的告警接收接口:

@RestController
@RequestMapping("/alarm")
public class AlarmWebhookController {@PostMappingpublic void receiveAlarm(@RequestBody AlarmMessage message) {// 可將告警發送至釘釘、郵件、日志或數據庫等System.out.println("接收到告警: " + message);}
}
? 配置 alarm-settings.yml 中的 webhook 地址

config/alarm-settings.yml 文件中添加:

webhooks:- http://localhost:1004/alarm  # 自定義告警接收接口地址
? 測試告警觸發

使用前文中示例接口(如 http://localhost:1003/order/list),進行多次慢響應調用(模擬接口卡頓,例如睡眠 2 秒),觸發響應時間告警。

觸發成功后,SkyWalking 會:

  • 控制臺打印告警日志;
  • 向 webhook 接口發送 JSON 告警數據;
  • 接收模塊將其記錄或轉發至通知渠道。

? 總結

Webhook 機制讓 SkyWalking 的告警不僅停留在日志層面,還能觸發外部通知或自動化運維腳本。配合釘釘機器人、飛書通知、企業微信或郵件平臺,你可以快速搭建完整的微服務監控告警鏈路,提升故障響應效率。


🧩 本文為【SkyWalking系列】第 3 篇
📌 喜歡記得點贊、收藏,或關注我持續更新更多微服務實戰內容!
📮 有問題歡迎評論區討論,看到必回 🙌
👉 下一篇預告:系列4:SkyWalking】性能剖析實戰:定位慢接口與阻塞代碼(歡迎提前收藏)


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90822.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于 驗證碼系統 詳解

驗證碼系統的目的是&#xff1a;阻止自動化腳本訪問網頁資源&#xff0c;驗證訪問者是否為真實人類用戶。它通過各種測試&#xff08;圖像、行為、計算等&#xff09;判斷請求是否來自機器人。一、驗證碼系統的整體架構驗證碼系統通常由 客戶端 服務端 風控模型 數據采集 四…

微服務集成snail-job分布式定時任務系統實踐

前言 從事開發工作的同學&#xff0c;應該對定時任務的概念并不陌生&#xff0c;就是我們的系統在運行過程中能夠自動執行的一些任務、工作流程&#xff0c;無需人工干預。常見的使用場景包括&#xff1a;數據庫的定時備份、文件系統的定時上傳云端服務、每天早上的業務報表數…

依賴注入的邏輯基于Java語言

對于一個廚師&#xff0c;要做一道菜。傳統的做法是&#xff1a;你需要什么食材&#xff0c;就自己去菜市場買什么。這意味著你必須知道去哪個菜市場、怎么挑選食材、怎么討價還價等等。你不僅要會做菜&#xff0c;還要會買菜&#xff0c;職責變得復雜了。 而依賴注入就像是有一…

skywalking鏡像應用springboot的例子

目錄 1、skywalking-ui連接skywalking-oap服務失敗問題 2、k8s環境 檢查skywalking-oap服務狀態 3、本地iidea啟動服務連接skywalking oap服務 4、基于apache-skywalking-java-agent-9.4.0.tgz構建skywalking-agent鏡像 4.1、Dockerfile內容如下 4.2、AbstractBuilder.M…

3. java 堆和 JVM 內存結構

1. JVM介紹和運行流程-CSDN博客 2. 什么是程序計數器-CSDN博客 3. java 堆和 JVM 內存結構-CSDN博客 4. 虛擬機棧-CSDN博客 5. JVM 的方法區-CSDN博客 6. JVM直接內存-CSDN博客 7. JVM類加載器與雙親委派模型-CSDN博客 8. JVM類裝載的執行過程-CSDN博客 9. JVM垃圾回收…

UnityShader——SSAO

目錄 1.是什么 2.原理 3.各部分解釋 2.1.從屏幕空間到視圖空間 2.2.以法線半球為基&#xff0c;獲取隨機向量 2.3.應用偏移&#xff0c;并將其轉換為uv坐標 2.4.獲取深度 2.5.比較并計算貢獻 2.6.最后計算 4.改進 4.1.平滑過渡 4.2.模糊 5.變量和語句解釋 5.1._D…

【設計模式】外觀模式(門面模式)

外觀模式&#xff08;Facade Pattern&#xff09;詳解一、外觀模式簡介 外觀模式&#xff08;Facade Pattern&#xff09; 是一種 結構型設計模式&#xff0c;它為一個復雜的子系統提供一個統一的高層接口&#xff0c;使得子系統更容易使用。 外觀模式又稱為門面模式&#xff0…

【6.1.1 漫畫分庫分表】

漫畫分庫分表 “數據量大了不可怕&#xff0c;可怕的是不知道如何優雅地拆分。” &#x1f3ad; 人物介紹 架構師老王&#xff1a;資深數據庫架構專家&#xff0c;精通各種分庫分表方案Java小明&#xff1a;對分庫分表充滿疑問的開發者ShardingSphere師傅&#xff1a;Apache S…

Tomcat問題:啟動腳本startup.bat中文亂碼問題解決

一、問題描述 我們第一次下載或者打開Tomcat時可能在控制臺會出現中文亂碼問題二、解決辦法 我的是8.x版本的tomcat用notepad打開&#xff1a;logging.properties 找到&#xff1a;java.util.logging.ConsoleHandler.encoding設置成GBK&#xff0c;重啟tomcat即可

Linux中Gitee的使用

一、Gitee簡介&#xff1a;Gitee&#xff08;碼云&#xff09;是中國的一個代碼托管和協作開發平臺&#xff0c;類似于GitHub或GitLab&#xff0c;主要面向開發者提供代碼管理、項目協作及開源生態服務。適用場景個人開發者&#xff1a;托管私有代碼或參與開源項目。中小企業&a…

Oracle大表數據清理優化與注意事項詳解

一、性能優化策略 1. 批量處理優化批量大小選擇&#xff1a; 小批量(1,000-10,000行)&#xff1a;減少UNDO生成&#xff0c;但需要更多提交次數中批量(10,000-100,000行)&#xff1a;平衡性能與資源消耗大批量(100,000行)&#xff1a;適合高配置環境&#xff0c;但需監控資源使…

Anaconda及Conda介紹及使用

文章目錄Anaconda簡介為什么選擇 Anaconda&#xff1f;Anaconda 安裝Win 平臺macOS 平臺Linux 平臺Anaconda 界面使用Conda簡介Conda下載安裝conda 命令環境管理包管理其他常用命令Jupyter Notebook&#xff08;可選&#xff09;Anaconda簡介 Anaconda 是一個數據科學和機器學…

外包干了一周,技術明顯退步

我是一名本科生&#xff0c;自2019年起&#xff0c;我便在南京某軟件公司擔任功能測試的工作。這份工作雖然穩定&#xff0c;但日復一日的重復性工作讓我逐漸陷入了舒適區&#xff0c;失去了前進的動力。兩年的時光匆匆流逝&#xff0c;我卻在原地踏步&#xff0c;技術沒有絲毫…

【QT】多線程相關教程

一、核心概念與 Qt 線程模型 1.線程與進程的區別: 線程是程序執行的最小單元&#xff0c;進程是資源分配的最小單元&#xff0c;線程共享進程的內存空間(堆&#xff0c;全局變量等)&#xff0c;而進程擁有獨立的內存空間。Qt線程只要關注同一進程內的并發。 2.為什么使用多線程…

VS 版本更新git安全保護問題的解決

問題&#xff1a;我可能移動了一個VS C# 項目&#xff0c;然后&#xff0c;發現里面的git版本檢測不能用了 正在打開存儲庫: X:\Prj_C#\3D fatal: detected dubious ownership in repository at X:/Prj_C#/3DSnapCatch X:/Prj_C#/3D is owned by:S-1-5-32-544 but the current …

Git常用命令一覽

Git 是基于 Linux內核開發的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同&#xff0c;它采用了分布式版本庫的方式&#xff0c;不必服務器端軟件支持&#xff08;ps&#xff1a;這得分是用什么樣的服務端&#xff0c;使用http協議或者git協議等不太一樣。并且在…

基于 JSON 文件定位圖片缺陷點并保存

基于JSON的圖片缺陷處理流程 ├── 1. 輸入檢查 │ ├── 驗證圖片文件是否存在 │ └── 驗證JSON文件是否存在 │ ├── 2. 數據加載 │ ├── 打開并加載圖片 │ └── 讀取并解析JSON文件 │ ├── 3. 缺陷信息提取 │ ├── 檢查JSON中是否存在shapes字…

Redis基礎學習(五大值數據類型的常用操作命令)

目錄 一、Redis基本知識與Redis鍵&#xff08;key&#xff09;常用操作命令。 二、Redis的五大值的數據類型。&#xff08;value&#xff09; 三、Redis關于鍵&#xff08;key&#xff09;的值常用操作指令表格統計。 &#xff08;1&#xff09;字符串&#xff08;String&#…

Ubuntu——辦公軟件 LibreOffice 安裝與使用指南

十四、LibreOffice 安裝與使用1、核心組件組件????圖標????對應MS Office????核心功能定位????Writer??&#x1f4dd;Word專業文檔處理與排版??Calc??&#x1f4ca;Excel數據計算與分析??Impress??&#x1f3ac;PowerPoint演示文稿制作??Draw??&…

Securecrt丟失tab以及終端重新配色

今天在使用 Securecrt 的時候&#xff0c;發現 Securecrt 的 tab 標簽消失不見了&#xff0c;仔細回想起來&#xff0c;應該是上一次誤按了 alt enter 最大化&#xff0c;然后導致配置丟失的問題 還有表現就是菜單中的 Session Tabs 無論勾選還是不勾選都沒有任何變化&#xf…