在Container ServiceK8s叢集中建立或部署應用時,您可開通Log ServiceSLS,把業務檔案日誌、容器標準輸出stdout、stderr日誌輸出到SLS,方便無限制行數地查看日誌和自彙總分析日誌。本文介紹如何配置日誌收集。
前提條件
安裝SLS組件,請參見通過DaemonSet採集Kubernetes容器文本日誌。
重要請先開通Log Service,後安裝SLS組件,以免導致失敗。
確保應用中每個執行個體預留了0.25核CPU和250MB記憶體的可用資源。
在建立應用時配置日誌收集
登入EDAS控制台,在左側導覽列,單擊,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,然後在應用列表頁面左上方,單擊建立應用。
在應用基本資料頁簽,選擇叢集類型和應用運行環境,然後在頁面最下方單擊下一步。
配置項
描述
叢集類型
選擇Kubernetes叢集。
應用運行環境
根據選擇的託管應用類型選擇應用運行環境。
Java:
Java:支援通用的JAR包部署,適用於Dubbo和Spring Boot應用。在選擇後可更改Java環境。
Tomcat:支援通用的WAR包部署,適用於Dubbo和Spring應用。在選擇後可更改Java環境和容器版本。
EDAS-Container(HSF):適用於使用WAR或者FatJar部署HSF應用。在選擇後可更改Java環境、Pandora版本和Ali-Tomcat版本。
自訂:適用於在K8s叢集中使用自訂的鏡像部署應用。
PHP:適用於運行在Apache HTTP Server中的PHP應用程式。
在應用配置頁簽,設定應用的環境資訊、基本資料、部署方式和資源參數,設定完成後單擊下一步。
在應用進階設定頁簽,展開日誌收集設定,開啟開通日誌收集到SLSLog Service功能並根據您的業務需求設定日誌收集資訊。

配置項
描述
日誌庫名稱
輸入日誌庫的名稱,如果不存在會建立日誌庫。
採集日誌類型
您可選擇檔案日誌(容器內日誌路徑)或容器標準輸出日誌。
採集路徑
輸入容器內的日誌路徑,例如/usr/local/tomcat/logs/catalina.*.log。
重要日誌源的存放目錄須包含日誌的檔案名稱,如/tmp0/cjsc.log。
請勿在日誌源的存放目錄中存放其他重要檔案,謹防目錄內的檔案被覆蓋。
如果需要配置多條收集規則,請單擊添加日誌源。
完成設定後單擊建立應用。
在應用建立完成頁簽確認應用基本資料、應用配置和應用進階設定等資訊,確認完畢後單擊確定建立應用。
在應用總覽頁面頂部提示資訊中,單擊查看詳情,可在變更記錄頁面查看變更流程。應用部署需要幾分鐘,請您耐心等待。變更完成後在應用總覽頁面的基本資料地區查看執行個體的運行狀態,如果顯示為Pod運行中,說明應用部署成功。
在更新應用時配置日誌收集
如果您在建立應用時沒有配置日誌收集,可以在部署應用時進行配置。
登入EDAS控制台。
在左側導覽列,單擊,在頂部功能表列選擇地區並在頁面上方選擇所屬微服務空間,在叢集類型下拉式清單,選擇K8s叢集,然後在頁面單擊具體的應用程式名稱。
在應用總覽或基本資料頁面的右上方,選擇。
在選擇部署模式頁面,選擇具體的部署方式,然後在所選方式地區的右上方,單擊開始部署。
設定應用的環境和部署套件資訊後展開日誌收集設定,開啟開通日誌收集到SLSLog Service功能並根據您的業務需求設定日誌收集資訊。然後單擊確定。

配置項
描述
日誌庫名稱
輸入日誌庫的名稱,如果不存在會建立日誌庫。
採集日誌類型
您可選擇檔案日誌(容器內日誌路徑)或容器標準輸出日誌。
採集路徑
輸入容器內的日誌路徑,例如/usr/local/tomcat/logs/catalina.*.log。
重要單擊確定後,該應用會被重啟,請在業務較少的時間段進行。
日誌源的存放目錄須包含日誌的檔案名稱,如/tmp0/cjsc.log。
請勿在日誌源的存放目錄中存放其他重要檔案,謹防目錄內的檔案被覆蓋。
結果驗證
應用部署完成後,EDAS依據所配的日誌收集規則收集日誌並存放到指定的檔案內。
常見問題
EDAS日誌功能是否支援滾動日誌?
EDAS支援使用萬用字元方式滾動日誌。
指定收集記錄檔名稱,區分大小寫,您可以使用萬用字元,例如
*.log。Linux下的檔案名稱萬用字元包括
*、?和[...]。查看檔案日誌時,在Log Service控制台無資料展示,如何處理?
通常Log Service預設查詢最近15分鐘內的查詢結果,並且在配置SLS收集前產生的檔案內容不會被採集到SLS中。如果Log Service無資料顯示,建議使用Webshell查看您的應用是否有檔案日誌資訊。如果沒有,請檢查您的應用。
EDASContainer ServiceK8s和Serverless K8s交流群
如果您在EDAS中使用Container ServiceK8s叢集和Serverless K8s叢集過程中有任何疑問或建議,請使用DingTalk搜尋DingTalk群號23197114加入DingTalk群進行反饋。