日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過Sidecar方式采集日志

阿里云日志服務SLS支持通過Sidecar模式采集ECI日志。本文介紹如何部署Sidecar容器,以及創建Logtail配置,實現容器日志的采集。

前提條件

  • 已創建ACK Serverless集群。具體操作,請參見創建集群

  • 已開通日志服務。

    登錄日志服務控制臺時,如果沒有開通日志服務,將收到相關提示,您可以根據頁面提示開通。

背景信息

阿里云日志服務SLS支持在ECI中通過Sidecar模式采集日志,即在每個ECI Pod中,除業務容器外,運行一個Sidecar容器作為日志Agent,用于采集業務容器產生的日志。

重要

Sidecar模式基于Logtail實現,Logtail必須和業務容器共享日志目錄,業務容器將日志寫入到共享目錄中,Logtail通過監控共享目錄中日志文件的變化并采集日志。

采集的日志可以分為以下兩種:

  • 標準輸出

    采集標準輸出依賴于ECI的stdlog卷。創建ECI Pod時可以將該卷掛載到Sidecar容器上,Sidecar可以直接以文件的方式訪問ECI基礎組件收集的標準輸出日志。

  • 文本文件

    采集文本文件可以通過Pod內共享的Volume實現。Pod內同一個Volume可以掛載到多個容器,Sidecar可以直接收集業務容器輸出到對應Volume內的文本文件。

步驟一:部署Sidecar容器

  1. 創建一個包含Sidecar容器的Deployment。

    YAML內容示例如下,請根據實際情況將占位符變量替換為實際值。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: nginx-log-sidecar-demo
      name: nginx-log-sidecar-demo
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx-log-sidecar-demo
      template:
        metadata:
          labels:
            app: nginx-log-sidecar-demo
            alibabacloud.com/eci: "true"  
        spec:
          containers:
            - name: nginx-log-demo
              image: registry-vpc.${RegionId}.aliyuncs.com/eci_open/nginx:1.14.2
              command:
                - /bin/sh
              args:
                - -c
                - while true; do echo hello world; date; echo hello sls >> /var/log/nginx/test.log; sleep 1;done
              imagePullPolicy: Always
              volumeMounts:
                - mountPath: /var/log/nginx
                  name: nginx-log
            - name: logtail
              image: registry-vpc.${RegionId}.aliyuncs.com/log-service/logtail:latest
              env:
                - name: ALIYUN_LOGTAIL_USER_ID
                  value: "${Aliuid}"
                - name: ALIYUN_LOGTAIL_USER_DEFINED_ID
                  value: nginx-log-sidecar
                - name: ALIYUN_LOGTAIL_CONFIG
                  value: /etc/ilogtail/conf/${RegionId}/ilogtail_config.json
                - name: aliyun_logs_machinegroup
                  value: k8s-group-app-alpine
              imagePullPolicy: Always
              volumeMounts:
                - mountPath: /var/log/nginx
                  name: nginx-log
                - mountPath: /stdlog
                  name: stdlog
          volumes:
            - emptyDir: {}        #文本文件日志存儲到emptyDir卷
              name: nginx-log
            - name: stdlog        #標準輸出日志存儲到stdlog卷
              csi:
                driver: stdlogplugin.csi.alibabacloud.com
  2. 獲取Pod信息。

    kubectl get pods -l app=nginx-log-sidecar-demo

    預期返回結果如下:

    NAME                                      READY   STATUS    RESTARTS   AGE
    nginx-log-sidecar-demo-5d85d8497c-jzvpg   2/2     Running   0          21m
    nginx-log-sidecar-demo-5d85d8497c-tkpk8   2/2     Running   0          21m
  3. 查看日志。

    • 通過kubectl命令查看日志

      執行exec命令進入容器后,通過tail命令查看stdlog卷中日志文件的內容。

      kubectl exec -it nginx-log-sidecar-demo-5d85d8497c-jzvpg -c logtail -- bash
      ls /stdlog
      tail /stdlog/nginx-log-demo/0.log -n 5

      示例如下:

      sidecar日志采集新.png

    • 通過彈性容器實例控制臺查看日志

      在實例詳情頁選擇日志頁簽,然后選擇容器查看日志內容。

      sidecar日志采集新2.png

步驟二:配置Logtail采集日志

部署Sidecar容器后,您需要在日志服務控制臺創建Logtail配置來采集日志。

  1. 登錄日志服務控制臺

  2. 接入數據區域,單擊正則 - 文本日志

  3. 選擇日志空間,單擊下一步

    請選擇Project和Logstore。如果沒有,您也可以直接單擊立即創建進行創建。

  4. 創建機器組。

    如果您已有可用的機器組 ,可直接單擊使用現有機器組,跳過該步驟。

    1. 按界面提示確認已創建機器組,然后單擊確認安裝完畢

    2. 配置機器組相關參數,單擊下一步

      機器組標識選擇用戶自定義標識,將步驟一配置的環境變量ALIYUN_LOGTAIL_USER_DEFINED_ID填入用戶自定義標識框中。本文示例為nginx-log-sidecar

      Sidecar3

  5. 配置機器組。

    選擇目標機器組,將該機器組從源機器組移動到應用機器組,然后單擊下一步

  6. 設置Logtail配置。

    Logtail支持通過極簡模式、正則模式、分隔符模式、JSON模式等模式采集文本日志。更多信息,請參見概述

    說明

    是否為Docker文件的配置項請保持關閉。

    • 標準輸出示例

      采集標準輸出時,日志路徑為stdlog卷在容器的掛載路徑,本文示例為/stdlog

      Sidecar4

    • 文本文件示例

      采集文本文件時,日志路徑為共享Volume在容器的掛載路徑,本文示例為/var/log/nginx

      Sidecar5

  7. 查詢分析配置。

    默認已設置索引,您也可以根據業務需求,重新設置索引。具體操作,請參見配置索引

  8. 查看采集的ECI日志。

    完成上述配置后,日志服務SLS即可開始采集ECI日志。下圖為標準輸出日志采集到SLS日志庫的效果示例。

    Sidecar6