Todos os produtos
Search
Central de documentação

Simple Log Service:Add-on do Alibaba Cloud Log Service para Splunk

Última atualização: Aug 26, 2026

Transmita logs do Log Service para o Splunk em tempo real com este add-on.

Como funciona

O add-on:

  • Cria um grupo de consumidores do Log Service por meio de uma entrada de dados do Splunk para ingerir logs em tempo real.

  • Envia os logs coletados para um indexador do Splunk usando o protocolo privado do Splunk ou o HTTP Event Collector (HEC).

Nota

Este é um add-on de coleta de dados. Instale-o apenas em um heavy forwarder do Splunk. Não o instale em indexadores ou search heads.

image

Conceitos principais

image
  • Uma entrada de dados atua como consumidor para ingestão de logs.

  • Um grupo de consumidores contém vários consumidores que ingerem dados conjuntamente de um logstore. Cada log é processado por apenas um consumidor para evitar duplicatas.

  • Um logstore contém múltiplos shards.

    • Cada shard é atribuído a apenas um consumidor.

    • Um consumidor pode receber a atribuição de vários shards.

  • O nome de cada consumidor combina o nome do grupo de consumidores, o hostname, o nome do processo e o tipo de protocolo de evento, garantindo unicidade dentro do grupo.

Use consumer groups to ingest logs.

Pré-requisitos

  • Obtenha um par de AccessKey para o Log Service.

    Use o Resource Access Management (RAM) do Alibaba Cloud para obter um par de AccessKey para seu projeto do Log Service. AccessKey pair.

    Use o assistente de permissões para configurar as permissões do RAM. Configure the permission assistant. O código abaixo mostra uma política comum do RAM:

    Nota

    Substitua <Project name> e <logstore name> pelos nomes reais. Há suporte para caracteres curinga (*).

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/<Project name>/logstore/<LogStore name>",
            "acs:log:*:*:project/<Project name>/logstore/<LogStore name>/*"
          ],
          "Effect": "Allow"
        }
      ]
    }
  • Verifique a versão do Splunk e o ambiente de execução.

    • Certifique-se de usar a versão mais recente do add-on.

    • Sistema operacional: Linux, macOS ou Windows.

    • Versão do Splunk: heavy forwarder do Splunk 8.0 ou posterior e indexador do Splunk 7.0 ou posterior.

  • Configure o HTTP Event Collector (HEC) do Splunk. Configure HTTP Event Collector on Splunk Enterprise.

    Necessário apenas se você usar o HEC. Pule esta etapa caso use o protocolo privado do Splunk.

    Nota

    Ao criar um token do Event Collector, não há suporte para o recurso de reconhecimento do indexador.

  • Conclua a coleta de logs de contêiner do cluster Kubernetes.

    Antes de enviar logs para o Splunk, certifique-se de que a coleta de logs de contêiner do cluster Kubernetes esteja concluída e que o Log Service já contenha os dados coletados. Recomendamos implantar o LoongCollector ou Logtail como DaemonSet no cluster ACK para coletar a saída padrão e arquivos de log dos contêineres no Log Service. Para mais informações, consulte @xref node="5903944" Kubernetes container log collection @/xref .

    Nota

    Só é possível entregar logs ao Splunk com o add-on depois que o Log Service contiver os dados de log de contêiner coletados.

Instalar o add-on

Faça login na interface web do Splunk e use um dos métodos a seguir para instalar o add-on.

Nota

Este é um add-on de coleta de dados. Instale-o apenas em um heavy forwarder do Splunk. Não o instale em indexadores ou search heads.

  • Método 1: Instalação via Splunkbase

    1. Clique no ícone Splunk-004.

    2. Na página Apply, clique em Browse more apps.

    3. Pesquise Alibaba Cloud Log Service Add-on for Splunk e clique em Install.

    4. Reinicie o serviço do Splunk conforme solicitado.

  • Método 2: Instalação a partir de arquivo

    1. Clique no ícone Splunk-004.

    2. Na página Apply, clique em Install app from file.

    3. Selecione o arquivo .tgz desejado e clique em Upload.

      Baixe o arquivo .tgz necessário em Splunkbase.

    4. Clique em Install.

    5. Reinicie o serviço do Splunk conforme solicitado.

Configurar o add-on

Se o Splunk não estiver em execução em uma instância ECS do Alibaba Cloud, use um par de AccessKey para acessar o Log Service:

  1. Na interface web do Splunk, clique em Alibaba Cloud Log Service Add-on for Splunk.

  2. Configure uma conta global.

    Acesse a aba Configure > Account e configure o par de AccessKey para o Log Service.

    Nota

    Os campos Username e Password correspondem, respectivamente, ao AccessKey ID e ao AccessKey Secret do Log Service.

  3. Defina o nível de log do add-on.

    Acesse a aba Configure > Logging e defina o nível de log do add-on.

  4. Crie uma entrada de dados.

    1. Clique em Input para acessar a página Input.

    2. Clique em Create New Input para criar uma nova entrada de dados.

      Tabela 1. Parâmetros da entrada de dados

      Parâmetro

      Obrigatório e formato

      Descrição

      Exemplo

      Name

      Sim, String

      Nome globalmente exclusivo para a entrada de dados.

      Nenhum

      Interval

      Sim, Inteiro

      Intervalo em segundos antes de o processo de entrada de dados reiniciar após a saída.

      Valor padrão: 10

      Index

      Sim, String

      Índice do Splunk.

      Nenhum

      SLS AccessKey

      Sim, String

      Par de AccessKey do Alibaba Cloud (AccessKey ID e AccessKey Secret).

      Nota

      Os campos Username e Password correspondem, respectivamente, ao AccessKey ID e ao AccessKey Secret do Log Service.

      Nome de usuário e senha configurados para a conta global.

      SLS endpoint

      Sim, String

      Endpoint do Log Service. Endpoints.

      • cn-huhehaote.log.aliyuncs.com

      • https://cn-huhehaote.log.aliyuncs.com

      SLS project

      Sim, String

      Projeto do Log Service. Manage a project.

      Nenhum

      SLS logstore

      Sim, String

      Logstore do Log Service. Para mais informações, consulte Gerenciar um logstore.

      Nenhum

      SLS consumer group

      Sim, String

      Grupo de consumidores do Log Service. Para escalonamento horizontal, use o mesmo nome de grupo de consumidores em várias entradas de dados. Use consumer groups to ingest logs.

      Nenhum

      SLS cursor start time

      Sim, String

      Hora de início da ingestão de logs. Aplica-se apenas quando o grupo de consumidores é criado pela primeira vez. Grupos existentes retomam a partir do último checkpoint salvo.

      Nota

      Este horário baseia-se no momento em que o log chega ao servidor.

      Valores válidos: begin, end ou uma hora no formato ISO 8601 (por exemplo, 2018-12-26 0:0:0+8:00).

      SLS heartbeat interval

      Sim, Inteiro

      Intervalo de heartbeat em segundos entre o consumidor e o servidor.

      Valor padrão: 60

      SLS data fetch interval

      Sim, Inteiro

      Intervalo em segundos para buscar logs. Evite valores baixos quando a frequência de logs for reduzida.

      Valor padrão: 1

      Consumer processor

      Não, String

      Processador de consumidor contendo SPL (por exemplo, consume-processor-1). Deve ser criado previamente no projeto. Apenas Linux x86_64. Manage consumer processors.

      Nenhum

      Topic filter

      Não, String

      Lista de tópicos separados por ponto e vírgula para filtragem. Logs correspondentes a qualquer tópico listado não são enviados ao Splunk.

      "TopicA;TopicB" indica que logs com o tópico "TopicA" ou "TopicB" são ignorados.

      Unfolded fields

      Não, JSON

      Mapeamento formatado em JSON de tópicos para listas de campos: {"topicA": ["field_nameA1", "field_nameA2", ...], "topicB": ["field_nameB1", "field_nameB2", ...], ...}

      {"actiontrail_audit_event": ["event"] } significa que, para logs com o tópico actiontrail_audit_event, a string no campo event do log é expandida em um objeto JSON.

      Event source

      Não, String

      Origem dos dados para o evento do Splunk.

      Nenhum

      Event source type

      Não, String

      Tipo de origem para o evento do Splunk.

      Nenhum

      Event retry times

      Não, Inteiro

      Defina como 0 para tentativas ilimitadas.

      Valor padrão: 0

      Event protocol

      Sim

      Protocolo para envio de eventos do Splunk. Se você selecionar Private protocol, os parâmetros de HEC abaixo não se aplicam.

      • HTTP para HEC

      • HTTPS para HEC

      • Private protocol

      HEC host

      Sim, String. Válido apenas quando Event protocol estiver definido como uma opção HEC.

      Host do HEC. Set up and use HTTP Event Collector in Splunk Web.

      Nenhum

      HEC port

      Sim, Inteiro. Válido apenas quando Event protocol estiver definido como uma opção HEC.

      Porta do HEC.

      Nenhum

      HEC token

      Sim, String. Válido apenas quando Event protocol estiver definido como uma opção HEC.

      Token do HEC. About Event Collector tokens.

      Nenhum

      HEC timeout

      Sim, Inteiro. Válido apenas quando Event protocol estiver definido como uma opção HEC.

      Tempo limite do HEC em segundos.

      Valor padrão: 120

Caso o Splunk esteja em execução em uma instância ECS do Alibaba Cloud, anexe uma função do RAM à instância para acessar o Log Service:

Importante

Certifique-se de que o Splunk esteja em execução na instância ECS à qual a função do RAM está anexada.

  1. Anexe uma função do RAM à instância.

    Crie uma função do RAM, conceda as permissões necessárias e anexe-a à instância ECS. Configure an instance RAM role.

    Para a política de permissões da função do RAM, consulte a política na seção Prerequisites.

  2. Na interface web do Splunk, clique em Alibaba Cloud Log Service Add-on for Splunk.

  3. Configure uma conta global.

    Acesse a aba Configure > Account e configure as informações da função do RAM para a instância ECS. Adicione uma conta com Username definido como ECS_RAM_ROLE e Password definida como o nome da RAM role that you created in Step 1.

  4. Crie uma entrada de dados.

    1. Clique em Input para acessar a página Input.

    2. Clique em Create New Input para criar uma nova entrada de dados.

      Defina o parâmetro SLS AccessKey como a conta global que você created in Step 3. Para obter informações sobre os outros parâmetros, consulte Data input parameters.

Pesquisar e visualizar logs

  • Pesquisar dados

    Certifique-se de que a entrada de dados esteja ativada. Na home do Splunk, clique em Search & Reporting para consultar os logs de auditoria coletados.

    No Splunk Enterprise, selecione o aplicativo App: Search & Reporting. Na barra de pesquisa, insira * como caractere curinga para pesquisar todos os eventos e defina o intervalo de tempo como Last 24 hours. Os resultados da pesquisa exibem eventos de log de auditoria da plataforma cloud no formato JSON, incluindo campos como eventName, eventSource, eventTime e sourceIp.

  • Visualizar logs internos

    • Execute index="_internal" | search "SLS info" para visualizar informações relacionadas ao Log Service.

    • Execute index="_internal" | search "error" para visualizar mensagens de erro de execução.

Desempenho e segurança

  • Especificações de desempenho

    Os fatores a seguir afetam o throughput do add-on:

    • Endpoint: Use um endpoint de rede pública, rede clássica, VPC ou aceleração global. Recomendamos endpoints de rede clássica ou VPC. Endpoints.

    • Largura de banda: Entre o Log Service e o heavy forwarder, e entre o heavy forwarder e o indexador.

    • Capacidade de processamento do indexador do Splunk.

    • Número de shards: Mais shards aumentam a capacidade de transferência de dados. Defina a quantidade com base na taxa de geração de logs da origem. Manage shards.

    • Quantidade de entradas de dados do Splunk: Mais entradas de dados associadas ao mesmo grupo de consumidores aumentam o throughput.

      Nota

      A concorrência dos consumidores depende do número de shards no logstore do Log Service.

    • CPU e memória: Cada entrada de dados geralmente usa de 1 a 2 GB de memória e um núcleo de CPU.

    Uma única entrada de dados pode ingerir logs a uma taxa de 1–2 MB/s. Defina o número de shards com base na taxa de geração de logs da origem.

    Por exemplo, um logstore que produz 10 MB/s requer pelo menos 10 shards e 10 entradas de dados. Em uma única máquina, isso exige 10 núcleos de CPU e 12 GB de memória.

  • Alta disponibilidade

    Grupos de consumidores salvam checkpoints no servidor; assim, se um consumidor parar, outro assumirá a partir do último checkpoint. Distribua as entradas de dados entre máquinas para garantir redundância. Para maior tolerância a falhas, inicie mais entradas de dados do que o número de shards disponíveis.

  • Uso de HTTPS

    • Log Service

      Se o endpoint começar com https://, como https://cn-beijing.log.aliyuncs.com, a conexão com o Log Service será automaticamente criptografada via HTTPS.

      O certificado do servidor *.aliyuncs.com é emitido pela GlobalSign. Por padrão, a maioria das máquinas Linux e Windows confia automaticamente neste certificado. No caso raro de uma máquina não confiar neste certificado, consulte Install a trusted root CA or self-signed certificate.

    • Splunk

      Para usar o HEC sobre HTTPS, ative o SSL nas configurações globais do HEC no Splunk. Configure HTTP Event Collector on Splunk Enterprise.

  • Proteção de armazenamento do par de AccessKey

    O par de AccessKey do Log Service e o token HEC do Splunk são armazenados no repositório criptografado do Splunk para evitar vazamento de credenciais.

Solução de problemas

  • Erros de configuração

    • Uma verificação básica de configuração é executada ao criar ou modificar uma entrada de dados. Data input parameters.

    • Ocorre um erro de configuração do Log Service, como falha na criação de um grupo de consumidores.

      • Comando:index="_internal" | search "error"

      • Log de erro:

        aliyun.log.consumer.exceptions.ClientWorkerException: 
        error occour when create consumer group, 
        errorCode: LogStoreNotExist, 
        errorMessage: logstore xxxx does not exist
      • Erro ConsumerGroupQuotaExceed

        Um logstore suporta até 20 grupos de consumidores. Exclua grupos desnecessários no console do Log Service caso esteja próximo do limite. Exceder 20 grupos aciona um erro ConsumerGroupQuotaExceed.

  • Erros de permissão

    • Sem permissão para acessar o Alibaba Cloud Log Service

      • Comando:index="_internal" | search "error"

      • Log de erro:

        aliyun.log.consumer.exceptions.ClientWorkerException: 
        error occour when create consumer group, 
        errorCode: SignatureNotMatch, 
        errorMessage: signature J70VwxYH0+W/AciA4BdkuWxK6W8= not match
    • Falha na autenticação RAM do ECS

      • Comando:index="_internal" | search "error"

      • Log de erro:

        ECS RAM Role detected in user config, but failed to get ECS RAM credentials. Please check if ECS instance and RAM role 'ECS-Role' are configured appropriately.

        O nome ECS-Role é um espaço reservado para o nome real da sua função do RAM.

      • Possíveis causas:

        • Confirme se o parâmetro SLS AccessKey na data input está configurado para usar a conta global que possui a função do RAM.

        • Verifique se a conta global está corretamente configurada para a função do RAM. O nome de usuário deve ser ECS_RAM_ROLE e a senha deve ser o nome da função do RAM.

        • Certifique-se de que a função do RAM esteja anexada à instância ECS.

        • Verifique se a entidade confiável da função do RAM é um serviço do Alibaba Cloud e se o serviço confiável é o Elastic Compute Service (ECS).

        • Confirme se a instância ECS com a função do RAM anexada é a mesma máquina que executa o Splunk.

    • Sem permissão para acessar o HEC

      • Comando:index="_internal" | search "error"

      • Log de erro:

        ERROR HttpInputDataHandler - Failed processing http input, token name=n/a, channel=n/a, source_IP=127.0.0.1, reply=4, events_processed=0, http_input_body_size=369
        
        WARNING pid=48412 tid=ThreadPoolExecutor-0_1 file=base_modinput.py:log_warning:302 | 
        SLS info: Failed to write [{"event": "{\"__topic__\": \"topic_test0\", \"__source__\": \"127.0.0.1\", \"__tag__:__client_ip__\": \"10.10.10.10\", \"__tag__:__receive_time__\": \"1584945639\", \"content\": \"goroutine id [0, 1584945637]\", \"content2\": \"num[9], time[2020-03-23 14:40:37|1584945637]\"}", "index": "main", "source": "sls log", "sourcetype": "http of hec", "time": "1584945637"}] remote Splunk server (http://127.0.0.1:8088/services/collector) using hec. 
        Exception: 403 Client Error: Forbidden for url: http://127.0.0.1:8088/services/collector, times: 3
      • Possíveis causas:

        • O HEC não está configurado ou ativado.

        • A configuração do HEC na entrada de dados está incorreta. Por exemplo, ao usar HTTPS, é necessário ativar a configuração de SSL.

        • Verifique se o recurso de reconhecimento do indexador está desativado para o token do HEC.

    • Latência de consumo

      Visualize o status do grupo de consumidores no console do Log Service. Step 2: View the status of the consumer group.

      Para resolver a latência de consumo, aumente o número de shards ou crie mais entradas de dados com o mesmo grupo de consumidores. Performance specifications.

    • Instabilidade de rede

      • Comando:index="_internal" | search "SLS info: Failed to write"

      • Log de erro:

        WARNING pid=58837 tid=ThreadPoolExecutor-0_0 file=base_modinput.py:log_warning:302 |
        SLS info: Failed to write [{"event": "{\"__topic__\": \"topic_test0\", \"__source__\": \"127.0.0.1\", \"__tag__:__client_ip__\": \"10.10.10.10\", \"__tag__:__receive_time__\": \"1584951417\", \"content2\": \"num[999], time[2020-03-23 16:16:57|1584951417]\", \"content\": \"goroutine id [0, 1584951315]\"}", "index": "main", "source": "sls log", "sourcetype": "http of hec", "time": "1584951417"}] remote Splunk server (http://127.0.0.1:8088/services/collector) using hec. 
        Exception: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')), times: 3

      O add-on tenta novamente de forma automática. Se o problema persistir, entre em contato com o administrador da rede.

    • Alterar a hora de início do consumo

      Nota

      O parâmetro SLS cursor start time aplica-se apenas quando o grupo de consumidores é criado pela primeira vez. Grupos existentes retomam a partir do último checkpoint.

      1. Na página Input da interface web do Splunk, desative a entrada de dados alvo.

      2. Faça login no console do Log Service. Na seção Data Consumption do logstore alvo, exclua o grupo de consumidores correspondente.

      3. Na página Input da interface web do Splunk, clique em Actions > Edit ao lado da entrada de dados alvo. Modifique o parâmetro SLS cursor start time e reinicie a entrada de dados.