在Knative上實現(xiàn)日志采集
日志服務(wù)(Log Service,簡稱 LOG)是針對日志類數(shù)據(jù)的一站式服務(wù)。您無需開發(fā)就能快捷完成日志數(shù)據(jù)采集、消費、投遞以及查詢分析等功能。在Knative中結(jié)合日志服務(wù),能有效提升對Serverless應(yīng)用的運維能力。本文介紹如何在Knative中使用日志服務(wù)收集Serverless應(yīng)用容器日志,采用日志服務(wù)收集、分析業(yè)務(wù)日志,滿足生產(chǎn)級別的Serverless應(yīng)用運維的訴求。
前提條件
已開通日志服務(wù)。具體操作,請參見通過日志服務(wù)采集Kubernetes容器日志。
已為集群部署Knative。具體操作,請參見在ACK集群中部署Knative。
步驟一:部署服務(wù)
本文部署一個名稱為helloworld-go
的Knative服務(wù)。具體操作,請參見快速部署Serverless應(yīng)用。
步驟二:為服務(wù)接入日志采集
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇集群信息。
在集群信息頁面,單擊集群資源頁簽,然后單擊日志服務(wù) Project右側(cè)的鏈接。
在helloworld-go項目頁面的左下角,單擊接入數(shù)據(jù),為helloworld-go服務(wù)接入日志采集。
請參見通過DaemonSet-控制臺方式采集容器標(biāo)準輸出。
在快速數(shù)據(jù)接入頁面的Docker標(biāo)準輸出 - 容器的卡片上,單擊立即接入,然后根據(jù)頁面提示進入Docker標(biāo)準輸出配置頁面。
在選擇日志空間配置中,確認日志空間信息并單擊下一步。
設(shè)置創(chuàng)建機器組。
已在前提條件中安裝ogtail-ds日志組件,因此請單擊使用現(xiàn)有機器組。
您可以選擇Kubernetes或者標(biāo)準Docker采集進行日志采集。具體操作,請參見通過日志服務(wù)采集Kubernetes容器日志和采集標(biāo)準Docker容器日志。
設(shè)置機器組配置,完成后單擊下一步。
在數(shù)據(jù)源設(shè)置向?qū)ы撁妫瑔螕?b data-tag="uicontrol" id="75e0dc704cb0x" class="uicontrol">切換為編輯器配置,然后設(shè)置插件配置。
本文針對helloworld-go服務(wù),設(shè)置采集的環(huán)境變量為:
"K_SERVICE": "helloworld-go"
。并且通過processors分割日志信息,如這里"Keys": [ "time","level", "msg" ]
。插件配置示例如下。{ "inputs": [ { "detail": { "IncludeEnv": { "K_SERVICE": "helloworld-go" }, "IncludeLabel": {}, "ExcludeLabel": {} }, "type": "service_docker_stdout" } ], "processors": [ { "detail": { "KeepSource": false, "NoMatchError": true, "Keys": [ "time", "level", "msg" ], "NoKeyError": true, "Regex": "(\\d+-\\d+-\\d+\\s+\\d+:\\d+:\\d+)\\s+(\\w+)\\s+(.*)", "SourceKey": "content" }, "type": "processor_regex" } ] }
數(shù)據(jù)源設(shè)置完成后,單擊下一步。
在查詢分析配置頁面,開啟全文索引,設(shè)置查詢字段索引屬性。
單擊下一步進入結(jié)束頁面。
執(zhí)行以下命令,訪問helloworld-go示例服務(wù)。
此時會產(chǎn)生日志信息。
curl -H "Host: helloworld-go.default.example.com" http:<網(wǎng)關(guān)IP> # 網(wǎng)關(guān)IP和域名請以您的實際數(shù)據(jù)為準。
預(yù)期輸出:
Hello Knative!
在日志庫的目標(biāo)日志右側(cè)懸浮鼠標(biāo)至圖標(biāo)上,選擇 ,可以看該logstore的日志信息。
設(shè)置查詢分析。
關(guān)于如何查詢和分析日志,請參見查詢和分析日志。