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

為Kubernetes和日志服務配置Log4JAppender

本文介紹在不需要修改應用代碼的前提下,通過配置一個YAML文件,將阿里云容器服務Kubernetes集群中產生的日志輸出到阿里云日志服務。此外,通過在Kubernetes集群上部署一個示例API程序,來進行演示。

前提條件

  • 您已經開通容器服務,并且創建了Kubernetes集群。

    本示例中,創建的Kubernetes集群位于華東1(杭州)。

  • 啟用AccessKey或RAM,確保有足夠的訪問權限。本例中使用AccessKey。

背景信息

Log4j是Apache的一個開放源代碼項目。Log4j由三個重要組件構成:日志信息的優先級、日志信息的輸出目的地、日志信息的輸出格式。通過配置Log4jAppender,您可以控制日志信息輸送的目的地是控制臺、文件、GUI組件,甚至是套接口服務器、NT的事件記錄器、UNIX Syslog守護進程等。

操作步驟

  1. 在阿里云日志服務上配置Log4jAppender。

    1. 創建一個日志服務Project。

      本示例創建一個名為k8s-log4j、與Kubernetes集群位于同一地域(華東 1)的Project。具體操作,請參見創建Project

      說明

      在配置時,一般會使用與Kubernetes集群位于同一地域的日志服務Project。因為當Kubernetes集群和日志服務Project位于同一地域時,日志數據會通過內網進行傳輸,從而避免了因地域不一致而導致的數據傳輸外網帶寬費用和耗時,從而實現實時采集、快速檢索的最佳實踐。

      創建project

    2. 為k8s-log4j的Project創建一個Logstore。

      本示例創建名為k8s-logstore的日志庫。具體操作,請參見創建Logstore配置日志庫信息

    3. 在k8s-logstore創建完成后,頁面會提示您創建數據接入向導。

      創建數據接入向導

    4. 選擇自定義代碼下的log4jAppender,根據頁面引導進行配置。

      本示例使用了默認配置,您可根據日志數據的具體使用場景,進行相應的配置。自定義數據

  2. 在Kubernetes集群中配置log4j。

    本示例使用demo-deploymentdemo-Service示例YAML文件進行演示。

    1. 連接到您的Kubernetes集群。

    2. 獲取demo-deployment.yaml文件并配置環境變量JAVA_OPTS

      demo-deployment.yaml文件的示例編排如下。

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: log4j-appender-demo-spring-boot
        labels:
          app: log4j-appender
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: log4j-appender
        template:
          metadata:
            labels:
              app: log4j-appender
          spec:
            containers:
            - name: log4j-appender-demo-spring-boot
              image: registry.cn-hangzhou.aliyuncs.com/jaegertracing/log4j-appender-demo-spring-boot:0.0.2
              env:
                - name: JAVA_OPTS                ##注意
                  value: "-Dproject={your_project} -Dlogstore={your_logstore} -Dendpoint={your_endpoint} -Daccess_key_id={your_access_key_id} -Daccess_key={your_access_key_secret}"
              ports:
              - containerPort: 8080
      說明

      其中:

      • -Dproject:您所使用的阿里云日志服務Project的名稱。本示例中為k8s-log4j。

      • -Dlogstore:您所使用的阿里云日志服務Logstore的名稱。本示例中為k8s-logstore。

      • -Dendpoint:日志服務的服務入口,用戶需要根據日志Project所屬的地域,配置自己的服務入口,參見服務入口進行查詢。本示例中為cn-hangzhou.log.aliyuncs.com。

      • -Daccess_key_id:您的AccessKey ID。

      • -Daccess_key:您的AccessKey Secret。

    3. 在命令行中執行以下命令,創建deployment。

      kubectl create -f demo-deployment.yaml
    4. 獲取demo-Service.yaml文件,并運行以下命令創建service。

      您不需要修改demo-Service.yaml中的配置。

      kubectl create -f demo-service.yaml
  3. 測試生成Kubernetes集群日志。

    您可以使用kubectl get命令查看資源對象部署狀況,等待deployment和service部署成功后,執行kubectl get svc查看service的外部訪問IP,即EXTERNAL-IP。

    命令如下:

    kubectl get svc

    結果如下:

    NAME                      TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)          AGE
    log4j-appender-demo-spring-boot-svc   LoadBalancer   172.21.XX.XX   120.55.XXX.XXX   8080:30398/TCP   1h

    在本示例中,通過運行login命令來測試生成Kubernetes集群日志。其中K8S_SERVICE_IP即為EXTERNAL-IP

    說明

    您可以在GitHub log4j-appender-demo中查看完整的API集合。

    curl http://${K8S_SERVICE_IP}:8080/login?name=bruce
  4. 在阿里云日志服務中查看日志。

    1. Project列表中,單擊目標Project,進入對應的Project詳情頁面。

    2. 在對應的日志庫k8s-logstore右側的圖標圖標,選擇查詢分析,查看Kubernetes集群輸出的日志,如下所示。

      查詢分析