php專案,業務監控為0,需要搭建一套日誌檢視,閥值告警等功能的監控系統。撒都不用說,直接上elk。
我們跳過搭建過程(網上太多了)。
通過docker搭建好了elk那一套(明顯單機版),我要監控測試和線上,所以是個多採集的環境,使用了官方推薦的最新的filebeat就行log聚合,格式化還是在master用logstash。
業務需求並不是很多,因為是在初期,等團隊使用熟練後,業務日誌會接入更多(專案決定)。
現在能想到的需求:
本人已盡對專案**進行改造,執行時發生的所有異常和error都會通過json格式寫入在本地日誌目錄中,關鍵就看怎麼定義格式了滿足上面的一些需求了
直接講結果吧:
api和頁面執行效能
mysql慢查
從上面大致需要的監控需求來說,會發現很多共同點或者說是共有資訊字段,比如:訪問的模組,訪問的路由,訪問的使用者,訪問的哪種型別,子型別等
考慮下上面的這些問題,大體上我們就能設計出滿足這些需求的通用日誌格式了:
格式說明:
字段型別
es not_analyzed
備註sid
string
ture
uuid
time
data
ture
log生成時間
level
string
ture
log等級
msgstring
ture
資訊簡要
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
錯誤的完整資訊
urlstring
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上進行視覺化,熟悉的朋友應該能有個思路了,具體就不在這展開了。
日記接入成功後,接下來只要封裝好呼叫的方法即可。
後面專案上還需要接入
具體實現思路敬請期待後面的文章。
日誌服務 elk
我們使用微服務開發,一般都會進入集群部署場景,日誌檔案就會散落到多個伺服器上,這時我們要檢視日誌時,都要到對應的伺服器上看,這樣子很麻煩,所以得把日誌全部歸到乙個地方去,統一管理,這樣就方便查詢等了。不需要到處跑。這裡主要用到的是elk系統,對應elasticsearch logstash kiba...
ELK 日誌系統
elk 日誌系統 elasticsearch,logstash,kibana 實時日誌分析平台 logstash是乙個etl工具,負責從每台機器抓取日誌資料,對資料進行格式轉換和處理後,輸出到elasticsearch中儲存。elasticsearch是乙個分布式搜尋引擎和分析引擎,用於資料儲存,可...
基於ELK進行郵箱訪問日誌的分析
公司希望能夠搭建自己的日誌分析系統。現在基於elk的技術分析日誌的公司越來越多,在此也記錄一下我利用elk搭建的日誌分析系統。系統主要是基於elasticsearch logstash filebeat kibana nginx,其實我這個用的還是比較多的,可以直接用logstash直接去採集日誌。...