Monitorize a contagem de processos numa VM

Este documento descreve como usar a Google Cloud consola para criar uma política de alerta que monitoriza o número de processos em execução nas suas máquinas virtuais (MVs) que cumprem as condições especificadas. Este tipo de política de alerta é, por vezes, denominado política de alerta de estado do processo. Por exemplo, pode contar o número de processos iniciados pelo utilizador root. Também pode contar o número de processos cujo comando de invocação continha uma string específica. Uma política de alerta pode enviar-lhe uma notificação quando o número de processos for superior ou inferior a um limite. Para obter informações sobre os processos que podem ser monitorizados, consulte o artigo Processos que são monitorizados.

Este conteúdo não se aplica a políticas de alerta baseadas em registos. Para obter informações sobre as políticas de alerta baseadas em registos, que lhe enviam uma notificação quando uma mensagem específica aparece nos seus registos, consulte o artigo Monitorizar os seus registos.

Antes de começar

  1. Para receber as autorizações de que precisa para criar e modificar políticas de alerta através da Google Cloud consola, peça ao seu administrador para lhe conceder a função IAM de Editor do Monitoring (roles/monitoring.editor) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Para mais informações sobre as funções do Cloud Monitoring, consulte o artigo Controle o acesso com a gestão de identidade e acesso.

  2. Certifique-se de que conhece os conceitos gerais das políticas de alerta. Para obter informações acerca destes tópicos, consulte o artigo Vista geral dos alertas.

  3. Configure os canais de notificação que quer usar para receber quaisquer alertas. Para fins de redundância, também recomendamos que crie vários tipos de canais de notificação. Para obter informações sobre estes passos, consulte o artigo Crie e faça a gestão de canais de notificação.

  4. Certifique-se de que instalou o agente de operações nas VMs que quer monitorizar. Para mais informações, consulte o artigo Agentes de observabilidade do Google Cloud.

Crie uma política de alerta

Para criar uma política de alerta que monitorize a quantidade de processos em execução numa VM através da API Cloud Monitoring, a expressão de filtro tem de especificar um seletor de séries cronológicas. Para ver um exemplo de um ficheiro JSON que especifica este seletor, consulte o artigo Política de estado de funcionamento do processo.

Para criar uma política de alerta que monitorize a quantidade de processos em execução numa VM, faça o seguinte:

  1. Na Google Cloud consola, aceda à página  Alertas:

    Aceder a Alertas

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Selecione Criar política.
  3. Selecione ? no cabeçalho da secção Selecionar métrica e, de seguida, selecione Modo de filtro direto na sugestão.

  4. Introduza um filtro de monitorização.

    Por exemplo, para contabilizar o número de processos que estão a ser executados em instâncias de VM do Compute Engine cujo nome inclui nginx, introduza o seguinte:

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Para informações sobre a sintaxe, consulte os seguintes recursos:

  5. Conclua a política de alerta. Tem de configurar o acionador de condição, as notificações, a documentação e o nome da política, e, de seguida, clicar em Criar política.

    Para mais informações, consulte o artigo Crie políticas de alertas de limite métrico.

Processos que são monitorizados

Nem todos os processos em execução no seu sistema podem ser monitorizados por uma condição de saúde do processo. Esta condição seleciona processos a monitorizar através de uma expressão regular que é aplicada à linha de comandos que invocou o processo. Quando o campo da linha de comandos não está disponível, não é possível monitorizar o processo.

Uma forma de determinar se um processo pode ser monitorizado por uma condição de estado do processo é analisar os processos ativos. Por exemplo, num sistema Linux, pode usar o comando ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Quando uma entrada COMMAND está envolvida por parênteses retos, por exemplo, [nfsd], as informações da linha de comandos para o processo não estão disponíveis. Nesta situação, não pode usar o Cloud Monitoring para monitorizar o processo.