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