華為云計算 云知識 采集多渠道日志數(shù)據(jù)到云日志服務LTS
采集多渠道日志數(shù)據(jù)到云日志服務LTS

日志接入是指通過各種手段采集應用程序或服務在運行時產(chǎn)生的系統(tǒng)運行狀態(tài)、錯誤信息、用戶操作記錄等日志信息,并將這些日志信息存儲到指定的位置,以便后續(xù)分析和使用。這些日志信息對于系統(tǒng)運維、 故障排查 以及業(yè)務分析都具有重要意義。

云日志服務LTS 提供實時日志接入功能,通過ICAgent插件、云服務接入、自建軟件接入、API接入、SDK接入等多種方式將采集到的日志上報到 LTS ,滿足不同場景日志接入的訴求。

支持40+華為云服務日志對接LTS。

支持Web、移動端iOS、Android和小程序日志接入LTS。

支持采集Logstash、Flume、Beats開源軟件中的數(shù)據(jù)。

支持通過HTTP、HTTPS、Syslog、Kafka等標準協(xié)議接入數(shù)據(jù)。

應用場景

某個外賣平臺型電商網(wǎng)站(包括用戶、餐廳、配送員等),用戶可以在網(wǎng)頁、App、微信、支付寶等進行下單點菜,商家拿到訂單后開始加工,并自動通知周圍的快遞員,最后由快遞員將外賣送到用戶手中。

在數(shù)據(jù)化運營的過程中,發(fā)現(xiàn)數(shù)據(jù)采集困難,例如:

多渠道:各種渠道數(shù)據(jù)分散,例如廣告商、推廣人員等。

多終端:網(wǎng)頁版、公眾賬號、手機、瀏覽器(Web、移動端頁面)等。

異構(gòu)網(wǎng):VPC、用戶自建IDC,華為云ECS等。

多開發(fā)語言:核心系統(tǒng)Java、前端Nginx服務器、后臺支付系統(tǒng)C++。

設(shè)備不同:商家有不同平臺(X86、ARM)設(shè)備。

如果需要把散落在外部、內(nèi)部的日志收集起來,可以通過LTS實現(xiàn)統(tǒng)一管理日志。

采集用戶推廣日志

采集服務端數(shù)據(jù)

采集終端用戶日志

采集Web/移動端頁面用戶行為日志

采集服務器日志

采集不同網(wǎng)絡(luò)環(huán)境下的日志數(shù)據(jù)


統(tǒng)一管理日志

  1. 云日志 服務LTS控制臺創(chuàng)建日志組,詳細操作請參考管理日志組。
  2. 在云日志服務LTS控制臺為不同數(shù)據(jù)源產(chǎn)生的日志創(chuàng)建日志流,詳細操作請參考管理日志流,以下示例日志僅供參考,請以實際應用日志為準。
    • wechat-server(用于存儲微信服務器訪問日志)
    • wechat-app(用于存儲微信服務器應用日志)
    • wechat-error(用于存儲錯誤日志)
    • alipay-server
    • alipay-app
    • deliver-app(用于存儲送貨員App狀態(tài))
    • deliver-error(用于存儲錯誤日志)
    • web-click(用于存儲H5頁面點擊量的日志)
    • server-access(用于存儲服務端訪問日志)
    • server-app(用于存儲服務器應用的日志)
    • coupon(用于存儲應用優(yōu)惠券的日志)
    • pay(用于存儲支付日志)
    • order(用于存儲訂單日志)
  3. 如需要對原始數(shù)據(jù)進行加工,可以通過創(chuàng)建日志加工任務,詳細請參考DSL加工。DSL加工的功能在邀測中,僅支持華北-北京四、華東-上海一、華南-廣州局點的內(nèi)測用戶使用,其他局點暫不支持。

采集用戶推廣日志

商家一般通過以下方式推廣新用戶:

在注冊網(wǎng)站時直接投放優(yōu)惠券。

在掃描傳單 二維碼 、網(wǎng)頁二維碼或其他渠道的二維碼,投放優(yōu)惠券。

推廣前先設(shè)置如下注冊服務器地址,生成二維碼(傳單、網(wǎng)頁)供用戶注冊掃描。用戶通過掃碼進行注冊時,就可以得知用戶是通過特定來源進入的,并記錄日志。

http://example.com/login?source=10012&ref=kd4b
 

當服務端接受請求時,服務器輸出如下日志:

2024-06-20 19:00:00 e41234ab342ef034,102345,5k4d,467890
 

支持通過以下方式采集用戶推廣日志:

應用程序輸出日志到硬盤,通過ICAgent采集日志,詳細請參考云主機ECS文本日志接入LTS。

應用程序日志通過SDK寫入LTS,詳細請參考SDK概述。


采集服務端數(shù)據(jù)

支付寶和微信公眾賬號編程是典型的Web端模式,一般會有四種類型的日志,可以使用SDK上報日志的方式,詳細請參考云日志服務支付寶小程序SDK、云日志服務微信小程序SDK。以下示例日志僅供參考,請以實際應用日志為準。

Nginx和Apache訪問日志

Nginx和Apache訪問日志用以監(jiān)控、實時統(tǒng)計。

10.1.168.193 - - [01/Mar/2024:16:12:07 +0800] "GET /Send?AccessKeyId=8225105404 HTTP/1.1" 200 5 "-" "Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2"
 
  • Nginx和Apache錯誤日志
    2024/04/18 18:59:01 [error] 26671#0: *20949999 connect() to unix:/tmp/fastcgi.socket failed (111: Connection refused) while connecting to upstream, client: 10.101.1.1, server: , request: "POST /logstores/test_log HTTP/1.1", upstream: "fastcgi://unix:/tmp/fastcgi.socket:", host: "example.com" 
  • 應用層日志

    應用層日志可以把事件產(chǎn)生的時間、地點、結(jié)果、參數(shù)等記錄詳細,擴展類字段一般放在最后。

    {"labels":{"cccdasd":51,"platform":"wx"},"logs":[{"contents":[{"aaa":"13123","__client_time__":1728565099070}]}]}
  • 應用層錯誤日志
    {"errorCode":"LTS.403","errorMessage":" request header auth is empty"}

支持通過以下方法采集服務端數(shù)據(jù):

  • 將日志寫到本地文件,通過創(chuàng)建日志采集任務寫到指定日志流中。
  • Docker中產(chǎn)生的日志可以使用CCE接入LTS進行采集,詳細請參考云容器引擎CCE應用日志接入LTS。
  • C#、Python、Java、PHP、C等日志可以使用SDK寫入LTS,詳細請參考SDK概述。

采集終端用戶日志

端側(cè)日志全面采集接入LTS,例如Web瀏覽器、IOS、安卓、百度小程序、微信小程序、釘釘小程序、快應用等多類端側(cè)日志。LTS提供了多種移動端SDK,實現(xiàn)了緩存發(fā)送、異常重試、批量發(fā)送等穩(wěn)定功能,用戶快速集成即可全面采集移動端日志到LTS。

采集方案:

移動端:可以使用移動端iOS SDK,Android SDK接入。

ARM設(shè)備:ARM平臺可以使用Native C交叉編譯。

商家平臺設(shè)備:X86平臺設(shè)備可以用SDK、ARM平臺可以使用Native C交叉編譯。

支持通過以下方法采集終端用戶日志:

將日志寫到本地文件,通過創(chuàng)建日志采集任務寫到指定日志流中。

Docker中產(chǎn)生的日志可以使用CCE接入LTS進行采集,詳細請參考云容器引擎CCE應用日志接入LTS。

C#、Python、Java、PHP、C等可以使用SDK寫入LTS,詳細請參考SDK概述


采集Web/移動端頁面用戶行為日志

關(guān)于Web/移動端頁面用戶行為日志可以分為兩類:

頁面與后臺服務器交互日志:例如下單、登錄、退出等。

頁面無后臺服務器交互日志:請求直接在前端處理,例如滾屏、關(guān)閉頁面等。

使用匿名寫入采集Web/移動端頁面用戶行為日志,詳細請參見使用匿名寫入采集日志。使用匿名寫入采集日志功能僅支持華北-北京四、華東-上海一、華南-廣州區(qū)域的白名單用戶使用,如有需要,請提交工單,其他區(qū)域暫不支持申請開通。


采集服務器日志

服務器日志參考如下:以下示例日志僅供參考,請以實際日志為準。

Syslog日志

Aug 31 11:07:24 zhouqi-mac WeChat[9676]: setupHotkeyListenning event NSEvent: type=KeyDown loc=(0,703) time=115959.8 flags=0 win=0x0 winNum=7041 ctxt=0x0 chars="u" unmodchars="u" repeat=0 keyCode=32
 

應用程序Debug日志

__FILE__:build/release64/sls/shennong_worker/ShardDataIndexManager.cpp
__LEVEL__:WARNING
__LINE__:238
__THREAD__:31502
offset:816103453552
saved_cursor:1469780553885742676
seek count:62900
seek data redo
log:pangu://localcluster/redo_data/41/example/2016_08_30/250_1472555483
user_cursor:1469780553885689973
 

Trace日志

[2013-07-13 10:28:12.772518]    [DEBUG] [26064]  __TRACE_ID__:661353951201    __item__:[Class:Function]_end__  request_id:1734117   user_id:124 context:.....
 

支持通過以下方法采集服務器日志:

將日志寫到本地文件,通過創(chuàng)建采集任務寫到指定日志流中。

Docker中產(chǎn)生的日志可以使用CCE接入LTS進行采集,詳細請參考云容器引擎CCE應用日志接入LTS。

C#、Python、Java、PHP、C等日志可以使用SDK寫入LTS,詳細請參考SDK概述。


采集不同網(wǎng)絡(luò)環(huán)境下的日志數(shù)據(jù)

LTS在各Region提供訪問點,每個Region提供三種方式接入LTS:

內(nèi)網(wǎng)(經(jīng)典網(wǎng)絡(luò)):本Region內(nèi)服務訪問,帶寬鏈路質(zhì)量好(推薦使用該方式)。

公網(wǎng)(經(jīng)典網(wǎng)絡(luò)):可以被任意訪問,訪問速度取決于鏈路質(zhì)量、傳輸安全保障建議使用HTTPS。

私網(wǎng)(專有網(wǎng)絡(luò)VPC):本Region內(nèi)VPC網(wǎng)絡(luò)訪問。