日志接入是指通過(guò)各種手段采集應(yīng)用程序或服務(wù)在運(yùn)行時(shí)產(chǎn)生的系統(tǒng)運(yùn)行狀態(tài)、錯(cuò)誤信息、用戶操作記錄等日志信息,并將這些日志信息存儲(chǔ)到指定的位置,以便后續(xù)分析和使用。這些日志信息對(duì)于系統(tǒng)運(yùn)維、 故障排查 以及業(yè)務(wù)分析都具有重要意義。
云日志服務(wù)LTS 提供實(shí)時(shí)日志接入功能,通過(guò)ICAgent插件、云服務(wù)接入、自建軟件接入、API接入、SDK接入等多種方式將采集到的日志上報(bào)到 LTS ,滿足不同場(chǎng)景日志接入的訴求。
支持40+華為云服務(wù)日志對(duì)接LTS。
支持Web、移動(dòng)端iOS、Android和小程序日志接入LTS。
支持采集Logstash、Flume、Beats開(kāi)源軟件中的數(shù)據(jù)。
支持通過(guò)HTTP、HTTPS、Syslog、Kafka等標(biāo)準(zhǔn)協(xié)議接入數(shù)據(jù)。
應(yīng)用場(chǎng)景
某個(gè)外賣平臺(tái)型電商網(wǎng)站(包括用戶、餐廳、配送員等),用戶可以在網(wǎng)頁(yè)、App、微信、支付寶等進(jìn)行下單點(diǎn)菜,商家拿到訂單后開(kāi)始加工,并自動(dòng)通知周圍的快遞員,最后由快遞員將外賣送到用戶手中。
在數(shù)據(jù)化運(yùn)營(yíng)的過(guò)程中,發(fā)現(xiàn)數(shù)據(jù)采集困難,例如:
多渠道:各種渠道數(shù)據(jù)分散,例如廣告商、推廣人員等。
多終端:網(wǎng)頁(yè)版、公眾賬號(hào)、手機(jī)、瀏覽器(Web、移動(dòng)端頁(yè)面)等。
異構(gòu)網(wǎng):VPC、用戶自建IDC,華為云ECS等。
多開(kāi)發(fā)語(yǔ)言:核心系統(tǒng)Java、前端Nginx服務(wù)器、后臺(tái)支付系統(tǒng)C++。
設(shè)備不同:商家有不同平臺(tái)(X86、ARM)設(shè)備。
如果需要把散落在外部、內(nèi)部的日志收集起來(lái),可以通過(guò)LTS實(shí)現(xiàn)統(tǒng)一管理日志。
統(tǒng)一管理日志
- 在 云日志 服務(wù)LTS控制臺(tái)創(chuàng)建日志組,詳細(xì)操作請(qǐng)參考管理日志組。
 - 在云日志服務(wù)LTS控制臺(tái)為不同數(shù)據(jù)源產(chǎn)生的日志創(chuàng)建日志流,詳細(xì)操作請(qǐng)參考管理日志流,以下示例日志僅供參考,請(qǐng)以實(shí)際應(yīng)用日志為準(zhǔn)。
- wechat-server(用于存儲(chǔ)微信服務(wù)器訪問(wèn)日志)
 - wechat-app(用于存儲(chǔ)微信服務(wù)器應(yīng)用日志)
 - wechat-error(用于存儲(chǔ)錯(cuò)誤日志)
 - alipay-server
 - alipay-app
 - deliver-app(用于存儲(chǔ)送貨員App狀態(tài))
 - deliver-error(用于存儲(chǔ)錯(cuò)誤日志)
 - web-click(用于存儲(chǔ)H5頁(yè)面點(diǎn)擊量的日志)
 - server-access(用于存儲(chǔ)服務(wù)端訪問(wèn)日志)
 - server-app(用于存儲(chǔ)服務(wù)器應(yīng)用的日志)
 - coupon(用于存儲(chǔ)應(yīng)用優(yōu)惠券的日志)
 - pay(用于存儲(chǔ)支付日志)
 - order(用于存儲(chǔ)訂單日志)
 
 - 如需要對(duì)原始數(shù)據(jù)進(jìn)行加工,可以通過(guò)創(chuàng)建日志加工任務(wù),詳細(xì)請(qǐng)參考DSL加工。DSL加工的功能在邀測(cè)中,僅支持華北-北京四、華東-上海一、華南-廣州局點(diǎn)的內(nèi)測(cè)用戶使用,其他局點(diǎn)暫不支持。
 
采集用戶推廣日志
商家一般通過(guò)以下方式推廣新用戶:
在注冊(cè)網(wǎng)站時(shí)直接投放優(yōu)惠券。
在掃描傳單 二維碼 、網(wǎng)頁(yè)二維碼或其他渠道的二維碼,投放優(yōu)惠券。
推廣前先設(shè)置如下注冊(cè)服務(wù)器地址,生成二維碼(傳單、網(wǎng)頁(yè))供用戶注冊(cè)掃描。用戶通過(guò)掃碼進(jìn)行注冊(cè)時(shí),就可以得知用戶是通過(guò)特定來(lái)源進(jìn)入的,并記錄日志。
http://example.com/login?source=10012&ref=kd4b
當(dāng)服務(wù)端接受請(qǐng)求時(shí),服務(wù)器輸出如下日志:
2024-06-20 19:00:00 e41234ab342ef034,102345,5k4d,467890
支持通過(guò)以下方式采集用戶推廣日志:
應(yīng)用程序輸出日志到硬盤,通過(guò)ICAgent采集日志,詳細(xì)請(qǐng)參考云主機(jī)ECS文本日志接入LTS。
應(yīng)用程序日志通過(guò)SDK寫(xiě)入LTS,詳細(xì)請(qǐng)參考SDK概述。
采集服務(wù)端數(shù)據(jù)
支付寶和微信公眾賬號(hào)編程是典型的Web端模式,一般會(huì)有四種類型的日志,可以使用SDK上報(bào)日志的方式,詳細(xì)請(qǐng)參考云日志服務(wù)支付寶小程序SDK、云日志服務(wù)微信小程序SDK。以下示例日志僅供參考,請(qǐng)以實(shí)際應(yīng)用日志為準(zhǔn)。
Nginx和Apache訪問(wèn)日志
Nginx和Apache訪問(wèn)日志用以監(jiān)控、實(shí)時(shí)統(tǒng)計(jì)。
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錯(cuò)誤日志
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"
 - 應(yīng)用層日志
應(yīng)用層日志可以把事件產(chǎn)生的時(shí)間、地點(diǎn)、結(jié)果、參數(shù)等記錄詳細(xì),擴(kuò)展類字段一般放在最后。
{"labels":{"cccdasd":51,"platform":"wx"},"logs":[{"contents":[{"aaa":"13123","__client_time__":1728565099070}]}]} - 應(yīng)用層錯(cuò)誤日志
{"errorCode":"LTS.403","errorMessage":" request header auth is empty"} 
支持通過(guò)以下方法采集服務(wù)端數(shù)據(jù):
- 將日志寫(xiě)到本地文件,通過(guò)創(chuàng)建日志采集任務(wù)寫(xiě)到指定日志流中。
 - Docker中產(chǎn)生的日志可以使用CCE接入LTS進(jìn)行采集,詳細(xì)請(qǐng)參考云容器引擎CCE應(yīng)用日志接入LTS。
 - C#、Python、Java、PHP、C等日志可以使用SDK寫(xiě)入LTS,詳細(xì)請(qǐng)參考SDK概述。
 
采集終端用戶日志
端側(cè)日志全面采集接入LTS,例如Web瀏覽器、IOS、安卓、百度小程序、微信小程序、釘釘小程序、快應(yīng)用等多類端側(cè)日志。LTS提供了多種移動(dòng)端SDK,實(shí)現(xiàn)了緩存發(fā)送、異常重試、批量發(fā)送等穩(wěn)定功能,用戶快速集成即可全面采集移動(dòng)端日志到LTS。
采集方案:
移動(dòng)端:可以使用移動(dòng)端iOS SDK,Android SDK接入。
ARM設(shè)備:ARM平臺(tái)可以使用Native C交叉編譯。
商家平臺(tái)設(shè)備:X86平臺(tái)設(shè)備可以用SDK、ARM平臺(tái)可以使用Native C交叉編譯。
支持通過(guò)以下方法采集終端用戶日志:
將日志寫(xiě)到本地文件,通過(guò)創(chuàng)建日志采集任務(wù)寫(xiě)到指定日志流中。
Docker中產(chǎn)生的日志可以使用CCE接入LTS進(jìn)行采集,詳細(xì)請(qǐng)參考云容器引擎CCE應(yīng)用日志接入LTS。
C#、Python、Java、PHP、C等可以使用SDK寫(xiě)入LTS,詳細(xì)請(qǐng)參考SDK概述。
采集Web/移動(dòng)端頁(yè)面用戶行為日志
關(guān)于Web/移動(dòng)端頁(yè)面用戶行為日志可以分為兩類:
頁(yè)面與后臺(tái)服務(wù)器交互日志:例如下單、登錄、退出等。
頁(yè)面無(wú)后臺(tái)服務(wù)器交互日志:請(qǐng)求直接在前端處理,例如滾屏、關(guān)閉頁(yè)面等。
使用匿名寫(xiě)入采集Web/移動(dòng)端頁(yè)面用戶行為日志,詳細(xì)請(qǐng)參見(jiàn)使用匿名寫(xiě)入采集日志。使用匿名寫(xiě)入采集日志功能僅支持華北-北京四、華東-上海一、華南-廣州區(qū)域的白名單用戶使用,如有需要,請(qǐng)提交工單,其他區(qū)域暫不支持申請(qǐng)開(kāi)通。
采集服務(wù)器日志
服務(wù)器日志參考如下:以下示例日志僅供參考,請(qǐng)以實(shí)際日志為準(zhǔn)。
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
應(yīng)用程序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:.....
支持通過(guò)以下方法采集服務(wù)器日志:
將日志寫(xiě)到本地文件,通過(guò)創(chuàng)建采集任務(wù)寫(xiě)到指定日志流中。
Docker中產(chǎn)生的日志可以使用CCE接入LTS進(jìn)行采集,詳細(xì)請(qǐng)參考云容器引擎CCE應(yīng)用日志接入LTS。
C#、Python、Java、PHP、C等日志可以使用SDK寫(xiě)入LTS,詳細(xì)請(qǐng)參考SDK概述。
采集不同網(wǎng)絡(luò)環(huán)境下的日志數(shù)據(jù)
LTS在各Region提供訪問(wèn)點(diǎn),每個(gè)Region提供三種方式接入LTS:
內(nèi)網(wǎng)(經(jīng)典網(wǎng)絡(luò)):本Region內(nèi)服務(wù)訪問(wèn),帶寬鏈路質(zhì)量好(推薦使用該方式)。
公網(wǎng)(經(jīng)典網(wǎng)絡(luò)):可以被任意訪問(wèn),訪問(wèn)速度取決于鏈路質(zhì)量、傳輸安全保障建議使用HTTPS。
私網(wǎng)(專有網(wǎng)絡(luò)VPC):本Region內(nèi)VPC網(wǎng)絡(luò)訪問(wèn)。