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