本文介紹跨阿里云賬號采集阿里云Kubernetes中的容器日志的操作步驟。

背景信息

例如某電商公司擁有兩個電商應用,部署在阿里云杭州地域的Kubernetes集群中,并使用杭州地域的日志服務進行日志管理。
  • 應用A部署在阿里云賬號A(12****456)下的Kubernetes集群中,并使用該賬號下的日志服務進行日志管理。
  • 應用B部署在阿里云賬號B(17****397)下的Kubernetes集群中,并使用該賬號下的日志服務進行日志管理。
現公司業務調整,計劃將兩個應用的日志集中采集到阿里云賬號A(12****456)下的日志服務中,即將兩個應用的日志分別采集到同一個日志服務Project下的不同Logstore中。因此您需要新增一個Logtail采集配置、機器組和Logstore,用于采集和存儲應用B相關的日志。應用A相關的日志采集保持不變(使用原有的Logtail采集配置、機器組和Logstore)。架構圖

步驟一:設置阿里云賬號為用戶標識

  1. 使用阿里云賬號B登錄容器服務管理控制臺
  2. 設置阿里云賬號A為用戶標識。
    1. 在左側導航欄中,單擊集群
    2. 集群列表頁面中,單擊目標集群。
    3. 在左側導航欄中,選擇配置管理 > 配置項
    4. 選擇命名空間kube-system,然后在配置項列表中單擊alibaba-log-configuration對應的編輯
    5. 編輯面板中,完成如下操作,然后單擊確定
      log-ali-uid配置項中增加阿里云賬號A的ID,然后記錄log-machine-group配置項的值(例如k8s-group-cc47****54428),在創建機器組時需設置用戶自定義標識為該值。

      多個賬號之間使用半角逗號(,)相隔,例如17****397,12****456

      配置項
  3. 重啟logtail-ds,使配置生效。
    1. 在左側導航欄中,選擇工作負載 > 進程守護集
    2. 在守護進程集列表中,單擊logtail-ds對應的編輯
    3. 環境變量區域,單擊新增
    4. 新增一個任意內容的自定義變量(例如random_id:439157431651471905349)。
      logtail-ds
    5. 單擊更新

    logtail-ds詳情頁面,確認各個容器組的狀態為Running且創建時間為您更新配置后的時間。

    重啟logtail-ds

步驟二:創建機器組

  1. 使用阿里云賬號A登錄日志服務控制臺
  2. 在Project列表區域,單擊目標Project。
  3. 在左側導航欄中,選擇資源 > 機器組
  4. 選擇機器組右側的機器組 > 創建機器組
  5. 創建機器組對話框中,配置如下參數,然后單擊確定
    其中用戶自定義標識需設置為您在步驟一:設置阿里云賬號為用戶標識中獲取的機器組標識(例如k8s-group-cc47****54428)。其他參數說明,請參見創建用戶自定義標識機器組機器組
  6. 檢查機器組中的服務器心跳都為OK。
    1. 在機器組列表中,單擊目標機器組。
    2. 機器組配置頁面,查看容器節點(ECS)的心跳狀態。
      心跳OK表示容器節點與日志服務的連接正常。如果顯示FAIL請參見Logtail機器組無心跳機器組心跳

步驟三:創建Logtail采集配置

  1. 使用阿里云賬號A登錄日志服務控制臺
  2. 數據接入區域,單擊Kubernetes-文件
  3. 選擇目標Project和Logstore,單擊下一步
  4. 單擊使用現有機器組
  5. 選中您在步驟二:創建機器組中所創建的機器組,將該機器組從源機器組移動到應用機器組,單擊下一步
  6. 設置Logtail采集配置,單擊下一步

    具體參數說明,請參見通過DaemonSet-控制臺方式采集容器文本日志

    重要
    • 默認一個文件只能匹配一個Logtail采集配置。此時賬號B下的采集未停止,賬號A下的Logtail采集配置無法生效,因此您需要使用如下方式使賬號A下的Logtail采集配置生效。
    • 此處創建Logtail采集配置成功后,請刪除阿里云賬號B下的原有Logtail采集配置,避免重復采集日志。如何刪除,請參見刪除Logtail采集配置
  7. 預覽數據及設置索引,單擊下一步
    日志服務默認開啟全文索引。您也可以根據采集到的日志,手動或者自動設置字段索引。更多信息,請參見配置索引

相關操作

如果您需要將阿里云賬號B下的歷史數據遷移到當前的Logstore中,可以在原Logstore中創建數據加工任務,將數據復制到當前Logstore中。具體操作,請參見復制Logstore數據
重要
跨賬號加工數據時,需使用自定義角色或密鑰方式進行授權,此處以自定義角色為例。