O Cloud Monitoring fornece geração de registros e diagnósticos avançados. A integração do Dataflow com o Monitoring permite acessar métricas de jobs do Dataflow, como status do job, contagens de elementos, atrasos do sistema (para jobs de streaming) e contadores de usuários nos painéis do Monitoring. Também é possível usar os alertas do Monitoring para notificação sobre várias condições, como atrasos longos do sistema de streaming ou jobs com falha.
Antes de começar
Siga os guias de início rápido do Java, do Python ou do Go para configurar seu projeto do Dataflow. Em seguida, crie e execute o pipeline.
Para acessar os registros no Metrics Explorer, a
conta de serviço do worker
precisa ter o papel roles/monitoring.metricWriter
.
Métricas personalizadas
Qualquer métrica definida no pipeline do Apache Beam é informada pelo Dataflow ao Monitoring como uma métrica personalizada.
O Apache Beam tem três tipos de métricas de pipeline: Counter
, Distribution
e Gauge
.
- O Dataflow informa as métricas
Counter
eDistribution
ao Monitoring. Distribution
é informada como quatro submétricas com os sufixos_MAX
,_MIN
,_MEAN
e_COUNT
.- O Dataflow não é compatível com a criação de um histograma a partir de métricas
Distribution
. - O Dataflow informa atualizações incrementais ao Monitoring aproximadamente a cada 30 segundos.
- Para evitar conflitos, todas as métricas personalizadas do Dataflow são exportadas como um tipo de dados
double
. Para simplificar, todas as métricas personalizadas do Dataflow são exportadas como um tipo de métrica
GAUGE
. É possível monitorar o delta em uma janela de tempo para uma métricaGAUGE
, conforme mostrado no exemplo da Linguagem de consulta do Monitoring a seguir:fetch dataflow_job | metric 'dataflow.googleapis.com/job/user_counter' | filter (metric.job_id == '[JobID]') | delta 1m | group_by 1m, [value_user_counter_mean: mean(value.user_counter)] | every 1m | group_by [metric.ptransform, metric.metric_name], [value_user_counter_mean_aggregate: aggregate(value_user_counter_mean)]
As métricas personalizadas do Dataflow aparecem no Monitoring como
dataflow.googleapis.com/job/user_counter
com os rótulosmetric_name: metric-name
eptransform: ptransform-name
.Para compatibilidade com versões anteriores, o Dataflow também informa métricas personalizadas ao Monitoring como
custom.googleapis.com/dataflow/metric-name
.As métricas personalizadas do Dataflow estão sujeitas à limitação da cardinalidade no Monitoring.
Cada projeto tem um limite de 100 métricas personalizadas do Dataflow. Essas métricas são publicadas como
custom.googleapis.com/dataflow/metric-name
.
As métricas personalizadas informadas ao Monitoring geram cobranças com base nos preços do Cloud Monitoring.
Usar o Metrics Explorer
Usar o Monitoring para analisar as métricas do Dataflow. Siga as etapas desta seção para observar as métricas padrão fornecidas para cada pipeline do Apache Beam. Para mais informações sobre como usar o Metrics Explorer, consulte Criar gráficos com o Metrics Explorer.
No Console do Google Cloud, selecione Monitoring:
No painel de navegação, selecione Metrics Explorer.
No painel Selecionar uma métrica, insira
Dataflow Job
no filtro.Na lista exibida, selecione uma métrica a ser observada para um dos jobs.
Ao executar jobs do Dataflow, talvez você também queira monitorar métricas para suas origens e coletores. Por exemplo, é possível monitorar as métricas da API BigQuery Storage. Para mais informações, consulte Criar painéis, gráficos e alertas e a lista completa de métricas do serviço de transferência de dados do BigQuery.
Criar políticas e painéis de alertas
O Monitoring fornece acesso a métricas relacionadas ao Dataflow. Crie painéis para traçar a série temporal de métricas e criar políticas de alertas que notificam você quando as métricas atingem os valores especificados.
Criar grupos de recursos
Para facilitar a definição de alertas e a criação de painéis, crie grupos de recursos que incluam vários pipelines do Apache Beam.
No Console do Google Cloud, selecione Monitoring:
No painel de navegação, selecione Grupos.
Clique em Criar grupo.
Digite um nome para o grupo.
Adicione critérios de filtro que definam os recursos do Dataflow incluídos no grupo. Por exemplo, um dos critérios de filtro pode ser o prefixo do nome dos seus pipelines.
Depois que o grupo for criado, é possível ver as métricas básicas relacionadas aos recursos desse grupo.
Criar políticas de alertas para métricas do Dataflow
O monitoramento permite que você crie alertas e receba notificações quando uma métrica ultrapassa um limite especificado. Por exemplo, é possível receber uma notificação quando o atraso do sistema de um pipeline de streaming ficar superior a um valor predefinido.
No Console do Google Cloud, selecione Monitoring:
No painel de navegação, selecione Alertas.
Clique em Criar política.
Na página Criar nova política de alertas, definir as condições de alerta e os canais de notificação.
Por exemplo, para definir um alerta de atraso do sistema para o grupo de pipelinesWindowedWordCount
do Apache Beam, conclua as seguintes etapas:- Clique em Selecionar uma métrica.
- No campo Selecionar uma métrica, insira
Dataflow Job
. - Em Categorias de métrica, selecione Job.
- Em Métricas, selecione Atraso do sistema.
Sempre que um alerta é acionado, um incidente e um evento correspondente são criados. Se você tiver especificado um mecanismo de notificação no alerta, como e-mail ou SMS, você também receberá uma notificação.
Criar painéis de monitoramento personalizados
É possível criar painéis de monitoramento do Monitoring com os gráficos mais relevantes relacionados ao Dataflow. Para adicionar um gráfico a um painel, siga estas etapas:
No Console do Google Cloud, selecione Monitoring:
No painel de navegação, selecione Painéis.
Clique em Criar painel.
Clique em Adicionar widget.
Na janela Adicionar widget, em Dados, selecione Métrica.
No painel Selecionar uma métrica, em Métrica, insira
Dataflow Job
.Selecione uma categoria e uma métrica.
Adicione ao painel quantos gráficos desejar.
Receber métricas de VMs de workers do agente do Monitoring
É possível usar o Monitoring para monitorar discos permanentes, CPUs, rede e métricas de processos. Ao executar o pipeline, nas instâncias de VM de worker do Dataflow, ative o Agente do Monitoring. Confira a lista de métricas disponíveis do agente do Monitoring.
Para ativar o agente do Monitoring, use a opção --experiments=enable_stackdriver_agent_metrics
ao executar o pipeline. A conta de serviço do worker deve ter o papel roles/monitoring.metricWriter
.
Para desativar o agente do Monitoring sem interromper o pipeline, inicie um job substituto sem o parâmetro --experiments=enable_stackdriver_agent_metrics
para atualizar o pipeline.
Armazenamento e retenção
As informações sobre jobs concluídos ou cancelados do Dataflow são armazenadas por 30 dias.
Os registros operacionais são armazenados no bucket de registros _Default
.
O nome do serviço da API de registro é dataflow.googleapis.com
. Para mais informações sobre
os tipos de recursos monitorados e os serviços do Google Cloud usados no Cloud Logging,
consulte Recursos e serviços monitorados.
Para saber detalhes sobre o período de retenção das entradas de registro no Logging, consulte as informações sobre retenção em Cotas e limites: períodos de armazenamento de registros.
Para informações sobre como visualizar registros operacionais, consulte Monitorar e visualizar registros de pipeline.
A seguir
Para saber mais, conheça estes outros recursos: