很可惜 T 。T 您現(xiàn)在還不是作者身份,不能自主發(fā)稿哦~
如有投稿需求,請把文章發(fā)送到郵箱tougao@appcpx.com,一經(jīng)錄用會有專人和您聯(lián)系
咨詢?nèi)绾纬蔀榇河鹱髡哒埪?lián)系:鳥哥筆記小羽毛(ngbjxym)
上周的某一天晚上九點多,剛剛下班上地鐵,就在企業(yè)微信群中收到消息。
“我們的成交金額見底了,快看看發(fā)生了什么?”
“系統(tǒng)某個接口出現(xiàn)異常,用戶無法完成交易,研發(fā)正在解決”、
“問題發(fā)生多久了?造成多少損失?”
“大概一個小時,預(yù)計少了兩百萬交易量。”
“為什么持續(xù)將近一小時才發(fā)現(xiàn)解決?”
我工作后在兩家公司待過,公司業(yè)務(wù)和業(yè)績不盡相同,但都遇到過一樣的事情——系統(tǒng)異常導(dǎo)致?lián)p失。這似乎成了每個公司都必須要經(jīng)歷的事情,甚至有的損失慘重而造成了一系列多米諾效應(yīng)。
不管是電商行業(yè)還是金融行業(yè),凡涉及到交易的業(yè)務(wù),其實都會有很大的系統(tǒng)風(fēng)險。例如,系統(tǒng)或者接口異常導(dǎo)致用戶無法完成交易,這對公司來說是交易額的損失。又比如,運營人員操作不當(dāng)導(dǎo)致被刷單或者薅羊毛,這對公司來說是利潤的損失。
當(dāng)我們聚焦于業(yè)務(wù)的增長時,往往會遺漏一個關(guān)鍵環(huán)節(jié)——監(jiān)控告警。
無論是研發(fā)人員、產(chǎn)品人員、運營人員,其實都不能保證任何事情百分百“無bug”,研發(fā)接口可能受性能影響等會報錯,產(chǎn)品人員可能設(shè)計邏輯時會有遺漏,運營人員配置活動時可能會失誤。金無足赤,人無完人。但是,當(dāng)出現(xiàn)問題時,我們需要能最及時的監(jiān)控告警,最實時的排查解決。
無論是什么公司,什么業(yè)務(wù),監(jiān)控告警都是不可或缺的。
需要監(jiān)控什么?
我們?nèi)粘1O(jiān)控的內(nèi)容,大多包含兩個層面。
一是研發(fā)接口監(jiān)控。
在很多情況下,流程異常都是接口先報錯,進(jìn)而影響到后續(xù)業(yè)務(wù),所以接口一般會比業(yè)務(wù)數(shù)據(jù)更快的暴露問題。
研發(fā)在開發(fā)各類接口,尤其是核心流程接口時,大多會有接口監(jiān)控,例如創(chuàng)建訂單接口、訂單支付接口等。
研發(fā)側(cè)會監(jiān)控接口報錯次數(shù),正常情況下接口會正常運行并返回結(jié)果。但當(dāng)接口報錯時,意味著無法正常返回結(jié)果,會導(dǎo)致流程阻塞。所以如果接口在某一段時間內(nèi),報錯數(shù)量陡增,那意味著該接口出現(xiàn)異常。該類告警必須為實時監(jiān)控告警。
二是業(yè)務(wù)數(shù)據(jù)監(jiān)控。
對于產(chǎn)品和運營人員,每天最需要關(guān)注的就是業(yè)務(wù)數(shù)據(jù),比如當(dāng)天的成交用戶數(shù),成交GMV等。大多數(shù)情況下,我們會T+1去查看并分析前一天的詳細(xì)數(shù)據(jù),畢竟所有業(yè)務(wù)數(shù)據(jù)都實時跑,對性能的壓力比較大,并非每個公司都有足夠的資源和實力。
但是對于部分核心業(yè)務(wù)數(shù)據(jù),需要進(jìn)行實時監(jiān)控并預(yù)警。例如,下單人數(shù)、下單數(shù)量、成交人數(shù)、成交單數(shù)、成交金額等。如果發(fā)現(xiàn)在某個時間段內(nèi),成交金額突然急劇下滑或者上升,那么很可能是業(yè)務(wù)出現(xiàn)異常。
針對核心業(yè)務(wù)指標(biāo),我們需要重點觀察其變化趨勢和極端絕對值。無論是突然同比增長200%,或者變化為0,都是屬于異常情況。
綜上所述,我們可以監(jiān)控的內(nèi)容包括:
1)接口報錯監(jiān)控,實時監(jiān)控核心接口的報錯數(shù)量和成功率
2)業(yè)務(wù)報錯監(jiān)控,實時監(jiān)控核心業(yè)務(wù)指標(biāo)的變化趨勢
如何監(jiān)控告警?
如何監(jiān)控告警,實際上蘊含了三個問題:
1)針對什么進(jìn)行告警?
2)什么情況下進(jìn)行告警?
3)要怎么告警通知?
針對什么進(jìn)行告警?
針對什么進(jìn)行告警,其實在上文需要監(jiān)控什么中已經(jīng)有所提交,我們一般需要對研發(fā)接口的報錯情況和業(yè)務(wù)數(shù)據(jù)進(jìn)行監(jiān)控并告警。研發(fā)接口一般情況下研發(fā)系統(tǒng)會有專門的管理和監(jiān)控,此處我們重點講針對業(yè)務(wù)數(shù)據(jù)的監(jiān)控和告警。
上文提到,我們需要對核心業(yè)務(wù)指標(biāo)進(jìn)行監(jiān)控,實際操作中,我們需要明確定義這些指標(biāo)。
首先,要找到數(shù)據(jù)來源,研發(fā)側(cè)對于數(shù)據(jù)的上報,是上報到某個數(shù)據(jù)庫實例中的某個數(shù)據(jù)庫的某個數(shù)據(jù)庫表的某個字段,然后業(yè)務(wù)側(cè)對這個字段通過運算符公式加工為指標(biāo)。
數(shù)據(jù)庫實例是程序,是位于用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,是訪問數(shù)據(jù)庫的通道;用戶對數(shù)據(jù)庫中的數(shù)據(jù)做任何的操作,包括數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)維護(hù)、數(shù)據(jù)庫運行控制等等都是在數(shù)據(jù)庫實例下進(jìn)行的,應(yīng)用程序只有通過數(shù)據(jù)庫實例才能和數(shù)據(jù)庫打交道。通常來說一個數(shù)據(jù)庫實例對應(yīng)一個數(shù)據(jù)庫。
數(shù)據(jù)庫中會存儲很多張數(shù)據(jù)庫表,每張數(shù)據(jù)庫表有其應(yīng)用意義。每張數(shù)據(jù)庫表又會有很多個字段,每個字段對應(yīng)不同的內(nèi)容。當(dāng)我們將數(shù)據(jù)上報時,意味著將某個數(shù)據(jù)作為字段值寫入到對應(yīng)字段中。
把字段值通過運算符公式進(jìn)行加工,就能得到指標(biāo)。常見的運算符公式包括sum(求和)、count(計數(shù))、avg(平均值)、max(最大值)、min(最小值)等。
舉個例子,我們要監(jiān)控成交金額這一指標(biāo)。
1)選擇數(shù)據(jù)庫實例,例如ec_database_instance
2)選擇數(shù)據(jù)庫實例中的數(shù)據(jù)庫,例如ec_order_database
3)選擇數(shù)據(jù)庫中的數(shù)據(jù)庫表,例如ec_order_detail
4)選擇數(shù)據(jù)庫表中的字段進(jìn)行加工,形成指標(biāo),例如sum(order_amount)
什么情況下進(jìn)行告警?
我們知道要針對某些數(shù)據(jù)指標(biāo)進(jìn)行告警后,還要知道什么情況下進(jìn)行告警,此處可以理解為設(shè)置告警規(guī)則,命中規(guī)則的情況下,就啟動告警。
如果公司的大數(shù)據(jù)能力較強,包括數(shù)據(jù)完善、計算能力較強,可以使用大數(shù)據(jù)能力分析其合理范圍。即大數(shù)據(jù)會計算某個指標(biāo)的預(yù)估變化范圍,如果指標(biāo)值在該范圍內(nèi),則表示正常;若指標(biāo)值超出該范圍,則表示數(shù)據(jù)異常。
在公司數(shù)據(jù)能力建設(shè)還未完備的情況下,我們可以考慮自行設(shè)置監(jiān)控規(guī)則。
一個指標(biāo)的監(jiān)控,可能是由多條規(guī)則組成,我們需要考慮是針對多條規(guī)則取交集還是取并集。取交集則表示,同時命中多條規(guī)則就會告警。取并集則表示,命中任一一條規(guī)則就會告警。
每條具體的規(guī)則需要設(shè)置對比規(guī)則和對比閾值,常見的閾值規(guī)則包括:
1)固定值大于/小于X
2)同比昨天同一時間段大于/小于X%
3)環(huán)比上一時間段大于/小于X%
4)環(huán)比前N個周期的平均值大于/小于X%
5)環(huán)比前N個周期的最大值/最小值大于/小于X%
舉個例子,我們對十分鐘內(nèi)成交金額進(jìn)行監(jiān)控,如果其絕對值小于100,或者同比昨天同一時間段內(nèi)十分鐘交易金額大于10%,則啟動告警。如果昨天10:00-10:10成交金額為1000,今天10:00-10:10成交金額為2000,則命中第二條規(guī)則,同比金額大于10%((2000-1000)/1000=100%),命中告警規(guī)則。
要怎么告警通知?
當(dāng)我們針對某個指標(biāo)設(shè)置的告警規(guī)則生效后,需要如何通知接受人呢?
這個問題的實質(zhì),是我們對告警級別的處理,不同級別的告警有不同的運行頻率和通知機制。我們大致可以分為以下三種:
1) 普通告警
普通告警一般為數(shù)據(jù)變化存在異常,需要產(chǎn)品或者研發(fā)進(jìn)行確認(rèn)是否存在問題,此時不一定有系統(tǒng)異常,可能是活動等原因造成的波動。
一般為每N個小時運行一次。
通知方式可以是通過企業(yè)微信或者釘釘?shù)萇A辦公軟件觸達(dá)。
2) 緊急告警
緊急告警一般為數(shù)據(jù)變化異常幅度較大,需要馬上確認(rèn)是否有問題并進(jìn)行跟進(jìn)。
一般為每半小時或每小時運行一次。
通知方式除了OA軟件觸達(dá),還可以通過郵件等方式,盡快告知處理人。
3) 致命告警
致命告警為數(shù)據(jù)絕對值出現(xiàn)明顯異常,需要馬上解決問題。例如,交易額突然降為0。
一般為每5分鐘或每10分鐘運行一次。
通知方式除了OA軟件和郵件,還需要加上電話通知。當(dāng)系統(tǒng)出現(xiàn)異常時,自動撥打電話或發(fā)送短信至處理人。
怎么搭建監(jiān)控告警系統(tǒng)?
對于產(chǎn)品經(jīng)理而言,知道如何進(jìn)行監(jiān)控告警后,還需要有對應(yīng)的系統(tǒng)承接需求。現(xiàn)在市場上很多BI工具其實就有相關(guān)功能,除了幫助業(yè)務(wù)人員展示數(shù)據(jù)、分析數(shù)據(jù)外,也會提供監(jiān)控告警功能,支持業(yè)務(wù)人員配置使用。
如果公司沒有采購?fù)獠緽I工具,而是選擇自行開發(fā)的話,那就需要一套監(jiān)控告警系統(tǒng)。
配置告警指標(biāo)
配置一項告警指標(biāo),有數(shù)據(jù)來源、維度、有指標(biāo)、有篩選條件,就好像寫一段sql,包括select、from、where、group by。
【數(shù)據(jù)來源】
實例、數(shù)據(jù)庫、數(shù)據(jù)庫表:即中間表信息。選擇數(shù)據(jù)上報到的數(shù)據(jù)庫實例、數(shù)據(jù)庫和數(shù)據(jù)庫表。此處一般只支持選擇,而不允許輸入。
【維度】
配置查詢數(shù)據(jù)時的維度字段,即sql中的group by字段,可按照實際需求配置多個維度字段,或者不配置維度字段。
【指標(biāo)】
配置查詢數(shù)據(jù)時的數(shù)據(jù)指標(biāo),即sql中的select字段,其中指標(biāo)值內(nèi)支持常用的計算函數(shù),比如count、sum等,如果對應(yīng)的字段無需進(jìn)行計算,可直接填寫字段名稱
【篩選條件】
配置查詢數(shù)據(jù)時的過濾條件,即sql中的where字段。此處一般會提供字段值對應(yīng)的計算公式,比如某個字段的字段值等于或者包含某些內(nèi)容,形成一個篩選條件。
配置告警規(guī)則
配置告警條件,滿足規(guī)則的數(shù)據(jù)將會被視為告警數(shù)據(jù)進(jìn)行通知。
告警規(guī)則:配置滿足告警的條件,可按需進(jìn)行對比類型、對比方式等配置。
運行頻率:告警任務(wù)的執(zhí)行頻率,按需配置。
時間維度:告警任務(wù)是按照運行頻率查詢某個時間區(qū)間內(nèi)的數(shù)據(jù),此處指定了所選擇的數(shù)據(jù)庫表中對應(yīng)的時間字段。
配置告警通知
產(chǎn)生告警數(shù)據(jù)后,如何通知到相關(guān)的責(zé)任人進(jìn)行處理
告警級別:包括【普通告警】、【緊急告警】、【致命告警】。
通知時間:在此區(qū)間內(nèi)的告警數(shù)據(jù)才會通知,否則不會進(jìn)行通知。
提醒間隔:通知的頻率限制。
告警方式:支持多選,包括企業(yè)微信、郵件、電話等。
告警處理人:接收告警通知,并有告警處理的權(quán)限。
記錄告警處理
收到告警通知后,可在系統(tǒng)查看待處理的告警并進(jìn)行處理。針對每項告警,可判斷為有效告警還是無效告警,并選擇對應(yīng)的問題原因和解決方案。
通過記錄告警處理,一方面可以追溯告警的有效性和準(zhǔn)確性,便于持續(xù)迭代優(yōu)化告警系統(tǒng)的功能。一方面可以確保每次告警處理結(jié)果有跡可循,方便業(yè)務(wù)側(cè)追蹤問題原因和解決方案。
日常的監(jiān)控和預(yù)警必然重要,但我們也需要知道,無論是研發(fā)接口的告警,還是業(yè)務(wù)數(shù)據(jù)的異常,都是問題呈現(xiàn)到了用戶端才被我們發(fā)現(xiàn)。實際上,有很多問題也許在管理端,研發(fā)人員操作或者運營人員配置時就可以體現(xiàn)。例如,我們監(jiān)控到成交金額暴增,可能是被用戶刷單薅羊毛了,那么在運營人員配置運營活動時,是否可以先計算相關(guān)金額并提醒其配置的準(zhǔn)確性。盡可能的將問題前置暴露并及時解決,才是根源所在。
每年9月份開始都是各大公司的“體檢季”,別忘了給公司業(yè)務(wù)和系統(tǒng)也體檢一下,有很多趕緊“告警”!
本文為作者獨立觀點,不代表鳥哥筆記立場,未經(jīng)允許不得轉(zhuǎn)載。
《鳥哥筆記版權(quán)及免責(zé)申明》 如對文章、圖片、字體等版權(quán)有疑問,請點擊 反饋舉報
我們致力于提供一個高質(zhì)量內(nèi)容的交流平臺。為落實國家互聯(lián)網(wǎng)信息辦公室“依法管網(wǎng)、依法辦網(wǎng)、依法上網(wǎng)”的要求,為完善跟帖評論自律管理,為了保護(hù)用戶創(chuàng)造的內(nèi)容、維護(hù)開放、真實、專業(yè)的平臺氛圍,我們團隊將依據(jù)本公約中的條款對注冊用戶和發(fā)布在本平臺的內(nèi)容進(jìn)行管理。平臺鼓勵用戶創(chuàng)作、發(fā)布優(yōu)質(zhì)內(nèi)容,同時也將采取必要措施管理違法、侵權(quán)或有其他不良影響的網(wǎng)絡(luò)信息。
一、根據(jù)《網(wǎng)絡(luò)信息內(nèi)容生態(tài)治理規(guī)定》《中華人民共和國未成年人保護(hù)法》等法律法規(guī),對以下違法、不良信息或存在危害的行為進(jìn)行處理。
1. 違反法律法規(guī)的信息,主要表現(xiàn)為:
1)反對憲法所確定的基本原則;
2)危害國家安全,泄露國家秘密,顛覆國家政權(quán),破壞國家統(tǒng)一,損害國家榮譽和利益;
3)侮辱、濫用英烈形象,歪曲、丑化、褻瀆、否定英雄烈士事跡和精神,以侮辱、誹謗或者其他方式侵害英雄烈士的姓名、肖像、名譽、榮譽;
4)宣揚恐怖主義、極端主義或者煽動實施恐怖活動、極端主義活動;
5)煽動民族仇恨、民族歧視,破壞民族團結(jié);
6)破壞國家宗教政策,宣揚邪教和封建迷信;
7)散布謠言,擾亂社會秩序,破壞社會穩(wěn)定;
8)宣揚淫穢、色情、賭博、暴力、兇殺、恐怖或者教唆犯罪;
9)煽動非法集會、結(jié)社、游行、示威、聚眾擾亂社會秩序;
10)侮辱或者誹謗他人,侵害他人名譽、隱私和其他合法權(quán)益;
11)通過網(wǎng)絡(luò)以文字、圖片、音視頻等形式,對未成年人實施侮辱、誹謗、威脅或者惡意損害未成年人形象進(jìn)行網(wǎng)絡(luò)欺凌的;
12)危害未成年人身心健康的;
13)含有法律、行政法規(guī)禁止的其他內(nèi)容;
2. 不友善:不尊重用戶及其所貢獻(xiàn)內(nèi)容的信息或行為。主要表現(xiàn)為:
1)輕蔑:貶低、輕視他人及其勞動成果;
2)誹謗:捏造、散布虛假事實,損害他人名譽;
3)嘲諷:以比喻、夸張、侮辱性的手法對他人或其行為進(jìn)行揭露或描述,以此來激怒他人;
4)挑釁:以不友好的方式激怒他人,意圖使對方對自己的言論作出回應(yīng),蓄意制造事端;
5)羞辱:貶低他人的能力、行為、生理或身份特征,讓對方難堪;
6)謾罵:以不文明的語言對他人進(jìn)行負(fù)面評價;
7)歧視:煽動人群歧視、地域歧視等,針對他人的民族、種族、宗教、性取向、性別、年齡、地域、生理特征等身份或者歸類的攻擊;
8)威脅:許諾以不良的后果來迫使他人服從自己的意志;
3. 發(fā)布垃圾廣告信息:以推廣曝光為目的,發(fā)布影響用戶體驗、擾亂本網(wǎng)站秩序的內(nèi)容,或進(jìn)行相關(guān)行為。主要表現(xiàn)為:
1)多次發(fā)布包含售賣產(chǎn)品、提供服務(wù)、宣傳推廣內(nèi)容的垃圾廣告。包括但不限于以下幾種形式:
2)單個帳號多次發(fā)布包含垃圾廣告的內(nèi)容;
3)多個廣告帳號互相配合發(fā)布、傳播包含垃圾廣告的內(nèi)容;
4)多次發(fā)布包含欺騙性外鏈的內(nèi)容,如未注明的淘寶客鏈接、跳轉(zhuǎn)網(wǎng)站等,誘騙用戶點擊鏈接
5)發(fā)布大量包含推廣鏈接、產(chǎn)品、品牌等內(nèi)容獲取搜索引擎中的不正當(dāng)曝光;
6)購買或出售帳號之間虛假地互動,發(fā)布干擾網(wǎng)站秩序的推廣內(nèi)容及相關(guān)交易。
7)發(fā)布包含欺騙性的惡意營銷內(nèi)容,如通過偽造經(jīng)歷、冒充他人等方式進(jìn)行惡意營銷;
8)使用特殊符號、圖片等方式規(guī)避垃圾廣告內(nèi)容審核的廣告內(nèi)容。
4. 色情低俗信息,主要表現(xiàn)為:
1)包含自己或他人性經(jīng)驗的細(xì)節(jié)描述或露骨的感受描述;
2)涉及色情段子、兩性笑話的低俗內(nèi)容;
3)配圖、頭圖中包含庸俗或挑逗性圖片的內(nèi)容;
4)帶有性暗示、性挑逗等易使人產(chǎn)生性聯(lián)想;
5)展現(xiàn)血腥、驚悚、殘忍等致人身心不適;
6)炒作緋聞、丑聞、劣跡等;
7)宣揚低俗、庸俗、媚俗內(nèi)容。
5. 不實信息,主要表現(xiàn)為:
1)可能存在事實性錯誤或者造謠等內(nèi)容;
2)存在事實夸大、偽造虛假經(jīng)歷等誤導(dǎo)他人的內(nèi)容;
3)偽造身份、冒充他人,通過頭像、用戶名等個人信息暗示自己具有特定身份,或與特定機構(gòu)或個人存在關(guān)聯(lián)。
6. 傳播封建迷信,主要表現(xiàn)為:
1)找人算命、測字、占卜、解夢、化解厄運、使用迷信方式治??;
2)求推薦算命看相大師;
3)針對具體風(fēng)水等問題進(jìn)行求助或咨詢;
4)問自己或他人的八字、六爻、星盤、手相、面相、五行缺失,包括通過占卜方法問婚姻、前程、運勢,東西寵物丟了能不能找回、取名改名等;
7. 文章標(biāo)題黨,主要表現(xiàn)為:
1)以各種夸張、獵奇、不合常理的表現(xiàn)手法等行為來誘導(dǎo)用戶;
2)內(nèi)容與標(biāo)題之間存在嚴(yán)重不實或者原意扭曲;
3)使用夸張標(biāo)題,內(nèi)容與標(biāo)題嚴(yán)重不符的。
8.「飯圈」亂象行為,主要表現(xiàn)為:
1)誘導(dǎo)未成年人應(yīng)援集資、高額消費、投票打榜
2)粉絲互撕謾罵、拉踩引戰(zhàn)、造謠攻擊、人肉搜索、侵犯隱私
3)鼓動「飯圈」粉絲攀比炫富、奢靡享樂等行為
4)以號召粉絲、雇用網(wǎng)絡(luò)水軍、「養(yǎng)號」形式刷量控評等行為
5)通過「蹭熱點」、制造話題等形式干擾輿論,影響傳播秩序
9. 其他危害行為或內(nèi)容,主要表現(xiàn)為:
1)可能引發(fā)未成年人模仿不安全行為和違反社會公德行為、誘導(dǎo)未成年人不良嗜好影響未成年人身心健康的;
2)不當(dāng)評述自然災(zāi)害、重大事故等災(zāi)難的;
3)美化、粉飾侵略戰(zhàn)爭行為的;
4)法律、行政法規(guī)禁止,或可能對網(wǎng)絡(luò)生態(tài)造成不良影響的其他內(nèi)容。
二、違規(guī)處罰
本網(wǎng)站通過主動發(fā)現(xiàn)和接受用戶舉報兩種方式收集違規(guī)行為信息。所有有意的降低內(nèi)容質(zhì)量、傷害平臺氛圍及欺凌未成年人或危害未成年人身心健康的行為都是不能容忍的。
當(dāng)一個用戶發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將依據(jù)相關(guān)用戶違規(guī)情節(jié)嚴(yán)重程度,對帳號進(jìn)行禁言 1 天、7 天、15 天直至永久禁言或封停賬號的處罰。當(dāng)涉及欺凌未成年人、危害未成年人身心健康、通過作弊手段注冊、使用帳號,或者濫用多個帳號發(fā)布違規(guī)內(nèi)容時,本網(wǎng)站將加重處罰。
三、申訴
隨著平臺管理經(jīng)驗的不斷豐富,本網(wǎng)站出于維護(hù)本網(wǎng)站氛圍和秩序的目的,將不斷完善本公約。
如果本網(wǎng)站用戶對本網(wǎng)站基于本公約規(guī)定做出的處理有異議,可以通過「建議反饋」功能向本網(wǎng)站進(jìn)行反饋。
(規(guī)則的最終解釋權(quán)歸屬本網(wǎng)站所有)