摘要:背景項(xiàng)目,業(yè)務(wù)監(jiān)控為,需要搭建一套日志查看,閥值告警等功能的監(jiān)控系統(tǒng)。需求業(yè)務(wù)需求并不是很多,因?yàn)槭窃诔跗?,等團(tuán)隊(duì)使用熟練后,業(yè)務(wù)日志會(huì)接入更多項(xiàng)目決定。后面項(xiàng)目上還需要接入隊(duì)列日志異步事務(wù)日志具體實(shí)現(xiàn)思路敬請(qǐng)期待后面的文章。
背景
php項(xiàng)目,業(yè)務(wù)監(jiān)控為0,需要搭建一套日志查看,閥值告警等功能的監(jiān)控系統(tǒng)。撒都不用說,直接上ELK。
我們跳過搭建過程(網(wǎng)上太多了)。
通過docker搭建好了elk那一套(明顯單機(jī)版),我要監(jiān)控測(cè)試和線上,所以是個(gè)多采集的環(huán)境,使用了官方推薦的最新的filebeat就行l(wèi)og聚合,格式化還是在master用logstash。
業(yè)務(wù)需求并不是很多,因?yàn)槭窃诔跗?,等團(tuán)隊(duì)使用熟練后,業(yè)務(wù)日志會(huì)接入更多(項(xiàng)目決定)。
現(xiàn)在能想到的需求:
php運(yùn)行錯(cuò)誤和異常
api和頁(yè)面執(zhí)行性能
mysql慢查
本人已盡對(duì)項(xiàng)目代碼進(jìn)行改造,運(yùn)行時(shí)發(fā)生的所有異常和error都會(huì)通過json格式寫入在本地日志目錄中,關(guān)鍵就看怎么定義格式了滿足上面的一些需求了
直接講結(jié)果吧:
php運(yùn)行錯(cuò)誤和異常
異常信息,時(shí)間,具體內(nèi)容
錯(cuò)誤信息,時(shí)間,具體內(nèi)容
api和頁(yè)面執(zhí)行性能
訪問的api地址,執(zhí)行時(shí)間等
訪問的page地址,執(zhí)行時(shí)間等
mysql慢查
當(dāng)前執(zhí)行慢的sql, 參數(shù)(去除敏感信息)
從上面大致需要的監(jiān)控需求來說,會(huì)發(fā)現(xiàn)很多共同點(diǎn)或者說是共有信息字段,比如:訪問的模塊,訪問的路由,訪問的用戶,訪問的哪種類型,子類型等
考慮下上面的這些問題,大體上我們就能設(shè)計(jì)出滿足這些需求的通用日志格式了:
格式說明:字段 | 類型 | es not_analyzed | 備注 |
---|---|---|---|
sid | string | ture | uuid |
time | data | ture | log生成時(shí)間 |
level | string | ture | log等級(jí) |
msg | string | ture | 信息簡(jiǎn)要 |
app | string | ture | 項(xiàng)目名稱 |
group | string | ture | 日志一級(jí)分類 |
object | string | ture | 日志二級(jí)分類 |
host | string | ture | host |
client | string | ture | client |
status | number | ture | 狀態(tài)碼 |
elapsed | number | ture | 執(zhí)行毫秒 |
error | string | ture | 錯(cuò)誤的完整信息 |
url | string | ture | |
route | string | ture |
php錯(cuò)誤
group: php_error
msg: 錯(cuò)誤標(biāo)題
error:錯(cuò)誤完整的內(nèi)容,大家可自行定義
php異常
group: exception
msg: 異常標(biāo)題
error:異常完整的內(nèi)容,大家可自行定義
api,page 訪問性能
group: api
elapsed : 100.123 (毫秒)
url: 具體url
route: 路由(聚合分類用)
mysql慢查詢
group: data
object: slow_query
url: 具體url
error: 慢差的完整信息,包括sql,params等
格式意見定義好了,滿足了之前的設(shè)計(jì)需求。
具體如何通過定義好的格式去在kibana上進(jìn)行可視化,熟悉的朋友應(yīng)該能有個(gè)思路了,具體就不在這展開了。
日記接入成功后,接下來只要封裝好調(diào)用的方法即可。
后面項(xiàng)目上還需要接入
隊(duì)列日志
異步事務(wù)日志
具體實(shí)現(xiàn)思路敬請(qǐng)期待后面的文章。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30554.html
摘要:使我們的事件結(jié)構(gòu)更加清晰,同時(shí),也能避免數(shù)據(jù)字段對(duì)元字段造成污染。一般的,我們?cè)诖蛴≥敵鋈罩镜臅r(shí)候,只須關(guān)注事件名稱及數(shù)據(jù)字段即可。 我們都有過上機(jī)器查日志的經(jīng)歷,當(dāng)集群數(shù)量增多的時(shí)候,這種原始的操作帶來的低效率不僅給我們定位現(xiàn)網(wǎng)問題帶來極大的挑戰(zhàn),同時(shí),我們也無(wú)法對(duì)我們服務(wù)框架的各項(xiàng)指標(biāo)進(jìn)行有效的量化診斷,更無(wú)從談?dòng)嗅槍?duì)性的優(yōu)化和改進(jìn)。這個(gè)時(shí)候,構(gòu)建具備信息查找,服務(wù)診斷,數(shù)據(jù)分析等...
摘要:使我們的事件結(jié)構(gòu)更加清晰,同時(shí),也能避免數(shù)據(jù)字段對(duì)元字段造成污染。一般的,我們?cè)诖蛴≥敵鋈罩镜臅r(shí)候,只須關(guān)注事件名稱及數(shù)據(jù)字段即可。歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實(shí)踐干貨哦~ 本文由J2X發(fā)表于云+社區(qū)專欄 我們都有過上機(jī)器查日志的經(jīng)歷,當(dāng)集群數(shù)量增多的時(shí)候,這種原始的操作帶來的低效率不僅給我們定位現(xiàn)網(wǎng)問題帶來極大的挑戰(zhàn),同時(shí),我們也無(wú)法對(duì)我們服務(wù)框架的各項(xiàng)指標(biāo)進(jìn)行有效的...
摘要:使我們的事件結(jié)構(gòu)更加清晰,同時(shí),也能避免數(shù)據(jù)字段對(duì)元字段造成污染。一般的,我們?cè)诖蛴≥敵鋈罩镜臅r(shí)候,只須關(guān)注事件名稱及數(shù)據(jù)字段即可。 本文由云+社區(qū)發(fā)表作者:J2X 我們都有過上機(jī)器查日志的經(jīng)歷,當(dāng)集群數(shù)量增多的時(shí)候,這種原始的操作帶來的低效率不僅給我們定位現(xiàn)網(wǎng)問題帶來極大的挑戰(zhàn),同時(shí),我們也無(wú)法對(duì)我們服務(wù)框架的各項(xiàng)指標(biāo)進(jìn)行有效的量化診斷,更無(wú)從談?dòng)嗅槍?duì)性的優(yōu)化和改進(jìn)。這個(gè)時(shí)候,構(gòu)建...
摘要:日志規(guī)范一般前端開發(fā)同學(xué),對(duì)日志其實(shí)不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。本文主要梳理了目前我們團(tuán)隊(duì)在開發(fā)中日志方面存在的問題,以及通過統(tǒng)一日志規(guī)范,希望達(dá)到什么樣的效果。日志格式字段日志格式統(tǒng)一采用,便于解析處理。nodejs 日志規(guī)范 一般前端開發(fā)同學(xué),對(duì)日志其實(shí)不太敏感,畢竟前端大多數(shù)情況下,不太關(guān)心日志。即使有,也可能調(diào)用一些第三方的統(tǒng)計(jì),比如百度統(tǒng)計(jì)或者別的等。在 Node...
閱讀 3571·2021-11-08 13:15
閱讀 2129·2019-08-30 14:20
閱讀 1415·2019-08-28 18:08
閱讀 1008·2019-08-28 17:51
閱讀 1517·2019-08-26 18:26
閱讀 3020·2019-08-26 13:56
閱讀 1527·2019-08-26 11:46
閱讀 2611·2019-08-23 14:22