Faça a ingestão de dados diretamente do Google Cloud Storage no Elastic usando o Google Dataflow

blog-thumb-cloud-gcp.png

Hoje temos o prazer de anunciar o suporte para a ingestão direta de dados do Google Cloud Storage (GCS) no Elastic Stack com o Google Dataflow. Agora desenvolvedores, engenheiros de confiabilidade do site (SREs) e analistas de segurança podem ingerir dados do GCS no Elastic Stack com apenas alguns cliques no Google Cloud Console.

Muitos desenvolvedores, SREs e analistas de segurança usam o GCS para armazenar logs e eventos gerados de aplicações e infraestrutura no Google Cloud, enquanto também usam o Elastic Stack para solucionar problemas, monitorar ou procurar anomalias de segurança nessas aplicações e infraestrutura. Para aprimorar a experiência de ambas as soluções, o Google e a Elastic trabalharam juntos para fornecer uma maneira descomplicada de ingerir logs e eventos armazenados no GCS no Elastic Stack. Isso permite que você simplifique a arquitetura de pipeline de dados, elimine a sobrecarga operacional e reduza o tempo necessário para a solução de problemas — tudo com apenas alguns cliques no Google Cloud Console e sem criar um processador de dados customizado.

Neste post do blog, mostraremos como começar com a ingestão de dados do GCS no Elastic Stack sem agente usando o Google Dataflow.

Agilize a ingestão de dados do GCS

O Google Cloud Storage é uma solução de armazenamento de objetos que costuma ser comparada ao Amazon S3 ou ao Azure Blob Storage. O GCS é frequentemente usado para backup e arquivamento de dados, analítica de dados sem requisitos de transmissão ou até mesmo para hospedagem de páginas da Web e aplicações simples com preços atrativos. Um desenvolvedor, SRE ou analista de segurança pode decidir armazenar logs e eventos de aplicações ou infraestrutura no GCS para fins de backup ou arquivamento. Um usuário do Google Cloud também pode ter um pipeline de dados no qual nem todos os dados serão ingeridos no Elastic Stack e alguns serão armazenados no GCS para análise posterior, se necessário.

Uma vez que os logs e eventos estejam no GCS, você tem de decidir sobre o método de ingestão para soluções analíticas de terceiros, como a Elastic. O ideal é poder ingerir dados diretamente do GCS no Elastic Stack com apenas alguns cliques no Google Cloud Console. Isso agora é possível com um menu suspenso no Google Dataflow, um produto popular de processamento de dados sem servidor baseado no Apache Beam. O Dataflow envia logs e eventos do GCS para o Elastic Stack com eficiência. Atualmente, o formato de arquivo CSV é aceito, e adicionaremos suporte para JSON em breve.

Aqui está o resumo do fluxo de ingestão de dados. A integração funciona para todos os usuários, esteja você usando o Elastic Stack no Elastic Cloud, o Elastic Cloud no Google Cloud Marketplace ou um ambiente autogerenciado.

Dataflow
 

Começar

A melhor forma de demonstrar a funcionalidade de ingestão do GCS é com um exemplo. O exemplo a seguir analisará dados de terremotos do USGS. O USGS cataloga um conjunto de dados público que fornece informações sobre terremotos e estatísticas sísmicas em tempo real. Usaremos a magnitude de terremotos de 2.5+ do USGS do mês anterior como um CSV. Aqui estamos mostrando somente as cinco primeiras linhas do arquivo para dar uma ideia de como são os dados:

arquivo de dados
 

Na página Dataflow do Google Cloud Console, selecione o modelo GCS to Elasticsearch (De GCS para Elasticsearch). O modelo cria o esquema para o documento JSON usando uma das seguintes opções:

  1. Javascript UDF (se fornecido)
  2. Esquema JSON (se fornecido)
  3. Cabeçalhos CSV* (padrão)

Se um UDF ou um esquema JSON for fornecido, ele será usado no lugar dos cabeçalhos CSV.

cloud-staging
 
Para o primeiro campo do formulário, insira os parâmetros que indicam a localização dos arquivos no GCS. O Cloud ID pode ser encontrado na UI do Elastic Cloud, conforme mostrado abaixo. A chave da API pode ser criada usando a API para criar uma chave de API.
Chave de API
 

Para o campo Elasticsearch index (Índice do Elasticsearch), escolha o nome de um índice onde seus dados serão carregados. Por exemplo, usamos o índice quakes.

cloud-staging
 

Clique em Run Job (Executar trabalho) para começar a ingerir os dados de terremotos do GCS no Elasticsearch, tudo sem sair do Google Cloud Console.

Então, você poderá navegar até o Kibana, criar um padrão de indexação e começar a visualizar em minutos:

Kibana
 

Amostra de dashboard que mostra a apresentação dos dados de terremotos:

mapa de terremotos
 

Resumo

A Elastic está sempre buscando facilitar para os clientes executarem onde quiserem e usarem o que quiserem — e essa integração simplificada com o Google Cloud é o exemplo mais recente disso. O Elastic Cloud estende o valor do Elastic Stack, permitindo que os clientes façam mais e mais rápido, o que o torna a melhor maneira de experimentar a nossa plataforma. Para começar a usar o Elastic no Google Cloud, acesse o Google Cloud Marketplace ou o website elastic.co.