Recopila registros de Apache con el Agente de operaciones

Aprende a recopilar y ver los registros de syslog recopilados de un servidor web Apache instalado en una instancia de máquina virtual (VM) de Compute Engine con el Agente de operaciones. Puedes usar un proceso similar al de esta guía de inicio rápido para supervisar otras aplicaciones de terceros.

En esta guía de inicio rápido, puedes hacer lo siguiente:

  1. Crea una instancia de VM de Compute Engine y, luego, instala el Agente de operaciones.
  2. Instala un servidor web Apache.
  3. Configura el Agente de operaciones para Apache Web Server
  4. Visualizar registros en el Explorador de registros
  5. Crear una alerta basada en registros
  6. Prueba tu alerta.
  7. Realizar una limpieza

Para seguir la guía paso a paso sobre esta tarea directamente en la consola Google Cloud , haz clic en Guiarme:

GUIARME


Antes de comenzar

  1. Es posible que las restricciones de seguridad que define tu organización no te permitan completar los siguientes pasos. Para obtener información sobre la solución de problemas, consulta Desarrolla aplicaciones en un entorno Google Cloud restringido.

  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. Crea una instancia de VM

    1. En la consola de Google Cloud , ve a la página Instancias de VM.

      Ir a Instancias de VM

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.

    2. Haz clic en Crear instancia para crear una VM. Configura tu instancia con las opciones del menú de navegación.
    3. En la opción Configuración de la máquina, haz lo siguiente:
      1. En el campo Nombre, ingresa un nombre descriptivo.
      2. En el menú desplegable predeterminado Tipo de máquina, selecciona Con núcleo compartido > e2-small.
    4. Verifica que la opción SO y almacenamiento muestre Debian GNU/Linux. Si no es así, haz clic en la opción SO y almacenamiento y, luego, en Cambiar. En el diálogo Disco de arranque, establece Versión en Debian GNU/Linux.
    5. En la opción Redes, en Firewall, selecciona Permitir tráfico HTTP y Permitir tráfico HTTPS.
    6. Verifica que la opción Observabilidad muestre Instalar el Agente de operaciones. De lo contrario, haz clic en la opción Observabilidad y selecciona Instalar el Agente de operaciones para supervisión y registros.
    7. Haz clic en Crear.

    Instala un servidor web Apache

    Para instalar un servidor web Apache en tu instancia de VM de Compute Engine, haz lo siguiente:

    1. En la página Instancias de VM, ubica tu VM nueva, ve a la columna Conectar y, luego, haz clic en SSH.

      Si tienes problemas para conectarte, consulta Soluciona problemas de SSH.

    2. Para actualizar las listas de paquetes, copia el siguiente comando al portapapeles, pega el comando en la terminal SSH y, luego, presiona Intro:

      sudo apt-get update
      
    3. Cuando veas el mensaje "Reading package lists… Done", en la terminal de SSH, ejecuta el siguiente comando para instalar un servidor web Apache2:

      sudo apt-get install apache2 php7.0
      

      Si se te solicita continuar la instalación, ingresa Y. Si el comando anterior falla, usa: sudo apt-get install apache2 php.

    4. Cuando aparezca el símbolo del sistema, ve a la página Instancias de VM y copia la dirección IP externa de la VM en la siguiente URL:

      http://EXTERNAL_IP
      
    5. Para conectarte a tu servidor web Apache, abre una nueva pestaña del navegador y, luego, ingresa la URL del paso anterior.

      Cuando el servidor web se instale de forma correcta, la pestaña del navegador mostrará la página predeterminada de Apache2 Debian.

      Se muestra la página predeterminada de Apache2.

    Recopila registros y métricas del servidor web Apache

    En estos pasos, configurarás el Agente de operaciones para recopilar registros y métricas de tu servidor web Apache:
    1. Ve a la terminal SSH de tu instancia de VM. Si no tienes una terminal abierta, haz lo siguiente:

      1. En la consola de Google Cloud , ve a la página Instancias de VM.

        Ir a Instancias de VM

        Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.

      2. Ubica tu VM nueva y, luego, haz clic en SSH.

    2. Copia el siguiente comando, pégalo en la terminal de tu instancia y, luego, presiona Intro:

      # 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
      

      El comando anterior crea la configuración para recopilar y transferir registros y métricas del servidor web Apache. Si quieres obtener más información, consulta Configura el Agente de operaciones para el servidor web Apache.

    3. Reinicia el Agente de operaciones:
      1. Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
        sudo systemctl restart google-cloud-ops-agent
        
      2. Para confirmar que el agente se haya reiniciado, ejecuta el siguiente comando y verifica que los componentes “Agente de métricas” y “Agente de Logging” se hayan iniciado:
        sudo systemctl status "google-cloud-ops-agent*"
        

    Visualiza los registros del servidor web Apache

    Para ver tus registros en la consola de Google Cloud , usa el Explorador de registros:

    1. En la consola de Google Cloud , accede a la página Explorador de registros:

      Acceder al Explorador de registros

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

      Los registros más recientes se muestran en el panel Resultados de la consulta.

    2. En la barra de herramientas, asegúrate de que esté habilitada la opción Mostrar consulta.

    3. Para ver los registros de tu servidor web Apache, crea y ejecuta una consulta:

      1. Expande la lista de Google Cloud proyectos desde el selector de proyectosGoogle Cloud y, luego, copia el ID del proyectoGoogle Cloud en tu portapapeles.

      2. En la siguiente expresión, pega el ID copiado en el campo PROJECT_ID y, luego, copia la expresión en el editor de consultas:

        resource.type="gce_instance"
        logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")
        

        Cuando se ejecuta la consulta anterior, solo se muestran las entradas de registro apache_access y apache_error.

      3. Haz clic en Ejecutar consulta.

        Los resultados de la consulta se muestran en el panel Resultados de la consulta.

    Configuraste el Agente de operaciones para recopilar registros y métricas de tu servidor web Apache, y consultaste esos registros. El siguiente paso es crear una política de alertas para que recibas una notificación cuando aparezca un patrón específico en un registro.

    Crea un canal de notificaciones por correo electrónico

    Antes de crear una política de alertas, configura los canales de notificación que deseas que use la política de alertas. Cloud Monitoring admite muchos tipos diferentes de canales de notificación, incluidos el correo electrónico, Slack, PagerDuty y Pub/Sub. Para obtener más información, consulta Cómo crear y administrar canales de notificaciones. Para recibir notificaciones por correo electrónico, haz lo siguiente:
    1. En la consola de Google Cloud , ve a la página  Alertas:

      Ir a las Alertas

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    2. En la barra de herramientas, haz clic en Editar canales de notificaciones.
    3. En la página Canales de notificaciones, desplázate hasta Correo electrónico y haz clic en Agregar nuevo.
    4. Ingresa tu dirección de correo electrónico, un nombre visible como My email y, luego, haz clic en Guardar.

    Crear una alerta basada en registros

    Para recibir una notificación cuando aparezca un mensaje específico en tus entradas de registro, crea una alerta basada en registros. En esta sección, crearás una alerta basada en registros para que recibas una notificación cuando aparezca un mensaje 404 Not Found en tus entradas de registro.

    1. En la consola de Google Cloud , accede a la página Explorador de registros:

      Acceder al Explorador de registros

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

    2. En la barra de herramientas Resultados de la consulta, haz clic en Crear alerta. Se abrirá el panel de políticas de alertas basadas en registros.

    3. En Detalles de la alerta, ingresa 404 Not Found para el campo Nombre de la política de alertas.

    4. En Elige registros para incluir en esta alerta, haz lo siguiente:

      1. Quita cualquier contenido que esté en el cuadro de texto de filtro de registro.
      2. Copia la siguiente consulta y pégala en el cuadro de texto del filtro de registro:

        severity>=DEFAULT /help httpRequest.status=404
        

        El filtro de registro anterior busca entradas de registro con un nivel de severity de al menos DEFAULT que contengan el texto /help y un estado httpRequest de 404

    5. En la sección Set notification frequency and autoclose duration, haz lo siguiente:

      1. Establece el campo Tiempo entre notificaciones en 5 min.
      2. Establece el campo Duración del cierre automático de incidentes en 30 min.
    6. En ¿Quién debe recibir notificaciones?, selecciona tu correo electrónico en el menú Canales de notificaciones y, luego, haz clic en Guardar.

    Prueba la política de alertas

    Para probar la política de alertas, haz lo siguiente:

    1. Ve a la terminal SSH de tu instancia de VM. Si no tienes una terminal abierta, haz lo siguiente:

      1. En la consola de Google Cloud , ve a la página Instancias de VM.

        Ir a Instancias de VM

        Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Compute Engine.

      2. Ubica tu VM nueva y, luego, haz clic en SSH.
    2. Para buscar la página falsa localhost/help en el servidor, ejecuta el siguiente comando:

      curl localhost/help
      

      Cuando veas un mensaje 404 Not Found en la terminal, se enviará una notificación por correo electrónico. Este proceso tardará varios minutos en completarse.

      La notificación por correo electrónico que recibes es similar a la siguiente:

      La alerta basada en registros de ejemplo genera una notificación por correo electrónico.

    3. Para ver las entradas de registro nuevas, haz lo siguiente:

      1. En la consola de Google Cloud , ve a la página Explorador de registros.

        Acceder al Explorador de registros

        Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

      2. En la barra de herramientas, haz clic en Pasar a los más recientes.

    Configuraste el Agente de operaciones para recopilar registros y métricas de tu servidor web Apache, pero solo visualizaste registros. Para obtener información sobre cómo ver las métricas del servidor web Apache, consulta Recopila métricas del servidor web Apache con el Agente de operaciones: Genera tráfico.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Si creaste un proyecto nuevo y ya no lo necesitas, bórralo.

Si usaste un proyecto existente, haz lo siguiente:

  1. Si creaste una VM, bórrala:

    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. Borra la política de alertas que creaste:

    1. En la consola de Google Cloud , ve a la página  Alertas:

      Ir a las Alertas

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

    2. Selecciona la política de alertas que creaste y, luego, haz clic en Borrar.

¿Qué sigue?