本文介紹 EAS 服務日誌採集到 SLS 的三種方式及其操作步驟,協助您根據業務需求選擇合適方案。
方案概述
EAS 服務日誌支援採集到 SLS ,提供三種接入方式。請可以根據實際使用情境選擇合適的方式。
維度 | EAS 洞察 Tab 接入 | CloudMonitor 2.0 接入中心 | SLS Logtail 手動設定 |
適用情境 | 快速接入單個服務的日誌 | 批量接入多個服務的日誌 | 需要採集檔案日誌、自訂解析 等高階功能 |
日誌類型 | 僅標準輸出日誌 | 僅標準輸出日誌 | 標準輸出日誌 + 檔案日誌 |
操作複雜度 | 最低,在 EAS 服務詳情頁一鍵開啟 | 中等,需在CloudMonitor2.0控制台配置 | 最高,需手動建立機器組和配置 Logtail |
情境一:快速接入單個服務日誌(EAS 洞察 Tab)
如果您想快速接入某個 EAS 服務的標準輸出日誌到SLS,可以在 EAS 服務詳情頁的洞察 Tab 中一鍵開啟。開啟後,日誌將自動採集到 SLS 中。
操作步驟如下:
登入PAI 控制台,在頁面上方選擇目標地區。
在左側導覽列選擇模型在线服务(EAS),如有多個工作空間,請選擇目標工作空間進入。
在推理服务頁簽,單擊目標服務名稱,進入服務詳情頁。
在服務詳情頁,單擊洞察頁簽。
根據該地區的接入狀態,執行對應操作:
該地區從未接入過:在步驟 2初始化資源中,單擊開啟洞察,系統會自動完成資源初始化和資料接入。
該地區已接入過:系統會自動完成當前服務執行個體的接入,無需額外操作。
通過洞察 Tab 接入的服務,在CloudMonitor 2.0 的接入管理中會建立一個單一實例接入模式的配置,僅採集當前服務的日誌。如果需要批量接入多個服務,請參考情境二。
情境二:批量接入多個服務日誌(CloudMonitor 2.0 接入中心)
如果您需要一次性接入某個地區下多個 EAS 服務的標準輸出日誌,可以通過CloudMonitor 2.0 的接入中心進行批量接入。
登入CloudMonitor2.0控制台,選擇與EAS服務同地區的工作空間後,在左側導覽列單擊接入中心。
如沒有同地區工作空間,請在左側導覽列單擊CloudMonitor2.0右側的返回按鈕,進入工作空間管理,建立工作空間。
在接入中心頁面的搜尋方塊中,輸入"模型線上服務 PAI-EAS",單擊搜尋結果卡片。
在開始接入面板中,根據需要選擇帳號、策略名稱稱和實體範圍(地區無法選擇,預設為工作空間所屬地區),單擊確定。
在接入配置地區,繼續配置:
接入名稱:非必填,會預設產生。建議填寫自訂名稱,便於區分不同接入配置。
選擇接入的資料:勾選PAI-EAS 服務日誌。
單擊確定。切換到接入管理頁簽,查看接入配置,在操作列單擊資料來源查看對應的 SLS Logstore 資訊。
情境三:自訂日誌採集(SLS Logtail 手動設定)
如果您需要採集檔案日誌,採集日誌到指定的Project和LogStore,或需要對日誌進行自訂解析、投遞 OSS 等高階操作,可以通過 SLS Logtail 手動設定日誌採集。
不同資源類型的服務在機器組建立方式和 Logtail 配置上存在差異,請根據您使用的資源類型,選擇對應的章節完成配置。三種資源類型的核心區別如下:
公用資源群組:需要手動建立機器組(使用自訂標識),手動設定 Logtail。
專屬資源群組:配置SLS後自動建立機器組和 Logtail,如需採集自訂日誌再手動補充配置。
資源配額:需要手動建立機器組(使用與公用資源群組不同的自訂標識),手動設定 Logtail。
前提條件
請先開通Log Service SLS,並建立 Project 和 Logstore,詳情請參見管理Project、建立基礎LogStore。
公用資源群組
步驟一:建立機器組
部署在公用資源群組中的服務,需要手工建立機器組。
登入Log Service控制台,在Project列表地區,單擊目標Project。
在左側導覽列中,選擇機器組。
選擇機器組右側的建立機器組。
在建立機器組頁面,通過使用者自訂標識來建立機器組:
機器組標識::選擇用戶自訂標識。
機器組 Topic:留空。
名稱、使用者自訂標識:都填寫
eas-log-group-{region_id},其中{region_id}替換為服務所在地區 ID(例如張家口為eas-log-group-cn-zhangjiakou)。
確認已部署使用公用資源的服務後,在機器組頁面的狀態列表中查看執行個體心跳狀態。OK 表示機器組運行正常。
說明如果沒有部署服務,則執行個體列表顯示為空白。
步驟二:配置 Logtail
根據需要採集的日誌內容配置 Logtail。下文介紹採集容器標準輸出和採集容器內檔案日誌的簡單配置,更多配置參考建立並配置日誌採集規則自行配置。
採集容器標準輸出
在右側的快速接入資料地區,單擊接入資料,選擇K8S - 標準輸出 - 舊版。
選擇目標 Project 和 Logstore,單擊下一步。
單擊使用已有機器組,並選擇步驟一中已手動建立的公用資源群組機器組,單擊下一步。
(可選)在使用自訂鏡像部署服務的情境中,如果您不希望採集 EAS 引擎日誌,在輸入配置中,開啟容器過濾,添加容器 label 黑名單,標籤名填寫
io.kubernetes.container.name,標籤值填寫easworker。單擊下一步,直到配置結束。
採集容器內檔案日誌
在右側的快速接入資料地區,單擊接入資料,選擇Kubernetes - 檔案。
選擇目標 Project 和 Logstore,單擊下一步。
選擇步驟一中已手動建立的公用資源群組機器組,單擊下一步。
在輸入配置地區配置檔案路徑(即要採集的檔案路徑地址),並單擊下一步。
單擊下一步,直到配置結束。
資源配額
步驟一:建立機器組
操作步驟與公用資源群組相同,注意使用者自訂標識不一樣。
資源配額的自訂標識為eas-log-group-{region_id}-for-resource-quota,其中 {region_id}替換為服務所在地區 ID(例如張家口為eas-log-group-cn-zhangjiakou-for-resource-quota)
步驟二:配置 Logtail
根據需要採集的日誌內容配置 Logtail。下文介紹採集容器標準輸出和採集容器內檔案日誌的簡單配置。更多配置參考持續採集主機文本日誌自行配置。
採集容器標準輸出
在右側的快速接入資料地區,單擊接入資料,選擇單行 - 文本日誌。
說明可以根據實際需求修改接入方式。例如,需要正則匹配採集到的日誌,可以選擇正則 - 文本日誌。如果需要 JSON 解析日誌,可以選擇Json-文本日誌。也可建立後再修改。
選擇目標 Project 和 Logstore,單擊下一步。
在機器組配置中如下填寫,然後單擊下一步:
使用情境:選擇主機情境。
安裝環境:選擇 ECS。
機器組:選擇步驟一中已手動建立的資源配額機器組。
在 Logtail 配置中,填寫以下配置:
檔案路徑:填寫
/var/log/containers-stdout/{container_name}/*.log。其中{container_name}為容器名。例如,如果您想採集所有自訂容器 log,可以填寫/var/log/containers-stdout/worker*/*.log。
單擊下一步,直到配置結束。
採集容器內檔案日誌
部署服務時,需要通過配置 JSON 聲明採集的檔案日誌所在的目錄
{ "cloud": { "logging": { "paths": [ "/home/admin/logs", "/home/workspace/logs", "/var/log" ] }, //其他配置略 "networking": { "security_group_id": "sg-xxxxx", "vswitch_id": "vsw-xxxxx", "vpc_id": "vpc-xxxxx", } } }在右側的快速接入資料地區,單擊接入資料,選擇單行 - 文本日誌。
在機器組配置中如下填寫,然後單擊下一步:
使用情境:選擇主機情境。
安裝環境:選擇 ECS。
機器組:選擇步驟一中已手動建立的資源配額機器組。
在 Logtail 配置中,填寫以下配置:
類型:選擇文本日誌採集。
檔案路徑:填寫要採集的記錄檔,必須是已在服務配置 JSON 中聲明過的路徑。如
/home/admin/logs/*.log。最大目錄監控深度:設定為
0。
單擊下一步,直到配置結束。
專屬資源群組
步驟一:建立機器組
與公用資源群組和資源配額不同,專屬資源群組無需手動建立機器組。您只需在 PAI 控制台為專屬資源群組配置 SLS,系統會自動完成以下操作:
在 SLS 中建立機器組,名稱格式為
eas-sls-{resource-id}-mg(resource-id 為資源群組 ID)。在指定的 Logstore 中建立 Logtail,用於採集 EAS 架構日誌。
操作步驟如下:
登入PAI 控制台,在頁面上方選擇目標地區。
在左側導覽列選擇 。
在 頁簽,單擊資源群組名稱,進入專屬資源群組詳情頁面。
在專屬資源群組詳情頁面,單擊配置SLS。
在写入SLS配置對話方塊,選擇SLSProject及LogStore,並單擊确定。
步驟二:配置 Logtail
專屬資源群組配置SLS後,已自動建立 Logtail 用於採集 EAS 架構日誌。
如需採集自訂日誌,參考公用資源群組-配置 Logtail,注意機器組選擇步驟一中EAS自動建立的專屬資源群組機器組。
常見問題
Q:如何關閉PAI-EAS服務的SLS日誌採集?
根據您使用的接入方式,執行對應的關閉操作:
通過洞察 Tab 或CloudMonitor 2.0 接入中心開啟的(情境一、情境二):登入CloudMonitor 2.0 控制台,在接入管理中找到對應的接入配置,刪除該接入。
專屬資源群組(情境三):在 PAI 控制台進入專屬資源群組詳情頁,單擊配置 SLS,在下拉框中選擇關閉SLS配置。
公用資源群組或資源配額(情境三):登入Log Service控制台,刪除對應的 Logtail 配置。
Q:專屬資源群組配置 SLS 後日誌採集不全或與流量不匹配怎麼辦?
日誌缺失或日誌量與實際請求流量不一致時,請按以下順序排查:
檢查 Logtail 配置中的容器過濾規則是否正確。過濾規則設定不當會導致目標容器的日誌未被採集。
確認 EAS 服務關聯角色
AliyunServiceRoleForEAS是否具有足夠的 SLS 寫入許可權。許可權不足可能導致部分日誌寫入失敗。參考本文重新核對日誌採集配置及服務關聯角色許可權。
Q:如何查詢哪些 PAI-EAS 服務正在寫入 SLS 日誌及各自的日誌量?
在目標 Logstore 的查詢分析頁面執行以下查詢語句:
* | select service_name, count(1) as log_count where service_name != '' group by service_name order by log_count desc該語句按服務名(service_name)彙總統計各服務的日誌量(log_count),並按日誌量降序排列,可協助識別正在寫入日誌的服務,便於批量管理或關閉採集操作。可結合上文「Q:如何關閉PAI-EAS服務的SLS日誌採集?」條目,先定位再關閉。
