Envie logs para o Google BigQuery
Crie um stream que grava os logs das suas aplicações como linhas de uma tabela do Google BigQuery, no Azion Console ou com a Azion API, e confirme a entrega.
Você pode enviar os logs de um stream para uma tabela do Google BigQuery pelo Azion Console ou com a Azion API.
Data Stream envia as linhas de log como linhas de uma tabela de um dataset do BigQuery. No formulário do stream, o endpoint é definido no campo Connector, e o BigQuery é a opção Google BigQuery desse campo. Para ver todos os campos e os limites deles, consulte Endpoints.
O stream se autentica no Google com uma chave de service account que você fornece. Data Stream faz a autenticação OAuth 2.0 do Google e gera os JSON Web Tokens, então a chave é a única credencial que você define. O exemplo coleta as requisições de um workload com a fonte de dados Applications.
Pré-requisitos
Console
- Uma conta Azion com a permissão Edit Data Stream. Para ver as permissões, consulte Configurações do stream.
- Um workload na conta que recebe requisições.
- Um projeto do Google Cloud com a BigQuery API ativada e o ID do projeto.
- Faturamento ativado no projeto. O free tier não aceita linhas inseridas por streaming em uma tabela. O Google Cloud lista as tarifas dessas inserções em Streaming Inserts na tabela de preços do BigQuery.
- Um dataset no projeto e o ID dele. O ID do dataset diferencia maiúsculas de minúsculas.
- Uma tabela no dataset, com um schema para os dados que o stream envia, e o ID dela. O ID da tabela é o nome que você dá à tabela.
- Uma service account do Google Cloud com o papel BigQuery Admin e uma chave da service account no formato JSON. O Google Cloud baixa a chave como um arquivo JSON quando você a cria.
O arquivo da chave traz as chaves JSON abaixo. Data Stream usa todo o conteúdo do arquivo:
- Acesso ao Azion Console. Para entrar, consulte Acessar Azion Console.
Crie o stream
O stream coleta do workload que você escolher, por meio de um filtro de workloads. Ao contrário do sampling, um filtro de workloads mantém seus outros streams ativos.
Console
Para criar o stream no Azion Console:
Acesse Azion Console > Data Stream.
Na seção General, informe um Name. Por exemplo: logs-to-bigquery.
Na seção Input, selecione Applications em Data Source.
Na seção Transform, desative Sampling enquanto Option ainda estiver em All Current and Future Workloads, o valor inicial. Um stream não pode ter sampling e filtro de workloads ao mesmo tempo.
Na seção Transform, defina Option como Filter Workloads. Em Available Workload, selecione seu workload e mova-o para Chosen Workload com a seta. Se o seu Console nomeia domínios onde esta guia nomeia workloads, o mesmo controle aparece como Filter Domains. A lista de seleção passa a mostrar Available Domain e Chosen Domain.
Na seção Render Template, selecione Applications Event Collector em Template.
Na seção Output, selecione Google BigQuery em Connector.
Informe o ID do seu projeto do Google Cloud em Project ID, o ID do dataset em Dataset ID e o ID da tabela em Table ID. Por exemplo: my-project, azion_logs e requests.
Em Service Account Key, cole todo o conteúdo do arquivo JSON da chave. O campo é um editor de JSON.
Na seção Status, mantenha Active ativado.
O Console mostra Your data stream has been created. O stream aparece na lista do Data Stream com BigQuery na coluna Connector e o status Active.
A API e o Console salvam o stream sem contatar o Google Cloud. Um projeto, um dataset, uma tabela ou uma chave errada só aparece quando o stream envia. Uma ativação entra em vigor depois de um a dois minutos.
Confirme a entrega
Real-Time Events registra todos os envios de um stream, entregues ou não, com o status code que o endpoint retornou. Envie algumas requisições ao workload e espere cerca de um minuto: um stream envia um lote a cada 60 segundos, ou antes, quando chega a 2.000 linhas de log.
Console
Para encontrar os envios no Azion Console:
Acesse Azion Console > Real-Time Events.
Cada linha é um envio. Encontre as linhas com BIG_QUERY em Endpoint Type e leia o Status Code delas.
Um Status Code 200 significa que o BigQuery aceitou o lote. Streamed Lines mostra o número de linhas de log do lote.
Um status diferente de 200 é a resposta do endpoint, e 503 significa que Data Stream encontrou o endpoint indisponível. Para ver as causas, consulte Solucionar problemas de Data Stream.