自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

主動做了業(yè)務(wù)監(jiān)控,產(chǎn)品經(jīng)理對我豎起大拇指

安全 應(yīng)用安全
監(jiān)控,一直是個(gè)可以聊很久的話題。除了系統(tǒng)監(jiān)控,還有一個(gè)往往容易被忽略,今天我們就來聊聊這個(gè)容易忽略的業(yè)務(wù)監(jiān)控。

[[384256]]

本文轉(zhuǎn)載自微信公眾號「猿天地」,作者尹吉?dú)g 。轉(zhuǎn)載本文請聯(lián)系猿天地公眾號。  

監(jiān)控,一直是個(gè)可以聊很久的話題。除了系統(tǒng)監(jiān)控,還有一個(gè)往往容易被忽略,今天我們就來聊聊這個(gè)容易忽略的業(yè)務(wù)監(jiān)控。

監(jiān)控什么?

作為開發(fā)人員,不僅僅是把功能開發(fā)出來就行了,對于你負(fù)責(zé)的產(chǎn)品或者模塊,你需要對它有足夠的了解,時(shí)時(shí)刻刻需要關(guān)注著,要有初戀的那種感覺才行。

以電商最常見的下單功能來說,比如我想知道下單的成功率多少,下單的平均耗時(shí),下單失敗中有多少是因?yàn)閹齑娌蛔阆聠问〉牡鹊冗@類相關(guān)的信息。

有了這些業(yè)務(wù)指標(biāo)信息,你就能知道你負(fù)責(zé)的產(chǎn)品現(xiàn)狀是什么樣的,以及你需要做哪些改進(jìn)。

至于要監(jiān)控哪些指標(biāo),得跟著你的業(yè)務(wù)走。目的很明確,就是需要知道業(yè)務(wù)的狀況,并在某些時(shí)候能夠觸發(fā)告警。

實(shí)現(xiàn)方式

基于埋點(diǎn)的方式來進(jìn)行數(shù)據(jù)的記錄,記錄到本地磁盤文件中,然后通過統(tǒng)一的日志收集程序收集存儲,統(tǒng)計(jì)展示以及告警。

之所以基于埋點(diǎn)的方式實(shí)現(xiàn)是因?yàn)樾枰烂總€(gè)業(yè)務(wù)接口的執(zhí)行結(jié)果,成功還是失敗,失敗的原因是什么。我們對于每個(gè)異常都定義了業(yè)務(wù)碼,可以根據(jù)業(yè)務(wù)碼知道異常原因。

如果用寫日志的方式輸出數(shù)據(jù),記得將業(yè)務(wù)日志的數(shù)據(jù)文件單獨(dú)出來,不要和系統(tǒng)的日志輸出在一起,否則不好收集解析。

用logback可以單獨(dú)配置一個(gè)appender,我這邊只輸出了我埋點(diǎn)的業(yè)務(wù)數(shù)據(jù),Json格式的。

  1. <appender name="BIZ_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender"
  2.     <encoder> 
  3.         <pattern>%m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}</pattern> 
  4.     </encoder> 
  5.     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  6.         <FileNamePattern>${LOG_HOME_PATH_BIZ}/${APP_NAME}.%d{yyyy-MM-dd}.log</FileNamePattern> 
  7.         <MaxHistory>7</MaxHistory> 
  8.     </rollingPolicy> 
  9.     <filter class="ch.qos.logback.classic.filter.LevelFilter"
  10.         <onMatch>ACCEPT</onMatch> 
  11.         <onMismatch>DENY</onMismatch> 
  12.     </filter> 
  13. </appender> 

日志文件內(nèi)容:

  1. {"biz":"confirm","bizCode":500,"domain":"storeOrder","bizId":"86081301","execTime":3,"count":"1","storeId":"1","userId":"740942"
  2. {"biz":"confirm","bizCode":500,"domain":"storeOrder","bizId":"86081301","errorMessage":"/ by zero","execTime":14,"count":"1","storeId":"1","userId":"740942"

注解埋點(diǎn)

BizLog注解用于業(yè)務(wù)監(jiān)控埋點(diǎn),里面具體配置字段說明如下:

  • domain: 領(lǐng)域,比如 order,pay
  • biz: 業(yè)務(wù),比如 createOrder,cancelOrder
  • bizId: 業(yè)務(wù)ID,比如 orderId
  • addition: 擴(kuò)展信息

addition可以配置多個(gè)additionField獲取想要埋點(diǎn)的數(shù)據(jù),數(shù)據(jù)可以從請求參數(shù)中獲取,也可以從相應(yīng)參數(shù)中獲取,比如訂單創(chuàng)建成功后,會返回訂單ID, 那么bizId就是從響應(yīng)參數(shù)中獲取。

代碼埋點(diǎn)

某些場景(支付回調(diào),JOB任務(wù)等)下不太好通過注解方式埋點(diǎn)我們可以采用代碼埋點(diǎn)的方式來實(shí)現(xiàn)。

日志收集

我們用的是阿里云的日志服務(wù),直接配置logtail即可完成收集工作,界面操作,非常方便。

指標(biāo)展示

埋點(diǎn)原始數(shù)據(jù)

圖表統(tǒng)計(jì)展示

指標(biāo)告警

數(shù)據(jù)都收集上來了,想要關(guān)注哪些指標(biāo),想要在什么時(shí)候告警,就變得很容易了。比如說某分鐘內(nèi)下單頻繁失敗,這個(gè)時(shí)候你就可以配置告警失敗次數(shù)>N 觸發(fā)告警,當(dāng)收到告警時(shí),就馬上去排查為什么會下單失敗了。

關(guān)于作者:尹吉?dú)g,簡單的技術(shù)愛好者,《Spring Cloud微服務(wù)-全棧技術(shù)與案例解析》, 《Spring Cloud微服務(wù) 入門 實(shí)戰(zhàn)與進(jìn)階》作者, 公眾號猿天地發(fā)起人。

 

責(zé)任編輯:武曉燕 來源: 猿天地
相關(guān)推薦

2009-10-26 08:58:14

LinuxWindows 7

2020-07-20 07:48:53

單例模式

2009-10-28 15:47:27

LinuxWin 7操作系統(tǒng)

2009-10-28 15:45:12

LinuxWin7操作系統(tǒng)

2009-11-16 15:11:25

UbuntuWindows 7

2009-10-28 08:46:31

WIndows 7Ubuntu對比

2022-05-08 13:05:22

職位產(chǎn)品經(jīng)理開源

2021-01-08 10:16:38

小米Miui

2013-01-10 12:57:23

產(chǎn)品經(jīng)理App產(chǎn)品設(shè)計(jì)

2011-11-24 09:46:08

2013-12-26 16:45:22

產(chǎn)品產(chǎn)品經(jīng)理

2022-09-26 10:03:02

低代碼開發(fā)

2010-01-05 15:40:17

Ubuntu 9.10

2016-03-21 10:54:55

vine產(chǎn)品經(jīng)驗(yàn)

2018-12-10 11:00:01

MySQL數(shù)據(jù)庫索引

2011-05-13 09:43:27

產(chǎn)品經(jīng)理PM

2014-02-20 10:45:27

產(chǎn)品經(jīng)理能力框架圖

2013-08-28 18:01:22

產(chǎn)品創(chuàng)新產(chǎn)品經(jīng)理

2012-08-15 10:53:33

產(chǎn)品項(xiàng)目
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號