解剖智能運維三基石:Metrics/Logs/Traces

3秒知識卡

三基石關系

Metrics(指標)→ 系統脈搏(CPU/錯誤率)

Logs(日志)→ 事件日記(錯誤堆棧/用戶行為)

Traces(追蹤)→ 血緣地圖(請求跨服務路徑)

協同價值:故障定位速度提升 10倍(MTTR從1小時→6分鐘)

一、為什么必須是這三個?運維數據界的“水糧氧”

1. 從支付系統故障看三基石協同作戰

故障現場

  • 用戶支付失敗率突增30%,但服務器CPU/內存指標全部正常?

排查過程:

關鍵角色

  • Metrics:發現業務指標異常(但無法解釋原因)
  • Logs:找到錯誤關鍵詞“Connection timeout”
  • Traces:還原完整調用鏈(穿透12個微服務)

結果對比

  • 傳統方式:4人團隊排查3小時
  • 三基石聯動:6分鐘定位證書過期
2. 三者本質差異與互補性
維度MetricsLogsTraces
數據結構數值型(時間序列)文本型(非結構化)樹形拓撲(請求鏈路)
核心價值量化健康度(如錯誤率)記錄事件上下文(如異常堆棧)還原調用關系(如服務依賴)
存儲成本低(1TB/月)高(原始日志100TB/月)中(采樣后10TB/月)
典型案例Prometheus監控儀表盤ELK排錯日志Jaeger鏈路追蹤圖

二、深度治理指南:金融級數據治理框架

1. Metrics治理四步法(攜程50億/分鐘實踐)

架構圖


關鍵治理策略

  • 降采樣:原始秒級數據→按業務保留策略(如核心交易保留1年原始數據,非核心服務僅留小時級聚合值)
  • 動態聚合:自動識別熱點指標(如支付延遲)實時計算P99分位值
  • 成本控制:通過標簽(env=prod)區分存儲等級,冷數據轉存S3
2. Logs治理三大戰場(某銀行日志壓縮率95%)

致命痛點

  • 開發隨意打印日志 → 單日2PB無效日志(DEBUG日志占比70%)?

治理方案

技術組合

  • 采集:Filebeat(輕量級)+ OpenTelemetry(標準化)
  • 處理:Loki(日志聚類)+ Flink(實時分析)
  • 存儲:ES熱數據保留7天 + MinIO冷數據歸檔
3. Traces治理黃金法則(穿透387個微服務的秘密)

核心挑戰

  • 微服務鏈路追蹤成本指數級增長(100萬QPS → 每日TB級Span數據)?

攜程實戰方案

關鍵決策

  • 采樣策略
    • 錯誤請求:100%采樣
    • 慢查詢:>200ms全留存
    • 正常請求:隨機5%采樣
  • 存儲優化
    • 僅存儲關鍵Span(DB調用/RPC通信)
    • 丟棄中間件內部Span

三、技術選型決策樹:不再被廠商綁架

Metrics方案選擇(根據數據規模)

Logs架構選型(根據業務需求)
場景推薦方案案例說明
實時故障排查ELK/EFK某電商日志檢索<3秒
長期合規審計Loki+S3金融業7年歸檔成本降80%
安全威脅分析Splunk+機器學習引擎檢測黑客攻擊行為
Traces技術決策矩陣

四、血淚教訓:三基石實施中的五個深坑

  1. 埋點混亂

    • 反例:某證券APP未統一TraceID格式 → 跨系統無法關聯
    • 根治方案:強制OpenTelemetry規范(TraceID需含:appName+timestamp+random)
  2. 采樣過載

    • 反例:某短視頻平臺全量采集日志 → 日均存儲成本¥50萬
    • 黃金比例
      • Metrics:100%采集
      • Logs:生產環境ERROR全采,INFO按1%采樣
      • Traces:錯誤鏈路100%,正常請求<10%
  3. 數據孤島

    • 反例:某銀行指標/日志/追蹤存在三個系統 → 故障定位需人工串聯
    • 破局關鍵
      • 在Span中植入Logs關鍵字(如error_code)
      • 在Metrics標簽中嵌入TraceID(如http_requests_total{trace_id="xyz"})
  4. 治理滯后

    • 反例:某P2P公司先建平臺后治理 → 清理無效日志耗時6個月
    • 最佳實踐

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

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

相關文章

從代碼學習深度學習 - 情感分析:使用卷積神經網絡 PyTorch版

文章目錄 前言加載數據集一維卷積最大時間匯聚層textCNN模型定義模型加載預訓練詞向量訓練和評估模型總結前言 在之前的章節中,我們探討了如何使用循環神經網絡(RNN)來處理序列數據。今天,我們將探索另一種強大的模型——卷積神經網絡(CNN)——并將其應用于自然語言處理…

深入解析分布式訓練基石:ps-lite源碼實現原理

分布式機器學習框架是現代推薦、廣告和搜索系統的核心支撐。面對海量訓練數據和高維稀疏特征&#xff0c;參數服務器&#xff08;Parameter Server, PS&#xff09; 架構應運而生。作為早期經典實現的ps-lite因其簡潔性和完整性&#xff0c;成為理解PS原理的絕佳切入點。本文將…

IDEA 插件開發:Internal Actions 與 UI Inspector 快速定位 PSI

在開發 IntelliJ 平臺插件的過程中&#xff0c;你常常需要搞清楚 某個 IDE 彈框背后是如何操作 PSI&#xff08;Program Structure Interface&#xff09; 的。下面這篇筆記將介紹如何通過 Internal Actions、UI Inspector 以及調試技巧快速定位 PSI 調用鏈。 1. 啟用 Internal…

26考研|數學分析:多元函數微分學

前言 本章我們將進行多元函數微分學的學習&#xff0c;多元函數微分學與一元函數微分學相對應&#xff0c;涉及到可微性、中值定理、泰勒公式等諸多問題的探討與研究&#xff0c;本章難度較大&#xff0c;在學習過程中需要進行深度思考與分析&#xff0c;才能真正掌握這一章的…

數星星--二分

https://www.matiji.net/exam/brushquestion/17/4498/F16DA07A4D99E21DFFEF46BD18FF68AD 二分思路不難&#xff0c;關鍵的區間內個數的確定 #include<bits/stdc.h> using namespace std; #define N 100011 #define inf 0x3f3f3f3f typedef long long ll; typedef pair&…

Oracle/PostgreSQL/MSSQL/MySQL函數實現對照表

函數列表清單 函數作用OraclePOSTGRESQLMSSQLMYSQL求字符串長度LENGTH(str)LENGTH(str)LEN(str)LENGTH(str)字符切割SUBSTR(str,index,length)SUBSTR(str,index,length)SUBSTRING(str,index,length)SUBSTRING(str,index,length)字符串連接str1||str2||str3...strNstr1||str2||…

pycharm客戶端安裝教程

二、 pycharm客戶端安裝 打開pycharm官網&#xff1a;https://www.jetbrains.com/pycharm/download/?sectionwindows 選擇其他版本 選擇2018社區版本&#xff0c;點擊下載 雙擊下載的安裝程序(第一個彈框允許)&#xff0c;選擇下一步 更改安裝路徑&#xff0c;在pycah…

博圖SCL語言中用戶自定義數據類型(UDT)使用詳解

博圖SCL語言中用戶自定義數據類型&#xff08;UDT&#xff09;使用詳解 一、UDT概述 用戶自定義數據類型&#xff08;UDT&#xff09;是TIA Portal中強大的結構化工具&#xff0c;允許將多個相關變量組合成單一數據結構。UDT本質是可重用的數據模板&#xff0c;具有以下核心優…

Vscode自定義代碼快捷方式

首選項>配置代碼片段 >新建全局代碼片段 (也可以選擇你的語言 為了避免有的時候不生效 選擇全局代碼) {"console.log": { //名字"prefix": "log",//prefix 快捷鍵 &#xff1a; log"body": ["console.log($1);", //b…

ESP32 008 MicroPython Web框架庫 Microdot 實現的網絡文件服務器

以下是整合了所有功能的完整 main.py(在ESP32 007 MicroPython 適用于 Python 和 MicroPython 的小型 Web 框架庫 Microdot基礎上)&#xff0c;實現了&#xff1a; Wi?Fi 自動連接&#xff08;支持靜態 IP&#xff09;&#xff1b;SD 卡掛載&#xff1b;從 /sd/www/ 讀取 HTML…

Mcp-git-ingest Quickstart

目錄 配置例子 文檔github鏈接&#xff1a;git_ingest.md 配置 {"mcpServers": {"mcp-git-ingest": {"command": "uvx","args": ["--from", "githttps://github.com/adhikasp/mcp-git-ingest", "…

(LeetCode 面試經典 150 題) 27.移除元素

目錄 題目&#xff1a; 題目描述&#xff1a; 題目鏈接&#xff1a; 思路&#xff1a; 核心思路&#xff1a; 思路詳解&#xff1a; 樣例模擬&#xff1a; 代碼&#xff1a; C代碼&#xff1a; Java代碼&#xff1a; 題目&#xff1a; 題目描述&#xff1a; 題目鏈接…

MySQL之事務原理深度解析

MySQL之事務原理深度解析 一、事務基礎&#xff1a;ACID特性的本質1.1 事務的定義與核心作用1.2 ACID特性的內在聯系 二、原子性與持久性的基石&#xff1a;日志系統2.1 Undo Log&#xff1a;原子性的實現核心2.2 Redo Log&#xff1a;持久性的保障2.3 雙寫緩沖&#xff08;Dou…

JUC:5.start()與run()

這兩個方法都可以使線程進行運行&#xff0c;但是start只能用于第一次運行線程&#xff0c;后續要繼續運行該線程需要使用run()方法。如果多次運行start()方法&#xff0c;會出現報錯。 初次調用線程使用run()方法&#xff0c;無法使線程運行。 如果你對一個 Thread 實例直接調…

微服務中解決高并發問題的不同方法!

如果由于流量大而在短時間內幾乎同時發出請求&#xff0c;或者由于服務器不穩定而需要很長時間來處理請求&#xff0c;并發問題可能會導致數據完整性問題。 示例問題情況 讓我們假設有一個邏輯可以檢索產品的庫存并將庫存減少一個&#xff0c;如上所述。此時&#xff0c;兩個請…

【2025CCF中國開源大會】OpenChain標準實踐:AI時代開源軟件供應鏈安全合規分論壇重磅來襲!

點擊藍字 關注我們 CCF Opensource Development Committee 在AI時代&#xff0c;軟件供應鏈愈發復雜&#xff0c;從操作系統到開發框架&#xff0c;從數據庫到人工智能工具&#xff0c;開源無處不在。AI 與開源生態深度融合&#xff0c;在為軟件行業帶來前所未有的創新效率的同…

[Java實戰]springboot3使用JDK21虛擬線程(四十)

[Java實戰]springboot3使用JDK21虛擬線程(四十) 告別線程池爆滿、內存溢出的噩夢!JDK21 虛擬線程讓高并發連接變得觸手可及。本文將帶你深入實戰,見證虛擬線程如何以極低資源消耗輕松應對高并發壓測。 一、虛擬線程 傳統 Java 線程(平臺線程)與 OS 線程 1:1 綁定,創建和…

SpringBoot 中使用 @Async 實現異步調用?

? ? SpringBoot 中使用 Async 實現異步調用 一、Async 注解的使用場合?二、Async 注解的創建與調試?三、Async 注解的注意事項?四、總結? 在高并發、高性能要求的應用場景下&#xff0c;異步處理能夠顯著提升系統的響應速度和吞吐量。Spring Boot 提供的 Async 注解為開…

CMOS SENSOR HDR場景下MIPI 虛擬端口的使用案例

CMOS SENSOR HDR場景下MIPI 虛擬端口的使用案例 文章目錄 CMOS SENSOR HDR場景下MIPI 虛擬端口的使用案例?? **一、HDR模式下的虛擬通道核心作用**?? **二、典型應用案例****1. 車載多目HDR系統****2. 工業檢測多模態HDR****3. 手機多攝HDR合成**?? **三、實現關鍵技術點…

RJ45 以太網與 5G 的原理解析及區別

一、RJ45 以太網的原理 1. RJ45 接口與以太網的關系 RJ45 是一種標準化的網絡接口&#xff0c;主要用于連接以太網設備&#xff08;如電腦、路由器&#xff09;&#xff0c;其物理形態為 8 針模塊化接口&#xff0c;適配雙絞線&#xff08;如 CAT5、CAT6 網線&#xff09;。以…