成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

轉轉B2C一站式服務告警治理的背后

開發 前端
怎么快速定位異常入手,通過自定義Promtheus的PromQL來聚焦當前業務需關注的異常,另外實現了H5監控大盤頁面,提升了在非工作日戶外無辦公設備問題定位的能力。

1 為什么寫這篇文章

轉轉B2C技術部主要負責商詳、商列等BFF層核心頁面業務,單接口甚至需要開線程池并行調用二十多個依賴服務,因此依賴的服務以及執行線程池的穩定性也就成為了B2C關注的重點。

那么站在技術視角看調用鏈路,會發現幾個特點:

  • CPU使用率高,線程池大量使用
  • RPC調用多,穩定性指望依賴的服務方
  • 業務調用鏈路較長,無法精細化控制

本文就針對如何快速定位常見問題,以及后續日志的進一步治理計劃來進行講解。

2 現狀與問題

目前轉轉各個排查問題的工具是統一開放給公司的所有業務使用的,因此每次告警,都需借助統一的平臺如服務治理平臺、Grafana、Log日志平臺等工具進行排查,不完全貼合B2C常見問題排查場景,比如上游調用異常、超時等問題。

B2C技術部告警定位問題會遇到如下幾個問題:

  • 線上常見告警問題無法快速識別

線上內置告警無法一眼定位出問題,需要根據業務新增新的Promtheus PromQL展示調用服務超時、異常榜單。

  • 公司統一平臺無法快捷跳轉

發生緊急問題時,只能從收藏夾中選中公司各個公用平臺,然后手動輸入服務名稱、時間范圍、粘貼查詢語句等,效率較低。

  • 戶外環境下無法定位常見問題

辦公設備不在身邊時,一旦發生告警,無法像在公司一樣方便的打開各個平臺進行問題定位。

3 解決方案

上面提出了幾個問題,那怎么進行監控治理呢。比如,怎么快速識別出問題的類型?怎么快捷跳轉對應的平臺?以及在戶外如何進行問題定位呢?針對這些問題提出了如下解決方案。

總架構設計圖如下

圖片

如圖可拆分為四部分,執行步驟為:規范梳理及調整 -> 日志收集 -> 日志告警及定位 -> 告警感知

3.1 規范梳理及調整

  1. 日志打印規范化:梳理項目不合理日志打印輸出。
  • 日志打印級別優化:如輸入密碼為空日志級別由error降為warn級別。
  • 該打的日志沒打:領券、預約、秒殺成功等關鍵節點操作需要輸出日志。
  • 不該的打日志別打:移除掉定位問題無關的大日志,如打印整個商詳返回值。
  1. 類型與閾值規范:規范異常拋出類型及調整業務系統告警閾值。
  • 無效錯誤堆棧日志屏蔽:如timeoutException異常的堆棧日志打印無效,可直接省略。
  • 告警閾值過于固定:根據各業務調整閾值,達到99.99%系統穩定性告警閾值標準即可。

3.2 基于Apollo自定義日志Agent攔截(日志收集)

圖片

日志收集

  1. Apollo配置中心控制異常+日志打印維度配置。
  2. 根據配置屏蔽無用Exception,并上報到Promtheus,以Grafana報表展示。
  3. 通過JavaAgent根據配置的業務、類、方法級別攔截日志打印,偽代碼如下。
public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) {
            MethodVisitor methodVisitor = super.visitMethod(access, name, descriptor, signature, exceptions);
            if (STR_V.equals(descriptor) && infoLevel.contains(name)) {
                //  此處省略。。攔截日志處理邏輯----------
                return new LogMethodInsnVisitor(methodVisitor, className, name);
            } else {
                return methodVisitor;
            }
        }

3.3 自定義B2C業務告警服務(日志告警及定位)

圖片

日志告警及定位

  1. 通過在Promtheus編寫自定義PromQL,收集服務超時、異常錯誤。
  2. 公司的Promtheus收集告警日志,并回調B2C業務告警服務接口。
  3. 回調接口通過MQ上報告警消息,B2C告警服務消費處理,組裝成業務需要看的數據后,通過企業微信機器人進行通知。
  4. 點擊告警前往大盤,會跳轉到指定服務、時間范圍的監控大盤,含:服務超時榜單、服務異常榜單、全局異常列表以及快捷跳轉的工具箱。

其中快捷跳轉工具箱設計原理如下

圖片

  1. 公司的Log日志平臺僅支持小時級別過濾,因此我們改在基于grep過濾,自定義正則表達式過濾出特定時間范圍日志。
  • 舉例 16:44~17:14分 過濾正則例子: \(16:\(4[4-9]\|5[0-9]\):\)\|\(17:\(0[0-9]\|1[0-4]\):\)

    圖片

  1. 針對常規連接則通過類似{serverName}、{startTimeStamp}、{endTimeStamp}、{ip}等占位符替換機制獲取快捷跳轉鏈接。

3.4 第一責任人機制(告警感知)

圖片

告警感知

  1. 為對應服務綁定第一負責人及其關聯的leader聯系手機號。
  2. 配置化形式針對指定類型告警如調用依賴服務異常,如果超過一定時間閾值無人跟進則給服務第一負責人IVR(電話語音呼叫)通知。
  3. 如果超時依舊無人處理則往對應leader進行IVR通知。
  4. 如果有人跟進,則下次同類型告警標記為處理人xxx跟進中。

4 應用與效果

4.1 基于自定義告警快速跳轉定位

圖片

企業微信機器人告警

4.2 快速定位超時、異常服務以及全局拋出異常列表

圖片

點擊告警后跳轉頁面

4.3 快捷跳轉指定服務、時間所在服務的公司問題定位平臺

圖片

5 總結

總的來說,這里是從怎么快速定位異常入手,通過自定義Promtheus的PromQL來聚焦當前業務需關注的異常,另外實現了H5監控大盤頁面,提升了在非工作日戶外無辦公設備問題定位的能力。

責任編輯:武曉燕 來源: 轉轉技術
相關推薦

2022-12-23 09:04:33

字節跳動數據治理架構

2009-07-30 21:16:29

布線服務電纜架設

2023-05-26 08:37:04

All in ECPES數據

2012-04-09 17:36:38

華為智真

2013-10-24 17:35:01

云網絡H3C電子政務

2021-06-11 13:56:27

大數據DataWorks數據開發

2017-11-27 11:00:33

2011-07-18 10:12:59

華為新一代智真TP3106

2012-07-12 14:01:48

酒店達人移動應用酒店

2015-07-01 15:03:21

SpeedyCloud

2013-12-17 09:23:14

戴爾軟件戴爾云服務OpenStack

2024-08-19 09:05:00

Seata分布式事務

2017-05-04 21:30:32

前端異常監控捕獲方案

2022-09-16 11:27:46

建設微服務

2009-10-23 09:42:24

2023-10-26 06:59:58

FinOps云原生

2024-05-28 07:58:08

2020-10-21 16:01:51

戴爾

2013-12-17 18:18:21

2009-07-27 11:37:04

網絡拓撲摩卡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一级片91 | 欧美激情在线观看一区二区三区 | 日韩在线免费视频 | 欧美精品久久 | 亚洲自拍偷拍av | 国产亚洲高清视频 | 久久久无码精品亚洲日韩按摩 | 成人精品鲁一区一区二区 | 欧美 日韩 国产 成人 在线 | 欧美精品久久久久久久久久 | 日本一区二区视频 | 亚洲自拍偷拍欧美 | 99成人在线视频 | 欧美日一区二区 | 国产最新网址 | 雨宫琴音一区二区在线 | 黄色成人在线 | 国产综合久久久久久鬼色 | 男人亚洲天堂 | 欧美日韩国产精品一区 | 91在线一区 | 热re99久久精品国产99热 | 手机在线观看 | 欧美激情99| 成人av免费播放 | 久久久www成人免费无遮挡大片 | 精品久久久久久18免费网站 | 色婷婷婷婷色 | 欧美精品久久久久 | 蜜桃av鲁一鲁一鲁一鲁 | 日本国产高清 | 亚洲精品久久久久久国产精华液 | 久久国产精品一区二区三区 | 91欧美精品成人综合在线观看 | 韩日av在线| 国产精品不卡 | 大陆一级毛片免费视频观看 | 亚洲一区二区三区四区五区中文 | 日韩免费看视频 | 免费一区在线 | 亚洲国产成人精品女人久久久 |