thinkphp日誌結合在線日誌分析系統 優雅的查詢日誌

最開始使用的是thinkphp框架,tp有日誌的功能,但是每次要查詢日誌的時候,都需要ftp到服務器下載下日誌用編輯查看。日誌數據多的時候,很不方便查找到自己需要的信息。

所以有一定條件下,可以考慮加入日誌系統。這樣可以使用平臺的日誌分析功能,方便的查詢到自己需要的日誌信息。我這裏使用的是阿里雲的日誌服務。

有關thinkphp日誌對接到日誌服務可以看這個資料 

ThinkPHP 日誌

五分鐘快速入門

這裏記錄一下,我的部署過程。文檔有點繁雜。

1 開通 日誌服務

2 創建一個日誌項目 

3 開啓全球加速功能(一般使用公網就不用開了)

4 進入日誌項目,開啓全球加速(上面那個是阿里雲功能項的開通,這個是這個 日誌項目對應的加速 )

5  服務器安裝logtail   

wget http://logtail-release-cn-shenzhen.oss-cn-shenzhen.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install cn-shenzhen-acceleration

6 創建機器組,這個,因爲我是使用的其它雲的服務器,所以必須要配置爲非本賬號ECS、自建IDC配置AliUid

#創建自己ID的文件,如果對應目錄不存在,自己創建目錄
touch /etc/ilogtail/users/1xxx

Linux Logtail

通過文件/etc/ilogtail/user_defined_id 來設置用戶自定義標識。

例如,設置用戶自定義標識爲shoee,執行如下命令:

#內容與自己定義的機器組的標識一樣,自己定的,如shoee,就在下面的文件裏寫入shoee,並保存
vim /etc/ilogtail/user_defined_id

查看機器組狀態。

在機器組列表頁面,雙擊機器組名稱,在右側機器組配置頁面查看機器組狀態,可以看到使用相同用戶自定義標識的服務器列表及其心跳狀態。

 

7 logtail的配置,這個比較關鍵。

 

 

日誌路徑,這個界面比較友好了。前面部分你直接寫父目錄就可以,後面寫帶通配符的文件類型就好(如*.log)

單行模式,thinkphp是多行的,這裏要取消。這個選項默認是勾選的。

日誌樣例,這個需要放3到4條實際日誌信息,這個是爲了接下來的正式匹配測試用的,很重要。不要放太多數據,會保存不了的。不要多於5條吧。

  

提取正則修改一下更符合我的情況

\[\s(\S+?)\s\]\s(\S+)\s+(\S+)\s+(\S+)\s+(.*)

這裏要注意,樣例裏日誌,你需要自己在WARN前面加換行符,因爲UI的問題,如果你不加,和實際的日誌是不一樣的,加了就可以正常匹配了。

接下來按照thinkphp 日誌文檔說明添加對應的正則就好了。具體看上圖。 日誌抽取內容裏的Key,是自己定義的,不過time這個key必須要有,而且是固定的。其它的可以根據value來自己定義。

時間格式也可以手動正則匹配,自動生成的好像是一樣的,所以也可以不用自己填寫。

 

 

發佈了139 篇原創文章 · 獲贊 24 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章