Cenários de exportação do Cloud Logging: Elasticsearch

Neste cenário, veja como exportar registros selecionados do Logging para um cluster Elasticsearch (em inglês). O cenário pressupõe que há um cluster do Elasticsearch no Elastic Cloud (serviço gerenciado do Elasticsearch) disponível para ingestão de registros.

Se você for um cliente do Google Cloud, poderá começar a usar o Elasticsearch por meio do Elastic Cloud no Google Cloud Marketplace, que tem faturamento integrado por meio da sua conta do Google Cloud.

O Elasticsearch é um mecanismo de análise e pesquisa RESTful distribuído que fornece recursos e serviços avançados e otimizado para análise de registros, métricas e telemetria estruturados e não estruturados. O Elastic Cloud no Google Cloud oferece monitoramento e suporte líderes do setor, tanto do Elastic quanto do Google. Receba backups automáticos, upgrades e os patches de segurança mais recentes com pouca inatividade ou interrupções.

É possível usar um processo semelhante para autogerenciar o Elastic Stack na conta do Google Cloud.

Este cenário faz parte da série Padrões de design para a exportação do Logging.

Introdução

O Elastic Stack unifica todos os dados operacionais e traz a pesquisa rápida, confiável e relevante, além de análise em tempo real. O Beats, remetentes de dados leves do Elastic, ficam na borda ou são executados sem servidor como uma função do Cloud e são usados para coletar e ingerir dados. Eles são a maneira mais simples de ingerir dados no Elasticsearch para serem visualizados em Kibana.

O Logstash continua sendo uma ferramenta de ingestão útil se você quiser coletar dados de várias fontes e transformar significativamente os dados antes de fazer a ingestão no Elasticsearch ou exportar para uma variedade de saídas. O Beats e o Logstash podem ser usados juntos ou individualmente para enviar dados de registro relacionados ao Google Cloud ao Elasticsearch publicando esses eventos no Pub/Sub.

Beats

O Beats envia com módulos pré-empacotados com foco em monitoramento, alerta e geração de relatórios sobre registros e métricas. Este documento se concentra no Filebeat, porque serve como um bom ponto de partida em uma solução de observabilidade geral, adicionando outros módulos e integrações posteriormente.

Alguns dos casos de uso mais comuns do Beats incluem:

  • Como analisar e relatar dados de auditoria usando o Auditbeat
  • Como analisar arquivos e métricas de registros usando o Filebeat e o Metricbeat
  • Como monitorar dados em nuvem usando um Functionbeat (Função do Cloud) sem servidor
  • Manter informações do tráfego de rede usando a Packetbeat

O diagrama a seguir mostra um exemplo de uma arquitetura básica para exportar o Cloud Logging das Operações do Google para o Elasticsearch usando o Beats. O Filebeat para o módulo do Google Cloud coleta registros de auditoria, fluxo de VPC e firewall. Independentemente do ambiente conter contêineres, funções sem servidor, VMs ou aplicativos, os coletores do Cloud Logging são configurados para enviar os dados filtrados adequadamente a um tópico do Pub/Sub, que o Filebeat enviará para o Elasticsearch para ingestão e agregação para serem pesquisados e relatados no Kibana.

Exemplo de fluxo de ingestão do Google Cloud para o Elastic Cloud. Exemplo de fluxo de ingestão do Google Cloud para o Elastic Cloud.

Como configurar a exportação de registros em tempo real

Nesta seção, você criará o pipeline para a exportação de registros em tempo real do Logging para o Elasticsearch por meio do Filebeat, usando o Pub/Sub. Um tópico do Pub/Sub será criado para coletar recursos de geração de registros relevantes com filtragem refinada, depois que um serviço do Coletor for estabelecido e, por fim, o Filebeat for configurado.

Configurar um tópico do Pub/Sub

Siga as instruções para configurar um tópico do Pub/Sub que receberá os registros exportados. Nomeie o tópico como es-auditlogs-export. Os tópicos também precisam de uma assinatura. Por isso, por motivos de simplicidade, você pode criar uma assinatura com o mesmo nome. Use as configurações padrão ao configurar a assinatura. É possível definir as permissões de gerenciamento de identidade e acesso posteriormente.

Ativar a geração de registros de auditoria para todos os serviços

Os registros de auditoria de acesso a dados, exceto BigQuery, são desativados por padrão. Para ativar todos os registros de auditoria.

Você pode configurar os registros de auditoria no Console do Google Cloud.

  1. No Console do Cloud, acesse o menu IAM e administrador.

    Acessar IAM e administrador

  2. Clique em Registros de auditoria e em Configuração de auditoria padrão.

  3. Verifique se os tipos de registro corretos estão selecionados. Neste caso, Administrador de leitura, Leitura de dados e Gravação de dados.

  4. Clique em Save.

Como ativar os registros de auditoria do Google Cloud. Como ativar os registros de auditoria do Google Cloud.

Opcionalmente, ative os fluxos de VPC do Google Cloud e os registros de firewall. Opcionalmente, ative os fluxos de VPC do Google Cloud e os registros de firewall.

Refinar a exportação de registros com filtros

Depois de configurar exportações agregadas ou a exportação de registros, você precisa refinar os filtros de geração de registros para exportar registros de auditoria, registros relacionados a máquina virtual, registros de armazenamento e registros de banco de dados.

O filtro de geração de registros a seguir inclui os registros de auditoria atividade do administrador, acesso a dados e eventos do sistema e registros de tipos de recurso específicos. Nesse caso, os buckets do Compute Engine e do Cloud Storage e os recursos do BigQuery.

logName:"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR
"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR
"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR
resource.type:gce OR
resource.type=gcs_bucket OR
resource.type=bigquery_resource

Substitua PROJECT-ID pelo ID do projeto do Google Cloud. Para ver o ID do projeto, execute o comando gcloud config get-value project. Substitua SERVICE pelo nome do serviço do Cloud Run.

Criar um serviço do coletor

A criação do coletor do roteador de registros envia os registros corretos para o tópico do Pub/Sub que o Elasticsearch fará a ingestão. A chave é garantir que os filtros corretos sejam selecionados no objeto. Para mais informações, consulte Práticas recomendadas para trabalhar com os registros de auditoria do Google Cloud.

Para criar o coletor, siga estas etapas:

  1. No Console do Cloud, acesse o menu Registro de operações e clique em Roteador de registros.
  2. Verifique se o projeto do Google Cloud correto está selecionado e clique em Criar coletor.
  3. Selecione o tópico do Cloud Pub/Sub e clique em Avançar. Criar serviço de coletor.

  4. Criar um filtro avançado.

    Criar filtro avançado.

  5. Digite o texto a seguir na caixa de filtro, excluindo tudo que possa ter sido adicionado pelo sistema, como resource.type="global" e substituindo PROJECT-ID pelo nome do projeto.

    logName="projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR
    "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR
    "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR
    resource.type:"gce" OR resource.type="gcs_bucket" OR resource.type="bigquery_resource"
    

    Esse filtro serve como um procedimento de primeiros passos para os registros que podem ser ingeridos no Elasticsearch. Você pode configurar outros filtros com esse processo.

  6. Clique em Enviar filtro.

    Visualizador de registros.

  7. Digite o Nome do coletor gcp_logging_sink_pubsub e defina o Destino do coletor para o es-auditlogs-export criado anteriormente.

    Crie um coletor de registros.

    Depois de clicar em Criar coletor, você verá uma conta de serviço exclusiva com o direito de gravar registros no destino selecionado. Anote essas informações, porque elas serão necessárias para a próxima etapa.

No comando gcloud de exemplo a seguir, criamos um coletor chamado gcp_logging_sink_pubsub para enviar os registros de auditoria filtrados corretamente ao tópico es-auditlogs-export do Pub/Sub. No coletor, estão incluídos todos os projetos filhos e a especificação de filtragem para selecionar registros de auditoria específicos.

gcloud logging sinks create gcp_logging_sink_pubsub \
    pubsub.googleapis.com/projects/PROJECT-ID/topics/es-auditlogs-export \
    --log-filter='logName="projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR resource.type:"gce" OR resource.type="gcs_bucket" OR resource.type="bigquery_resource"'

A resposta ao comando será semelhante à seguinte:

Created [https://logging.googleapis.com/v2/projects/project-id/sinks/gcp_logging_sink_pubsub].
Please remember to grant `serviceAccount:p15060-5219@service-account-id.iam.gserviceaccount.com` the Pub/Sub Publisher role on the topic.
More information about sinks can be found at https://cloud.google.com/logging/docs/export/configure_export

A entrada serviceAccount retornada da chamada de API mostra qual identidade precisa ser adicionada ao tópico do Pub/Sub específico como um editor. Essa identidade representa uma conta de serviço do Google Cloud criada para a exportação. As exportações de entrada de registro desse coletor falharão até que você conceda a essa identidade permissões de editor ao tópico de destino. Para mais informações, consulte a próxima seção ou a documentação sobre Como conceder acesso a um recurso.

Definir permissões da política de IAM ao tópico do Pub/Sub

Ao adicionar a conta de serviço ao tópico es-auditlogs-export do Pub/Sub com as permissões de editor do Pub/Sub, você concede à conta de serviço permissão para publicar no tópico.

Para adicionar as permissões à conta de serviço, siga estas etapas:

  1. No Console do Cloud, abra a página Tópicos do Cloud Pub/Sub:

    ACESSAR A PÁGINA “TÓPICOS”

  2. Clique no nome do tópico es-auditlogs-export.

  3. Clique em Mostrar painel de informações e em Adicionar membro para configurar as permissões.

  4. Verifique se a permissão de Editor do Pub/Sub está selecionada.

    Selecione a permissão do editor do Pub/Sub.

Depois que você cria a exportação de registros usando esse filtro, os arquivos de registros começam a preencher o tópico do Pub/Sub no projeto configurado. Você confirma que o tópico está recebendo mensagens usando o Metrics Explorer no Cloud Monitoring. Usando o tipo de recurso e métrica a seguir, observe o número de operações de envio de mensagens durante um breve período. Se você tiver configurado a exportação corretamente, verá a atividade acima de 0 no gráfico, como na captura de tela a seguir.

  • Tipo de recurso: Cloud Pub/Sub Topic - pubsub_topic
  • Métrica: Publish message operations - pubsub.googleapis.com/topic/send_message_operation_count
  • Filtro: topic_id="es-auditlogs-export"

Metrics explorer

Configuração do Filebeat

Agora que o Google Cloud está monitorando os registros de auditoria e algumas outras métricas, é hora de instalar e configurar o Filebeat, o remetente de dados leve do Elastic. Você precisa instalar o Filebeat em um host, por exemplo, uma VM hospedada no mesmo projeto do projeto do Google Cloud.

O Filebeat é configurado para coletar e enviar os registros publicados ao Elasticsearch. No entanto, você pode configurá-lo facilmente para fazer muito mais, como monitorar métricas de aplicativos, contêineres e sistemas usando módulos pré-empacotados, muitos com painéis e visualizações pré-desenvolvidas.

Criar uma conta de serviço

A medida que você se prepara para configurar o Filebeat, é necessário gerar uma conta de serviço do Google Cloud e um arquivo de chave correspondente. Se você não estiver familiarizado com esse processo, consulte Como criar e gerenciar chaves de conta de serviço. Exporte o arquivo no formato JSON, nomeando-o como gcp-es-service-account.json.

Use esse arquivo com o Filebeat para se autenticar no tópico do Pub/Sub apropriado. Salve o arquivo no host que está executando o Filebeat. Você irá movê-lo e colocá-lo no local correto em uma etapa posterior.

Forneça o papel Editor do Pub/Sub à conta. Para mais informações, consulte Controle de acesso do Pub/Sub.

Papel de editor do Pub/Sub da conta de serviço.

Instalar o Filebeat

Este artigo pressupõe que você tenha um host que possa executar o Filebeat e uma implantação do Elastic Cloud existente. No entanto, leva apenas alguns minutos para criá-lo. Então, neste momento, se você não tiver um e precisar de orientação, acesse o Guia de primeiros passos do Elasticsearch.

Você pode seguir o guia de configuração e instalação de início rápido do Filebeat ou, em um sistema yum/RPM, execute o seguinte:

sudo yum install filebeat

Você também pode seguir as instruções encontradas no Kibana.

  1. Para começar, clique em Adicionar dados de registro na página inicial do Kibana.

    Adicione dados de registro no Kibana.

  2. Role para baixo e clique em Registros do sistema ou em outro módulo para ver instruções sobre como fazer o download e configurar o Filebeat. Você não precisa ativar este módulo.

    O Filebeat tem muitos módulos pré-empacotados. Se você quiser usá-los, basta ativá-los e configurá-los. Nesse procedimento, você não precisa ativar o módulo Registros do sistema. Em vez disso, você ativa o módulo do Google Cloud.

  3. Escolha seu sistema operacional.

    Se seu sistema operacional não estiver listado, siga o guia de Início rápido. Embora esta página ainda forneça informações que serão usadas mais tarde.

  4. Faça o download e a instalação do Filebeat de acordo com as instruções. Normalmente, é possível usar um comando curl.

    As implantações do Windows exigirão o download.

Configurar o Filebeat

O procedimento a seguir usa o usuário elastic pré-criado e a senha gerada. A prática recomendada é criar um papel/usuário exclusivo que seja usado em ambientes de produção.

Para detalhes sobre como configurar o papel e o usuário, consulte conceder privilégios e papéis necessários para setup{: target="external" class="external" track-type="tutorial" track-name="externalLink" track- metadata-position="body" }.

O usuário elastic é um superusuário e a conta precisa ser reservada apenas para fins administrativos ou de teste. Se a senha do usuário precisar ser redefinida, todos os lugares em que ela for usada também precisarão ser redefinidos. Por esse motivo, em ambientes de produção, é melhor configurar um usuário único para cada uma.

Há basicamente duas opções para estabelecer a autenticação entre o Filebeat e o Elasticsearch: configurar um keystore ou codificar as credenciais no arquivo de configuração filebeat.yml.

Para qualquer uma das opções a seguir, você precisará configurar cloud.id e cloud.auth.

É possível obter o cloud.id{: target="external" class="external" track-type="tutorial" track-name="externalLink" track-metadata-position="body" } nos passos anteriores Instalar as etapas do Filebeat em Kibana ou das implantações do serviço Elasticsearch da página de gerenciamento{: target="external" class="external" track-type="tutorial" track-name="externalLink" track-metadata -position="body" }.

Se você ainda não salvou a senha de autorização durante o processo de implantação, é possível redefinir a senha para o usuário elastic. Instruções para Redefinir a senha de usuário do Elastic.

Opção 1: como usar o Keystore

Uma maneira mais segura de autenticar o Filebeat com o Elastic Cloud é usar o Keystore do Filebeat para armazenar com segurança valores do Secret.

Você executa o comando filebeat keystore no host que está executando o Filebeat. Esse Keystore criptografa o ID do Cloud e a senha do usuário e oferece a capacidade de usá-los como variáveis no Filebeat ou qualquer outro Beat.

As etapas a seguir se aplicam a uma máquina Linux. Se você precisar de ajuda com o sistema operacional, consulte o Guia de início rápido, porque, os comandos são um pouco diferentes.

  1. Crie o Keystore:

    sudo filebeat keystore add ES_PWD

    Quando solicitado, cole a senha fornecida ao usuário do Elastic durante a implantação ou ao redefini-la. Caso contrário, se você tiver criado um usuário, digite a senha deste usuário.

  2. Adicione a implantação cloud.id:

    sudo filebeat keystore add CLOUD_ID

    Quando solicitado, cole o ID do cloud. (Não inclua aspas se você se referir às etapas Instalar Filebeat.)

  3. Atualize o arquivo filebeat.yml para usar essas novas variáveis, verificando se você está no diretório em que está o arquivo filebeat.yml ou digite o caminho completo do direório no arquivo existente.

    echo cloud.id: \"\$\{CLOUD_ID\}\" >> filebeat.yml
    echo cloud.auth: \"elastic:\$\{ES_PWD\}\" >> filebeat.yml
    
  4. Outros comandos do Keystore úteis:

    sudo filebeat keystore list: listar todos os Keystores

    sudo filebeat keystore --help: receber ajuda para o comando

  5. Pule para Configurar o módulo do Google Cloud.

Para mais informações, consulte a documentação do Keystore{: target="external" class="external" track-type="tutorial" track-name="externalLink" track-metadata-position="body" }.

Opção 2: como modificar o arquivo diretamente

Outra opção é seguir as instruções na página de instalação em Instalar o Filebeat, ou no guia Guia de início rápido, que descreve a configuração do arquivo filebeat.yml (o layout do diretório depende do seu ambiente), adicionando diretamente as informações da credencial a esse arquivo.

  1. Para que o Filebeat envie dados ao Elasticsearch, é preciso definir duas variáveis, cloud.id e cloud.auth, encontradas no arquivo filebeat.yml.

    Exemplo:

    # ====== Elastic Cloud =================
    cloud.id: "gcp_filebeat:dXMtY2VudHJhjQZjJkODdkOGJjNmJi" cloud.auth: "elastic:<password>"
    

    em que gcp_filebeat é o nome da implantação e <password> precisa ser substituído pela senha que você atribuiu.

Configurar o módulo do Google Cloud

Depois que o arquivo filebeat.yml for configurado para se conectar ao serviço Elasticsearch, você precisará ativar e configurar o módulo do Google Cloud.

  1. Ative o módulo googlecloud. Por exemplo, no tipo Linux:

    sudo filebeat modules enable googlecloud

    Dica: para descobrir quais módulos estão ativados, execute:

    sudo filebeat modules list

  2. Depois de ativar o módulo googlecloud, você precisa configurar o arquivo de configuração YAML específico encontrado no diretório modules.d. Pode ser /usr/share/filebeatou onde os arquivos foram extraídos.

Exemplo de configuração do googlecloud.yml que permite os registros de auditoria:

# open {path}/modules.d/googlecloud.yml, add the following

- module: googlecloud
  audit:
    enabled: true
    var.project_id: project-id
    var.topic: es-auditlogs-export
    var.subscription_name: es-auditlogs-export
    var.credentials_file: ${path.config}/gcp-es-service-account.json

O local do arquivo var.credentials_file depende do sistema. Execute o próximo comando test config para exibir o local do caminho de configuração e onde esse arquivo de credenciais precisa estar ativo. Consulte também a página de layout de diretório no Elastic.

  1. Verifique se as configurações de coleção vpcflow e firewall não estão ativadas.

    - module: googlecloud
      vpcflow:
        enabled: false
      firewall:
        enabled: false
    
  2. Teste a configuração executando um comando semelhante:

    sudo filebeat test config -e

  3. Coloque o arquivo JSON exportado, na etapa Criar uma conta de serviço, no local determinado pelo comando anterior para Config path.

    No Linux CentOS, com a versão 7.9.2 do Filebeat, o local é o local extraído:

    Caminho de configuração: [/home/UserName/filebeat-7.9.2-linux-x86_64]

    Se for instalado usando um sistema de empacotamento, o local será /etc/filebeat.

  4. Execute o comando de configuração, que garante que os registros importados sejam analisados e indexados corretamente, além de fornecer visualizações predefinidas, incluindo painéis.

    sudo filebeat setup

  5. Inicie o filebeat:

    sudo filebeat -e

Se ocorrer algum erro quando você iniciar o serviço, os registros precisarão fornecer algumas informações úteis. Um problema comum é o local em que o arquivo de configuração é colocado. O erro indicará onde o arquivo de configuração precisa estar localizado neste cenário. Outros problemas comuns estão relacionados à autenticação com a conta de serviço que você criou.

Caso você esteja com problemas na configuração, poste perguntas e procure situações semelhantes no fórum de discussão do Elastic.

Como usar os registros exportados

Depois que os registros exportados forem ingeridos pelo Elasticsearch, você pode fazer login no Kibana e conferir o painel de Auditoria do Google Cloud do Filebeat (em inglês), em que você consegue insights sobre:

  • Auditar locais de origem - representados por um mapa de coordenadas
  • Resultado dos eventos de auditoria ao longo do tempo - representado por um gráfico de barras verticais
  • Ação do evento de auditoria - representada por um gráfico de pizza
  • Auditar e-mail do usuário principal - representado por uma nuvem de tags
  • Auditar o user agent - representado por um gráfico de pizza
  • Nome do recurso de auditoria - representado por um gráfico de pizza
  • Eventos de auditoria - listados em uma tabela de dados ou no formato JSON

Painel de registros de auditoria.

Logstash

Se você quiser instalar e usar o Logstash , transformar seus dados e enviá-los ao Elasticsearch, siga estas etapas. Para começar, ou se você estiver tentando um cenário de teste, use a mesma VM que está executando o Beats. No entanto, em um ambiente de produção, é melhor ter um servidor dedicado.

Configurar o Logstash

  1. Faça o download e a instalação do Logstash seguindo o guia Primeiros passos com o Logstash. Esse guia oferece várias opções de implantação, dependendo do seu ambiente e também fornece os pré-requisitos e requisitos mais recentes, como a Versão do Java e define a variável de ambiente principal.

  2. É possível usar o Logstash para ingerir registros a partir do Filebeat (opção 1) ou diretamente do Pub/Sub (opção 2). Em qualquer um dos cenários, você precisa conhecer o endpoint do Elasticsearch e a senha do usuário elastic, ambos encontrados no console do Elastic Cloud.

    Você provavelmente salvou a senha elastic durante a implantação, mas se precisar, pode redefini-la clicando no link Segurança no mesmo console.

    Endpoint do Logstash.

Opção 1

Como o Filebeat já está configurado para extrair dados do Pub/Sub, é possível trazer esses dados do Filebeat para um pipeline do Logstash, transformá-los e enviá-los ao Elasticsearch.

  1. Modifique o arquivo /etc/filebeat/filebeat.yml comentando cloud.id e cloud.auth configurados anteriormente.

    # ====== Elastic Cloud =================
    #cloud.id: "xxx"
    #cloud.auth: "xxx"
    
  2. Comentar as linhas output.elasticsearch e hosts na saída do Elasticsearch.

    # ------ Elasticsearch Output -------------------
    #output.elasticsearch:
    # Array of hosts to connect to.
    #hosts: ["localhost:9200"]
    
  3. Remova o sinal de pontuação (#) na frente de hosts na saída do Logstash.

    # ------ Logstash Output -------------------
    #output.logstash:
    # The Logstash hosts
    hosts: ["localhost:5044"]
    

    Isso enviará a saída do Filebeat para o host local, que está executando o Logstash neste cenário, usando a porta 5044. O Logstash, por padrão, escuta nesta porta e não precisa ser modificado.

  4. Crie um arquivo de configuração de pipeline do Logstash.

    sudo vim /etc/logstash/conf.d.beats.conf

    Esse arquivo terá os seguintes itens:

    input {
      beats {
        port => 5044
      }
    }
    
    output {
      stdout { codec => rubydebug } #Used to validate/troubleshoot
      elasticsearch {
        hosts => ["https://f3041.us-central1.gcp.cloud.es.io:9243"]
        user => "elastic"
        password => "glnvy8k27gwQE8pVPaxW35a"
        index => "logstash-%{+YYYY.MM.dd}"
      }
    }
    

Opção 2

Se você prefere usar o Logstash diretamente, em vez de usar o Filebeat, siga as etapas a seguir para configurar o plug-in de entrada do Pub/Sub para o Logstash.

  1. Segundo a instrução, você precisa instalar o plug-in executando o comando a seguir ou semelhante ao seu ambiente. O diretório de um ambiente Linux é /usr/share/logstash, mas pode variar dependendo do sistema.

    bin/logstash-plugin install logstash-input-google_pubsub

  2. A autenticação do Google Cloud é a mesma para a instalação do Filebeat. Consulte as etapas anteriores para Criar uma conta de serviço neste documento. Você verá uma entrada do arquivo JSON da chave abaixo.

  3. Crie um arquivo de configuração do Pub/Sub, que será salvo no diretório Logstash, normalmente /etc/logstash/conf.d, nomeando-o como pub_sub.conf.

    O arquivo de configuração deve ser semelhante ao seguinte: O hosts é o endpoint do Elasticsearch.

    input { google_pubsub { project_id => "project-id" topic => "es-auditlogs-export" subscription => "es-auditlogs-export" json_key_file => "gcp-es-service-account.json" } }

    output { stdout { codec => rubydebug } #Used to validate/troubleshoot elasticsearch { hosts => ["https://f3041.us-central1.gcp.cloud.es.io:9243"] user => "elastic" password => "glnvy8k27gwQE8pVPaxW35a" index => "logstash-%{+YYYY.MM.dd}" } }

Continuando com as duas opções, inicie o Logstash e use o Kibana para gerar insights.

  1. Execute o Logstash como um serviço em sistemas como o Linux, em que o gerenciador de pacotes foi usado para instalar o Logstash, é necessário executar este comando como um serviço, ou seja, sudo service logstash start. Consulte Como executar o Logstash como um serviço no Debian ou no RPM para mais detalhes sobre outros sistemas.
  2. Para validar o serviço, execute um comando semelhante a este para o Linux:

    sudo journalctl -u logstash -f
    

Como visualizar a coleção Logstash em Kibana

Agora que os registros do Pub/Sub estão sendo enviados ao Elasticsearch usando o Logstash, você precisa executar algumas ações no Kibana para visualizar os dados.

  1. Abra o Kibana e acesse o Gerenciamento de pilha.

    Gerenciamento de pilha do Kibana.

  2. Clique no Kibana > Padrões de indexação.

    Padrão de indexação do Kibana.

  3. Clique em Criar padrão de indexação.

    Padrão de criação de indexação do Kibana.

  4. Insira logstash-* no campo Nome do padrão de indexação. Você verá a correspondência do padrão de indexação devido às etapas anteriores que executam o Logstash.

    O Kibana define o padrão de indexação.

  5. Clique em Próxima etapa.

  6. Selecione @timestamp para o filtro de campo Tempo e clique em Criar padrão de indexação.

    Selecione o carimbo de data/hora do Kibana.

  7. Clique em Descobrir.

    Descubra o Kibana.

  8. Verifique se o padrão de indexação logstash-* está selecionado.

    Selecione a indexação do Kibana.

  9. Agora é possível visualizar os dados ingeridos. Saiba mais sobre o que você pode fazer com o Kibana., como o uso de Registros, que podem correlacionar registros e métricas.

    Por exemplo, adicione a indexação logstash-* à lista de padrões, separados por vírgula, como na captura de tela a seguir.

    Visualize os dados do Kibana.

Próximas etapas com o Logstash

Inscreva-se para assistir ao vídeo do webinar Primeiros passos com o Logstash. Este vídeo explica o segundo plano do Logstash, sua arquitetura, seu layout de arquivos importantes, como configurar pipelines com filtros e como usar a transformação de dados e as técnicas de enriquecimento.

A seguir