小吳負責公司的devops 以及 資料團隊:在伺服器和使用者數上升後,開發花了非常多的時間在伺服器查日志問題上。在支援移動入口、網頁、推廣管道後,日志的來源也變得越來越多,加劇了他的困擾。除此之外,營運團隊、bi團隊、運維團隊等對日志提出各自需求。
是以小吳需要一套快捷靈活的日志系統,來解決遊戲開發中的這些需求。
日志資料如何上雲:ecs上日志采集
常用日志處理的幾種模式
索引與查詢
實時計算:示範雲監控 (可選)
離線存儲:延時oss 存儲與計算(可選)
在“華東2區域”建立項目project/logstore
project: workshop-game(注意:project名稱需要全局唯一,例如workshop-test-123)
logstore:gamelog
建立日志收集配置檔案
配置名稱:gameserver
日志路徑:目錄 /root/demo 檔案 game.log
模式:選擇分隔符模式
将要ecs中的game.log擷取一行,并放入日志樣例中
分隔符:選擇自定義,使用","作為分隔符
為字段增加屬性
key
value
time
2017-05-16 09:20:05
user-id
123456
username
testuser
pos-x
10499
pos-y
24200
action
buy
action-param
{"item":“1234567”}
blood
77
magic
66
money
2500043
status
200
network
4g
device
android 7.8.1
建立機器分組,将配置檔案應用帶機器分組後,日志就會自動開始采集
機器組名稱:gameserver
建立完成後,将配置勾選,并應用到機器組
可以通過左邊菜單:loghub-實時采集 / logtail機器組 / 檢視狀态,檢視機器上logtail 是否安裝完成
配置應用後一分鐘内,日志就會被采集,通過監控或預覽可以進行檢視
通過預覽,我們可以看到日志已被實時收集了
日志實時收集後,我們可以通過計算程式對日志進行流計算,例如監控等。除此之外,我們可以對日志建立索引,進行實時日志查詢與分析。
在左側菜單點選日志庫,查詢按鈕進入日志查詢頁面
日志需要通過索引(類似搜尋引擎)後,就能進行查詢。我們對于不同key建立不同索引
在輸入框中輸入"username:testuser "獲得使用者名為testuser記錄檔
可以加入更多條件,例如"username:testuser and action:sell" 檢視滿足這兩個條件的日志
通過點選上下文浏覽,可以檢視某條日志在原始日志檔案中的上下文(一般用來進行錯誤調查)
我們還可以在搜尋框中做一些查詢統計功能,例如線上有一個需求:我們需要對線上玩得比較多,但血量比較少,金錢也不多但經常玩的使用者提供一些代金券,可以送出如下query
在控制台獲得如下結果:
點選授權雲監控讀取日志服務權限
建立一個pv監控項,例如聚合每分鐘的資料計數
生成圖表
歡迎加入日志服務釘釘群