Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

Configure um Log4j Appender no YAML da carga de trabalho para enviar logs de aplicações Java no cluster diretamente a um projeto do Simple Log Service (SLS). Esse método permite coletar logs sem agente.

O Log4j é um framework de logging open-source mantido pela Apache e projetado para aplicações Java. Seus componentes principais incluem Appenders (destinos de saída), Layouts (formatos de saída) e Filters.

Pré-requisitos

Etapa 1: Configurar o Log4j Appender

Esta etapa mostra como criar um projeto SLS e um Logstore. Após configurar o Log4j Appender como fonte de dados do Logstore, a aplicação Java envia logs diretamente ao SLS.

Crie o projeto SLS na mesma região do cluster. Quando ambos estão na mesma região, os dados de log trafegam pela rede interna, o que evita custos de largura de banda pública e reduz a latência.

Para mais informações sobre o faturamento de projetos SLS, consulte Visão geral do faturamento .
  1. Crie um projeto SLS.

    Esta seção descreve apenas os parâmetros principais. Mantenha os valores padrão para os demais parâmetros. Para mais informações, consulte Gerencie um projeto.

    • Region: Selecione a mesma região do cluster ACK. Neste exemplo, China (Hangzhou) está selecionada.

    • Project Name: Insira um nome para o projeto. Este exemplo utiliza k8s-log4j.

  2. Crie um Logstore no projeto.

    Neste exemplo, o Logstore Name é k8s-logstore. Mantenha os valores padrão para os demais parâmetros. Para mais informações, consulte Criar um Logstore.

  3. Após criar o k8s-logstore, siga as instruções na tela para ingerir dados.

  4. Localize o cartão de ingestão do Log4j e siga as orientações na tela para concluir a ingestão.

    Este exemplo utiliza a configuração padrão. Ajuste as configurações conforme o caso de uso específico. No assistente de fonte de dados do Log4j, conclua as seguintes etapas: Select a Logstore, Configure Data Source e Configure Search & Analysis. Na área de instruções, clique em no link View Help para obter orientações detalhadas e, em seguida, clique em Next para finalizar a configuração.

Etapa 2: Integrar o Log4j

Esta etapa implanta uma aplicação Spring Boot de exemplo para demonstrar a integração do plug-in Log4j Appender em uma aplicação Java. Após a integração, o contêiner transmite a configuração do SLS por meio da variável de ambiente JAVA_OPTS durante a inicialização. O Log4j lê esses parâmetros automaticamente e envia os logs ao SLS em tempo real.

  1. Baixe o arquivo demo-deployment.yaml e configure a variável de ambiente JAVA_OPTS.

    O arquivo-fonte está disponível em demo-deployment.

    Visualize o arquivo de exemplo

    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: Nome do projeto SLS. Neste exemplo, k8s-log4j.

    • -Dlogstore: Nome do Logstore SLS. Neste exemplo, k8s-logstore.

    • -Dendpoint: Endpoint de serviço da região onde o projeto está localizado. Para mais informações, consulte Endpoints de serviço. Este exemplo utiliza cn-hangzhou.log.aliyuncs.com.

    • -Daccess_key_id: Substitua pelo seu AccessKey ID.

    • -Daccess_key: Substitua pelo seu AccessKey secret.

  2. Crie o Deployment.

    kubectl create -f demo-deployment.yaml
  3. Baixe o arquivo demo-service.yaml. Mantenha a configuração padrão.

    O arquivo-fonte está disponível em demo-Service.

    Visualize o arquivo de exemplo

    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. Implante o arquivo demo-service.yaml para criar o Service.

    kubectl create -f demo-service.yaml

Etapa 3: Testar a coleta de logs

Após implantar o Deployment e o Service, verifique se os logs estão sendo gravados no SLS acessando o serviço pelo endereço IP externo (EXTERNAL-IP), o que gera entradas de log.

  1. Visualize o EXTERNAL-IP do Service.

    kubectl get svc

    Saída 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. Acesse o endpoint /login para gerar uma entrada de log de teste.

    Substitua K8s_SERVICE_IP pelo EXTERNAL-IP.

    curl http://${K8S_SERVICE_IP}:8080/login?name=bruce
    Para o conjunto completo de APIs, consulte GitHub log4j-appender-demo .

Etapa 4: Visualizar logs

Faça login no console SLS para consultar e analisar os logs coletados.

  1. Faça login no console do Simple Log Service.

  2. Na seção Projects, clique em no projeto desejado para abrir a página de detalhes.

  3. Clique em no ícone 图标 à direita do nome do Logstore e selecione Query and Analysis para visualizar os logs coletados do cluster.

    Os resultados da consulta mostram a entrada de log, em que o campo message contém User login successfully, requestID=hIAgSGKGyA name=bruce. Isso confirma que os logs da aplicação foram coletados com sucesso no SLS.

Documentação relacionada