Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Collect Log4j logs from Java applications to SLS

Última actualización: Sep 04, 2026

Al configurar un Appender de Log4j en el YAML de su carga de trabajo, puede enviar registros desde las aplicaciones Java de su clúster directamente a un proyecto de Simple Log Service (SLS). Este método permite la recopilación de registros sin agentes.

Log4j es un framework de registro de código abierto mantenido por Apache y diseñado para aplicaciones Java. Sus componentes principales incluyen Appenders (destinos de salida), Layouts (formatos de salida) y Filters.

Requisitos previos

Paso 1: Configurar el Appender de Log4j

En este paso se muestra cómo crear un proyecto de SLS y un logstore. Una vez que configure el Appender de Log4j como origen de datos del logstore, su aplicación Java podrá enviar registros directamente a SLS.

Cree el proyecto de SLS en la misma región que su clúster. Al encontrarse en la misma región, los datos de registro se transmiten a través de la red interna, lo que evita costos de ancho de banda público y reduce la latencia de red.

Para obtener más información sobre la facturación de proyectos de SLS, consulte Billing overview .
  1. Cree un proyecto de SLS.

    Esta sección describe únicamente los parámetros clave. Puede conservar los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Manage a project.

    • Region: Seleccione la misma región que su clúster ACK. En este ejemplo, se selecciona China (Hangzhou).

    • Project Name: Introduzca un nombre para el proyecto. Este ejemplo utiliza k8s-log4j.

  2. Cree un logstore en el proyecto.

    En este ejemplo, el Logstore Name es k8s-logstore. Puede conservar los valores predeterminados para el resto de los parámetros. Para obtener más información, consulte Create a Logstore.

  3. Una vez creado el logstore k8s-logstore, siga las indicaciones en pantalla para incorporar datos.

  4. Busque la tarjeta de incorporación de Log4j y siga las indicaciones en pantalla para completar la incorporación.

    Este ejemplo utiliza la configuración predeterminada. Puede ajustar los parámetros según su caso de uso específico. En el asistente de origen de datos de Log4j, complete los siguientes pasos: Select a Logstore, Configure Data Source y Configure Search & Analysis. En el área de instrucciones, haga clic en el enlace View Help para obtener orientación detallada y, a continuación, haga clic en Next para finalizar la configuración.

Paso 2: Integrar Log4j

Este paso despliega una aplicación Spring Boot de muestra para mostrarle cómo integrar el complemento Appender de Log4j en una aplicación Java. Tras la integración, el contenedor pasa la configuración de SLS mediante la variable de entorno JAVA_OPTS durante el inicio. Log4j lee automáticamente estos parámetros y envía los registros a SLS en tiempo real.

  1. Descargue el archivo demo-deployment.yaml y configure la variable de entorno JAVA_OPTS.

    El archivo fuente está disponible en demo-deployment.

    Ver el archivo de muestra

    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            #  Set the JAVA_OPTS environment variable.
                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

    Parámetros de JAVA_OPTS:

    • -Dproject: El nombre de su proyecto de SLS. En este ejemplo, k8s-log4j.

    • -Dlogstore: El nombre de su logstore de SLS. En este ejemplo, k8s-logstore.

    • -Dendpoint: El endpoint de servicio de la región donde se encuentra su proyecto. Para obtener más información, consulte Service Endpoints. Este ejemplo utiliza cn-hangzhou.log.aliyuncs.com.

    • -Daccess_key_id: Reemplace con su AccessKey ID.

    • -Daccess_key: Reemplace con su AccessKey secret.

  2. Cree el Deployment.

    kubectl create -f demo-deployment.yaml
  3. Descargue el archivo demo-service.yaml. Puede conservar la configuración predeterminada.

    El archivo fuente está disponible en demo-Service.

    Ver el archivo de muestra

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: log4j-appender
      name: log4j-appender-demo-spring-boot-svc
      namespace: default
    spec:
      ports:
      - port: 8080
        protocol: TCP
        targetPort: 8080
      selector:
        app: log4j-appender
      type: LoadBalancer
  4. Despliegue el archivo demo-service.yaml para crear el Service.

    kubectl create -f demo-service.yaml

Paso 3: Probar la recopilación de registros

Una vez desplegados el Deployment y el Service, puede comprobar que los registros se escriben en SLS accediendo al servicio a través de su dirección IP externa (EXTERNAL-IP), lo cual genera entradas de registro.

  1. Consulte la EXTERNAL-IP del Service.

    kubectl get svc

    Salida esperada:

    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
  2. Acceda al endpoint /login para generar una entrada de registro de prueba.

    Reemplace K8s_SERVICE_IP por EXTERNAL-IP.

    curl http://${K8S_SERVICE_IP}:8080/login?name=bruce
    Para consultar el conjunto completo de API, véase GitHub log4j-appender-demo .

Paso 4: Consultar registros

Puede iniciar sesión en la consola de SLS para consultar y analizar los registros recopilados.

  1. Inicie sesión en la consola de Simple Log Service.

  2. En la sección Projects, haga clic en el proyecto deseado para abrir su página de detalles.

  3. Haga clic en el icono 图标 situado a la derecha del nombre del logstore y seleccione Query and Analysis para ver los registros recopilados de su clúster.

    Los resultados de la consulta muestran la entrada de registro, donde el campo message contiene User login successfully, requestID=hIAgSGKGyA name=bruce. Esto confirma que los registros de la aplicación se han recopilado correctamente en SLS.

Documentación relacionada