É possível criar um alerta do Monitoring para notificar quando a métrica de um job ou cluster do Dataproc ultrapassar um limite especificado.
Criar um alerta
Abra a página Alertas no Google Cloud console.
Clique em + Criar política para abrir a página Criar política de alertas.
- Clique em Selecionar métrica.
- Na caixa de entrada "Filtrar por nome do recurso ou da métrica", digite "dataproc" para listar as métricas do Dataproc. Navegue pela hierarquia de métricas do Cloud Dataproc para selecionar uma métrica de cluster, job, lote, ou sessão.
- Clique em Aplicar.
- Clique em Próxima para abrir o painel Configurar o gatilho de alertas.
- Defina um valor limite para acionar o alerta.
- Clique em Próxima para abrir o painel Configurar notificações e finalizar o alerta.
- Defina canais de notificação, documentação e o nome da política de alertas.
- Clique em Próxima para revisar a política de alertas.
- Clique em Criar política para criar o alerta.
Exemplos de alertas
Esta seção descreve um exemplo de alerta para um job enviado ao serviço do Dataproc e um alerta para um job executado como um aplicativo YARN.
Alerta de job do Dataproc de longa duração
O Dataproc emite a métrica dataproc.googleapis.com/job/state,
que acompanha o tempo que um job ficou em diferentes estados. Essa métrica é encontrada
no Google Cloud Metrics Explorer doconsole, no recurso Job do Cloud Dataproc
(cloud_dataproc_job).
Use essa métrica para configurar um alerta que notifica quando o estado do job
RUNNING excede um limite de duração (limite máximo : 7 dias).
Para configurar um alerta para um job que deve ser executado por mais de 7 dias,
consulte Alerta de aplicativo YARN de longa duração.

Configuração de alerta de duração do job
Este exemplo usa a linguagem de consulta do Prometheus (PromQL) para criar uma política de alertas. Para mais informações, consulte Criar políticas de alertas baseadas em PromQL (console).
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING"
}) != 0
Para acionar esse alerta quando um job estiver em execução por mais de 30 minutos, na guia Configurar acionador, defina o Intervalo de avaliação como 30 minutos.
É possível modificar a consulta filtrando pelo job_id para aplicá-la
a um job específico:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="RUNNING",
"job_id"="1234567890"
}) != 0
Alerta de aplicativo YARN de longa duração
O exemplo anterior mostra um alerta acionado quando um job do Dataproc é executado por mais tempo
do que uma duração especificada, mas ele só se aplica a jobs enviados ao serviço do Dataproc
usando o Google Cloud console, a CLI do Google Cloud ou chamadas diretas à
API jobs do Dataproc. Também é possível usar métricas de OSS
para configurar alertas semelhantes que monitoram o tempo de execução de aplicativos YARN.
Primeiro, algumas informações básicas. O YARN emite métricas de tempo de execução em vários buckets.
Por padrão, o YARN mantém 60, 300 e 1440 minutos como limites de bucket
e emite 4 métricas, running_0, running_60, running_300 e running_1440:
running_0registra o número de jobs com um tempo de execução entre 0 e 60 minutos.running_60registra o número de jobs com um tempo de execução entre 60 e 300 minutos.running_300registra o número de jobs com um tempo de execução entre 300 e 1440 minutos.running_1440registra o número de jobs com um tempo de execução maior que 1440 minutos.
Por exemplo, um job em execução por 72 minutos será registrado em running_60, mas não em running_0.
Esses limites de bucket padrão podem ser modificados transmitindo novos valores para a propriedade de cluster
yarn:yarn.resourcemanager.metrics.runtime.buckets
durante a criação do cluster do Dataproc. Ao definir limites de bucket
personalizados, também é necessário definir substituições de métricas. Por exemplo, para especificar
limites de bucket de 30, 60 e 90 minutos, o
gcloud dataproc clusters create comando precisa incluir as seguintes flags:
limites de bucket:
‑‑properties=yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90substituições de métricas:
‑‑metric-overrides=yarn:ResourceManager:QueueMetrics:running_0, yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60, yarn:ResourceManager:QueueMetrics:running_90
Exemplo de comando de criação de cluster
gcloud dataproc clusters create test-cluster \ --properties ^#^yarn:yarn.resourcemanager.metrics.runtime.buckets=30,60,90 \ --metric-sources=yarn \ --metric-overrides=yarn:ResourceManager:QueueMetrics:running_0,yarn:ResourceManager:QueueMetrics:running_30,yarn:ResourceManager:QueueMetrics:running_60,yarn:ResourceManager:QueueMetrics:running_90
Essas métricas estão listadas no Google Cloud Metrics Explorer doconsole , no recurso Instância de VM (gce_instance).

Configuração de alerta de aplicativo YARN
Crie um cluster com os buckets e métricas necessários ativados.
Crie uma política de alertas que seja acionada quando o número de aplicativos em um bucket de métricas YARN exceder um limite especificado.
Opcionalmente, adicione um filtro para alertar sobre clusters que correspondam a um padrão.

Configure o limite para acionar o alerta.

Alerta de job do Dataproc com falha
Também é possível usar a métrica dataproc.googleapis.com/job/state(consulte Alerta de job do Dataproc de longa duração) para alertar quando um job do Dataproc falha.
Configuração de alerta de job com falha
Este exemplo usa a linguagem de consulta do Prometheus (PromQL) para criar uma política de alertas. Para mais informações, consulte Criar políticas de alertas baseadas em PromQL (console).
PromQL de alerta
sum by (job_id, state) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR"
}) != 0
Configuração do acionador de alerta
No exemplo a seguir, o alerta é acionado quando qualquer job do Dataproc falha no seu projeto.

É possível modificar a consulta filtrando pelo job_id para aplicá-la
a um job específico:
sum by (job_id) ({
"__name__"="dataproc.googleapis.com/job/state",
"monitored_resource"="cloud_dataproc_job",
"state"="ERROR",
"job_id"="1234567890"
}) != 0
Alerta de desvio de capacidade do cluster
O Dataproc emite a dataproc.googleapis.com/cluster/capacity_deviation
métrica, que informa a diferença entre a contagem de nós esperada no
cluster e a contagem de nós YARN ativos. Essa métrica pode ser encontrada no
Google Cloud console Metrics Explorer no
recurso Cluster do Cloud Dataproc. Use essa métrica para criar um alerta que notifica quando a capacidade do cluster se desvia da capacidade esperada por mais tempo do que uma duração de limite especificada.

As operações a seguir podem causar uma subnotificação temporária de nós de cluster
na métrica capacity_deviation. Para evitar alertas de falsos positivos, defina
o limite de alerta de métrica para considerar essas operações:
Criação e atualizações de cluster: A métrica
capacity_deviationnão é emitida durante as operações de criação ou atualização do cluster.Ações de inicialização do cluster: As ações de inicialização são realizadas depois que um nó é provisionado.
Atualizações de worker secundário:os workers secundários são adicionados de forma assíncrona, após a conclusão da operação de atualização.
Configuração de alerta de desvio de capacidade
Este exemplo usa a linguagem de consulta do Prometheus (PromQL) para criar uma política de alertas. Para mais informações, consulte Criar políticas de alertas baseadas em PromQL (console).
{
"__name__"="dataproc.googleapis.com/cluster/capacity_deviation",
"monitored_resource"="cloud_dataproc_cluster"
} != 0
No exemplo a seguir, o alerta é acionado quando o desvio de capacidade do cluster é diferente de zero por mais de 30 minutos.

Ver alertas
Quando um alerta é acionado por uma condição de limite de métrica, o Monitoring cria um incidente e um evento correspondente. Você pode ver os incidentes na página de alertas do Monitoring no Google Cloud console.
O Monitoring envia uma notificação do incidente se tiver sido definido na política de alerta algum mecanismo de notificação, como notificações por e-mail ou por SMS,

A seguir
- Consulte a Introdução aos alertas.