Como monitorar ambientes no Stackdriver

É possível usar o Stackdriver Monitoring e o Stackdriver Logging com o Cloud Composer.

Com o Monitoring, você visualiza o desempenho, o tempo de atividade e a integridade geral dos aplicativos com tecnologia de nuvem. O Stackdriver coleta e ingere métricas, eventos e metadados do Cloud Composer para gerar insights por meio de painéis e gráficos. Use o Monitoring para saber mais sobre o desempenho e a integridade dos ambientes do Cloud Composer e das métricas do Airflow.

O Logging coleta os registros gerados pelos contêineres do worker e do programador. Eles incluem informações úteis sobre a dependência do Airflow e o nível do sistema para ajudar você na depuração. Para mais informações sobre como ver registros, consulte Como ver registros do Airflow.

Antes de começar

  • As permissões a seguir são necessárias para acessar os registros e as métricas do ambiente do Cloud Composer:

    • Monitoramento e geração de registros somente leitura: logging.viewer e monitoring.viewer
    • Geração de registros somente leitura incluindo registros particulares: logging.privateLogViewer
    • Monitoramento com leitura/gravação: monitoring.editor

      Para mais informações, consulte Controle de acesso do Cloud Composer.

  • Para evitar a geração de registros duplicados, o Stackdriver Logging está desativado no Google Kubernetes Engine.

  • O Stackdriver Logging gera uma entrada para cada status e evento que ocorre no projeto do Google Cloud Platform. Use filtros de exclusão para diminuir o volume dos registros, incluindo aqueles que o Stackdriver gera no Cloud Composer.

  • O Monitoring não registra os valores de contagem dos fluxos de trabalho e tarefas que são executados mais de uma vez por minuto. No momento, ele também não registra métricas de tarefas com falha.

Métricas e tipos de recursos

É possível examinar métricas do Airflow no Monitoring relacionadas a fluxos de trabalho (DAGs) e ao Celery Executor.

Fluxos de trabalho

As métricas a seguir estão disponíveis para você monitorar o desempenho das execuções de fluxo de trabalho e identificar tarefas lentas que gerem muita latência:

Métrica de fluxo de trabalho API
Número de execuções de fluxo de trabalho composer.googleapis.com/workflow/run_count
Duração de cada execução de fluxo de trabalho composer.googleapis.com/workflow/run_duration
Número de execuções da tarefa composer.googleapis.com/workflow/task/run_count
Duração de cada tarefa composer.googleapis.com/workflow/task/run_duration

O Stackdriver mostra apenas as métricas das execuções de tarefas e fluxos de trabalho concluídas com sucesso ou falha. Nenhum dado é exibido quando o fluxo de trabalho não está em atividade ou quando ele e as tarefas estão em andamento.

Celery Executor

As métricas do Celery Executor a seguir estão disponíveis. Com elas, você determina se há recursos suficientes de worker no ambiente.

Métrica do Celery Executor API
Número de tarefas na fila composer.googleapis.com/environment/task_queue_length
Número de workers on-line do Celery composer.googleapis.com/environment/num_celery_workers

A documentação do Stackdriver também inclui as informações a seguir sobre as métricas e recursos do Cloud Composer:

  • Para ter acesso a lista de métricas de uso que o Cloud Composer reporta ao Stackdriver, consulte Lista de métricas.
  • Para detalhes sobre o tipo de recurso cloud_composer_environment, consulte Tipos de recursos monitorados na documentação do Stackdriver.

Como usar o Monitoring nos ambientes do Cloud Composer

É possível acessar o Monitoring no console do Monitoring ou usando a API do Monitoring.

Console

  1. Depois de criar um ambiente do Cloud Composer, acesse o console do Monitoring para ver os dados de monitoramento do ambiente.
  2. No primeiro acesso ao Monitoring, você precisa criar um espaço de trabalho e selecionar um projeto.
  3. O console do Monitoring é exibido depois que o espaço de trabalho é configurado.

  4. Selecione Resources > Metrics Explorer e escolha o Cloud Composer:
    1. Clique na caixa de entrada Find resource type and metric para exibir a lista suspensa de recursos.
    2. Selecione o recurso Cloud Composer Environment ou Cloud Composer Workflow. Outra opção é inserir cloud_composer_environment ou cloud_composer_workflow na caixa.
  5. Clique novamente na caixa de entrada e selecione uma métrica na lista suspensa. Passe o cursor do mouse sobre o nome da métrica para ver informações sobre ela.
  6. As informações do ambiente do Cloud Composer estão no rótulo "workflow_name": workflow_name=environment.workflow. Para ver métricas de fluxo de trabalho de um ambiente específico, adicione um filtro:
    1. Crie um filtro para workflow_name.
    2. Filtre o prefixo usando a expressão regular =~ "your-environment-name.*" com o nome do ambiente em que você quer ver as métricas do fluxo de trabalho. Para mais informações sobre como usar a expressão regular em rótulos de filtragem, consulte Como usar filtros.
  7. Clique em Salvar gráfico.

    Também é possível agrupar por rótulos de métrica, realizar agregações e selecionar opções de exibição de gráficos. Consulte a documentação do Monitoring.

API

É possível usar a API timeSeries.list do Monitoring para coletar e listar métricas definidas por uma expressão filter. Use o modelo Teste esta API na página da API para enviar uma solicitação de API e exibir a resposta.

Como criar um painel personalizado do Monitoring

É possível criar um painel personalizado do Monitoring com gráficos de métricas selecionadas do ambiente do Cloud Composer.

  1. Selecione Dashboards > Create Dashboard no console do Monitoring.

  2. No "Untitled Dashboard", clique em Add Chart e crie o gráfico:

    1. Na janela "Add Chart", selecione Cloud Composer Environment como o tipo de recurso.
    2. Selecione uma ou mais métricas e propriedades de gráfico.
    3. Confirme ou insira um novo título do gráfico e clique em Save.
    4. Adicione mais gráficos ao painel conforme necessário e clique em Save.

    No exemplo a seguir, a métrica Task Duration é mostrada. Ela registra a duração de tarefas ativas nos fluxos de trabalho, o que é útil para ajustar o desempenho.

  3. Para visualizar o painel, clique no título no menu Dashboards do Monitoring.

  4. Na página de exibição do painel, é possível visualizar, atualizar e excluir gráficos.

Como usar os alertas do Monitoring

É possível criar um alerta do Monitoring que avisa quando uma métrica do Cloud Composer ultrapassa um limite especificado.

Como criar um alerta

Para criar um alerta, faça o seguinte:

  1. Selecione Alerting > Create a Policy no console do Monitoring. A página Create a new alerting policy é exibida.

  2. Em Conditions, clique em Add Condition.

  3. Na página Create condition, faça o seguinte:

    1. Dê um nome para a condição.
    2. No cabeçalho da guia, vá até Metric.
    3. Em Target, escolha Cloud Composer Environment ou Cloud Composer Workflow como o tipo de recurso.
    4. Selecione uma métrica para o tipo de recurso escolhido.
    5. Clique em Save.

  4. Depois de definir a condição de alertas, conclua a política de alertas configurando canais de notificação, a documentação e o nome da nova política de alertas na página Create a new alerting policy.

Consulte a documentação do Stackdriver para mais informações sobre como gerenciar políticas de alertas e como especificar condições.

Como visualizar alertas

Quando um alerta é acionado por uma condição de limite de métrica, o Monitoring cria um incidente e um evento correspondente.

É possível analisar incidentes na página Alerting > Incidents do Monitoring.

O Monitoring também envia uma notificação do incidente se algum mecanismo relacionado tiver sido definido na política de alertas, como notificações por e-mail ou por SMS.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…