Recolha métricas do servidor Web Apache com o agente de operações

Saiba como recolher e monitorizar métricas de um servidor Web Apache instalado numa instância de máquina virtual (VM) do Compute Engine através do agente Ops:

  1. Crie uma instância de VM do Compute Engine e instale o agente de operações.
  2. Instale um servidor Web Apache.
  3. Configure o agente de operações para o servidor Web Apache.
  4. Gerar tráfego para o servidor Web Apache.
  5. Veja as métricas no painel de controlo do Apache predefinido.
  6. Crie uma política de alertas.
  7. Teste a política de alerta.
  8. Limpar.

Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:

Visita guiada


Antes de começar

  1. As restrições de segurança definidas pela sua organização podem impedir a conclusão dos seguintes passos. Para informações de resolução de problemas, consulte o artigo Desenvolva aplicações num ambiente Google Cloud restrito.

  2. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Compute Engine, Cloud Monitoring, and Cloud Logging APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  9. Crie uma instância de VM

    1. Na Google Cloud consola, aceda à página Instâncias de VM:

      Aceda a Instâncias de VM

      Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda seja Compute Engine.

    2. Clique em Criar instância para criar uma VM. Configure a sua instância através das opções no menu de navegação.
    3. Na opção Configuração da máquina, faça o seguinte:
      1. No campo Nome, introduza um nome descritivo.
      2. No menu pendente predefinido Tipo de máquina, selecione Núcleo partilhado > e2-small.
    4. Verifique se a opção SO e armazenamento apresenta Debian GNU/Linux. Caso contrário, clique na opção SO e armazenamento e clique em Alterar. Na caixa de diálogo Disco de arranque, defina a Versão como Debian GNU/Linux.
    5. Na opção Rede, para Firewall, selecione Permitir tráfego HTTP e Permitir tráfego HTTPS.
    6. Verifique se a opção Observabilidade apresenta Instalar agente de operações. Caso contrário, clique na opção Observabilidade e selecione Instalar o agente de operações para monitorização e registo.
    7. Clique em Criar.

    Instale um servidor Web Apache

    Para instalar um servidor Web Apache na sua instância de VM do Compute Engine, faça o seguinte:

    1. Na página Instâncias de VM, localize a nova VM, aceda à coluna Ligar e, de seguida, clique em SSH.

      Está a ter problemas com a ligação? Consulte o artigo Resolução de problemas de SSH.

    2. Para atualizar as listas de pacotes, copie o seguinte comando para a área de transferência, cole o comando no terminal SSH e, de seguida, prima Enter:

      sudo apt-get update
      
    3. Depois de ver a mensagem "Reading package lists... Done", no terminal SSH, execute o seguinte comando para instalar um servidor Web Apache2:

      sudo apt-get install apache2 php7.0
      

      Quando lhe for pedido para continuar a instalação, introduza Y. Se o comando de instalação falhar, use sudo apt-get install apache2 php.

    4. Quando a linha de comandos for apresentada novamente, aceda à página Instâncias de VM e copie o endereço IP externo da VM para o seguinte URL:

      http://EXTERNAL_IP
      
    5. Para se ligar ao seu servidor Web Apache, abra um novo separador do navegador e, em seguida, introduza o URL do passo anterior.

      Quando o servidor Web é instalado com êxito, o separador do navegador apresenta a página predefinida do Apache2 Debian.

      Apresentar a página predefinida do Apache2.

    Recolha métricas e registos do servidor Web Apache

    Nestes passos, configura o agente Ops para recolher registos e métricas do seu servidor Web Apache:
    1. Aceda ao terminal SSH da sua instância de VM. Se não tiver um terminal aberto, faça o seguinte:

      1. Na Google Cloud consola, aceda à página Instâncias de VM:

        Aceda a Instâncias de VM

        Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda seja Compute Engine.

      2. Localize a nova VM e, de seguida, clique em SSH.

    2. Copie o seguinte comando, cole-o no terminal da sua instância e, de seguida, prima Enter:

      # Configures Ops Agent to collect telemetry from the app. You must restart the agent for the configuration to take effect.
      
      set -e
      
      # Check if the file exists
      if [ ! -f /etc/google-cloud-ops-agent/config.yaml ]; then
        # Create the file if it doesn't exist.
        sudo mkdir -p /etc/google-cloud-ops-agent
        sudo touch /etc/google-cloud-ops-agent/config.yaml
      fi
      
      # Create a back up of the existing file so existing configurations are not lost.
      sudo cp /etc/google-cloud-ops-agent/config.yaml /etc/google-cloud-ops-agent/config.yaml.bak
      
      # Configure the Ops Agent.
      sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
      metrics:
        receivers:
          apache:
            type: apache
        service:
          pipelines:
            apache:
              receivers:
                - apache
      logging:
        receivers:
          apache_access:
            type: apache_access
          apache_error:
            type: apache_error
        service:
          pipelines:
            apache:
              receivers:
                - apache_access
                - apache_error
      EOF
      

      O comando anterior cria a configuração para recolher e carregar registos e métricas do servidor Web Apache. Para mais informações, consulte o artigo Configure o agente Ops para o servidor Web Apache.

    3. Reinicie o Ops Agent:
      1. Para reiniciar o agente, execute o seguinte comando na sua instância:
        sudo systemctl restart google-cloud-ops-agent
        
      2. Para confirmar que o agente foi reiniciado, execute o seguinte comando e verifique se os componentes "Agente de métricas" e "Agente de registo" foram iniciados:
        sudo systemctl status "google-cloud-ops-agent*"
        

    Gere tráfego

    Para gerar tráfego para o seu servidor Web Apache, faça o seguinte:

    1. Aceda ao terminal SSH da sua instância de VM. Se não tiver um terminal aberto, faça o seguinte:

      1. Na Google Cloud consola, aceda à página Instâncias de VM:

        Aceda a Instâncias de VM

        Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda seja Compute Engine.

      2. Localize a nova VM e, de seguida, clique em SSH.

    2. No terminal SSH, execute o seguinte comando, que gera pedidos para o seu servidor Web Apache:

      timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
    3. Aguarde dois minutos para que a linha de comandos seja devolvida ou o terminal seja fechado. Enquanto o comando está em execução, o texto HTML é apresentado no terminal.

    Veja métricas do Apache

    Para ver o painel de controlo Vista geral do Apache, que é criado automaticamente, faça o seguinte:

    1. Na Google Cloud consola, aceda à página  Painéis de controlo:

      Aceda a Painéis de controlo

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

    2. No painel Os meus painéis de controlo, selecione o painel de controlo Vista geral do Apache na lista.

      Exemplo do painel de controlo Vista geral do Apache.

    Configurou o agente de operações para recolher registos e métricas do seu servidor Web Apache e viu as métricas. O passo seguinte é criar uma política de alertas para receber uma notificação quando a carga no seu servidor Web Apache exceder um limite.

    Crie um canal de notificação por email

    Antes de criar uma política de alertas, configure os canais de notificação que quer que a política de alertas use. O Cloud Monitoring suporta muitos tipos diferentes de canais de notificação, incluindo email, Slack, PagerDuty e Pub/Sub. Para mais informações, consulte o artigo Crie e faça a gestão de canais de notificação. Para receber notificações por email, 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. Na barra de ferramentas, clique em Editar canais de notificação.
    3. Na página Canais de notificação, desloque a página até Email e, de seguida, clique em Adicionar novo.
    4. Introduza o seu endereço de email, um nome a apresentar, como My email, e, de seguida, clique em Guardar.

    Crie uma política de alerta

    Nesta secção, cria uma política de alertas para receber uma notificação quando o tráfego para o seu servidor Web Apache exceder um limite definido:

    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. Clique em Criar política.
    3. Selecione os intervalos temporais a monitorizar:

      1. Clique em Selecionar uma métrica e selecione Instância de VM.
      2. Na lista Categorias de métricas ativas, selecione Apache.
      3. Na lista Métricas ativas, selecione workload/apache.traffic.
      4. Clique em Aplicar.

      É apresentado o gráfico do tráfego do Apache.

    4. Avance para os campos Configurar acionador e, de seguida, defina o campo Valor limite como 1500.

      O gráfico apresenta o limite como uma linha tracejada. Certifique-se de que a linha tracejada é muito inferior ao nível máximo de tráfego.

    5. Avance para os campos Notificações e nome e, de seguida, use o menu Canais de notificação para selecionar o seu endereço de email.

    6. Para o nome da política, introduza Apache traffic above threshold.

    7. Avance para os campos Rever alerta, reveja a política de alertas e, de seguida, clique em Criar política.

    Teste a política de alerta

    Para testar a política de alertas, gere tráfego que exceda o limite:

    1. Aceda ao terminal SSH da sua instância de VM. Se não tiver um terminal aberto, faça o seguinte:

      1. Na Google Cloud consola, aceda à página Instâncias de VM:

        Aceda a Instâncias de VM

        Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda seja Compute Engine.

      2. Localize a nova VM e, de seguida, clique em SSH.

    2. No terminal SSH, execute o seguinte comando, que gera pedidos para o seu servidor Web Apache:

      timeout 120 bash -c -- 'while true; do curl localhost; sleep $((RANDOM % 4)) ; done'
    3. Aguarde dois minutos para que a linha de comandos seja devolvida ou o terminal seja fechado. Enquanto o comando está em execução, o texto HTML é apresentado no terminal.
    4. Quando a linha de comandos for apresentada novamente, verifique se recebeu um email cuja linha de assunto começa com [ALERT].

      Se não vir um email, examine o gráfico na política de alertas para verificar se o nível de tráfego excedeu o limite. Pode ter de executar novamente o comando anterior. Caso contrário, aguarde um ou dois minutos até receber o email.

      A notificação fornece um resumo da política de alertas e um link para um incidente. Cada incidente contém um registo da falha e, normalmente, estes são úteis na resolução de problemas.

      Notificação por email para a política de alerta de tráfego do Apache.

    Configurou o agente de operações para recolher registos e métricas do seu servidor Web Apache, mas só viu métricas. Para informações sobre como ver os registos do servidor Web Apache, consulte o guia de início rápido Veja os registos do servidor Web Apache.

Limpar

Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

Se criou um novo projeto e já não precisa dele, elimine o projeto.

Se usou um projeto existente, faça o seguinte:

  1. Se criou uma VM, elimine-a:

    1. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.
  2. Elimine a política de alerta que criou:

    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 a política de alertas que criou e, de seguida, clique em Eliminar.

O que se segue?