Inhabilitar la recogida de métricas

En este documento se describe cómo inhabilitar la API Cloud Monitoring en un proyecto y cómo evitar que el agente de operaciones y el agente de Monitoring antiguo recopilen métricas de procesos.Google Cloud Por ejemplo, puede que quieras inhabilitar la API Cloud Monitoring cuando quieras evitar que se ingieran métricas facturables en un proyecto. Google Cloud

Inhabilitar la recogida de todas las métricas

Para evitar que se recojan todas las métricas, inhabilita la API de Cloud Monitoring:

Consola

  1. En la Google Cloud consola, selecciona el Google Cloud proyecto y, a continuación, ve a la página APIs y servicios:

    Ir a APIs y servicios

  2. Selecciona API de Cloud Monitoring.

  3. Haz clic en Inhabilitar API.

gcloud

Ejecuta el siguiente comando para inhabilitar la API Cloud Monitoring en tu proyecto actual:

gcloud services disable monitoring.googleapis.com

Para obtener información sobre cómo inhabilitar una API mediante la CLI de Google Cloud, consulta el artículo Habilitar e inhabilitar servicios.

Inhabilitar la recogida de métricas de procesos

Hay varias formas de inhabilitar la recogida de estas métricas con el agente de Ops (versión 2.0.0 y posteriores) y con el agente de Monitoring antiguo en Linux.

Los agentes solo se ejecutan en VMs de Compute Engine y, en el caso del agente de Monitoring, en VMs de Amazon Elastic Compute Cloud (EC2). Estos procedimientos solo se aplican a esas plataformas.

No puedes inhabilitar la recogida de datos por parte del agente de Ops si utilizas versiones anteriores a la 2.0.0 o el agente de Monitoring antiguo en Windows. Si quieres inhabilitar la recogida de estas métricas en Windows, te recomendamos que actualices a la versión 2.0.0 o a una posterior del agente de operaciones. Para obtener más información, consulta Instalar el agente de Ops.

El procedimiento general es el siguiente:

  1. Conéctate a la VM.

  2. Haz una copia del archivo de configuración actual como copia de seguridad. Guarda la copia de seguridad fuera del directorio de configuración del agente para que el agente no intente cargar ambos archivos. Por ejemplo, el siguiente comando hace una copia del archivo de configuración del agente de monitorización en Linux:

    cp /etc/stackdriver/collectd.conf BACKUP_DIR/collectd.conf.bak
    
  3. Cambie la configuración con una de las opciones descritas a continuación:

  4. Reinicia el agente para que se aplique la nueva configuración:

    • User-agent de monitorización: sudo service stackdriver-agent restart
    • Agente de operaciones: sudo service google-cloud-ops-agent restart
  5. Comprueba que ya no se recogen las métricas de proceso de esta máquina virtual:

    1. En la Google Cloud consola, ve a la página  Explorador de métricas:

      Ve al explorador de métricas.

      Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Monitorización.

    2. En la barra de herramientas del panel de creación de consultas, selecciona el botón cuyo nombre sea  MQL o  PromQL.

    3. Verifica que PromQL esté seleccionado en el interruptor Idioma. El interruptor de idioma se encuentra en la misma barra de herramientas que te permite dar formato a tu consulta.

    4. En el caso de un recurso gce_instance, introduce la siguiente consulta y sustituye VM_NAME por el nombre de esta VM:

      rate({"agent.googleapis.com/processes/cpu_time", monitored_resource="gce_instance", metadata_system_name="VM_NAME"}[1m])
      

      En el caso de un recurso aws_ec2_instance, sustituye gce_instance en la consulta.

    5. Haz clic en Ejecutar consulta.

Agente de operaciones en Linux o Windows

La ubicación del archivo de configuración del agente de operaciones depende del sistema operativo:

  • En Linux: /etc/google-cloud-ops-agent/config.yaml
  • En Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Para inhabilitar la recogida de todas las métricas de procesos por parte del agente de operaciones, añade lo siguiente al archivo config.yaml:

metrics:
  processors:
    metrics_filter:
      type: exclude_metrics
      metrics_pattern:
      - agent.googleapis.com/processes/*

De esta forma, se excluyen las métricas de procesos de la recogida en el metrics_filterprocesador que se aplica a la canalización predeterminada del servicio metrics.

Para obtener más información sobre las opciones de configuración del agente de operaciones, consulta el artículo Configurar el agente de operaciones.

Agente de Monitoring en Linux

Para inhabilitar la recogida de métricas de procesos con el agente de Monitoring antiguo, tienes las siguientes opciones:

En las siguientes secciones se describe cada opción y se enumeran las ventajas y los riesgos asociados a ella.

Modificar el archivo de configuración del agente

Con esta opción, puedes editar directamente el archivo de configuración principal del agente, /etc/stackdriver/collectd.conf, para quitar las secciones que habilitan la recogida de métricas de procesos.

Procedimiento

Hay tres grupos de eliminaciones que debes hacer en el archivo collectd.conf:

  1. Elimina la siguiente directiva LoadPlugin y la configuración del complemento:

    LoadPlugin processes
    
    <Plugin "processes">
      ProcessMatch "all" ".*"
      Detail "ps_cputime"
      Detail "ps_disk_octets"
      Detail "ps_rss"
      Detail "ps_vm"
    </Plugin>
    
  2. Elimina la siguiente directiva PostCacheChain y la configuración de la cadena PostCache:

    PostCacheChain "PostCache"
    
    <Chain "PostCache">
      <Rule "processes">
        <Match "regex">
          Plugin "^processes$"
          Type "^(ps_cputime|disk_octets|ps_rss|ps_vm)$"
        </Match>
        <Target "jump">
          Chain "MaybeThrottleProcesses"
        </Target>
        Target "stop"
      </Rule>
    
      <Rule "otherwise">
        <Match "throttle_metadata_keys">
          OKToThrottle false
          HighWaterMark 5700000000  # 950M * 6
          LowWaterMark 4800000000  # 800M * 6
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
  3. Elimina la cadena MaybeThrottleProcesses que usa la cadena PostCache:

    <Chain "MaybeThrottleProcesses">
      <Rule "default">
        <Match "throttle_metadata_keys">
          OKToThrottle true
          TrackedMetadata "processes:pid"
          TrackedMetadata "processes:command"
          TrackedMetadata "processes:command_line"
          TrackedMetadata "processes:owner"
        </Match>
        <Target "write">
           Plugin "write_gcm"
        </Target>
      </Rule>
    </Chain>
    
Ventajas y riesgos
  • Ventajas
    • Reduces los recursos que consume el agente, ya que las métricas nunca se recogen.
    • Si has hecho otros cambios en tu archivo collectd.conf, puede que puedas conservarlos fácilmente.
  • Riesgos
    • Debe usar la cuenta de root para editar este archivo de configuración.
    • Te arriesgas a introducir errores tipográficos en el archivo.

Sustituir el archivo de configuración del agente

Con esta opción, se sustituye el archivo de configuración principal del agente por una versión editada previamente que tiene las secciones pertinentes eliminadas.

Procedimiento
  1. Descarga el archivo preeditado, collectd-no-process-metrics.conf, del repositorio de GitHub en el directorio /tmp y, a continuación, haz lo siguiente:

    cd /tmp && curl -sSO https://raw.githubusercontent.com/Stackdriver/agent-packaging/master/collectd-no-process-metrics.conf
    
  2. Sustituye el archivo collectd.conf por el archivo preeditado:

    cp /tmp/collectd-no-process-metrics.conf /etc/stackdriver/collectd.conf
    
Ventajas y riesgos
  • Ventajas
    • Reduces los recursos que consume el agente porque las métricas nunca se recogen.
    • No tienes que editar el archivo manualmente como root.
    • Las herramientas de gestión de la configuración pueden sustituir fácilmente un archivo.
  • Riesgos
    • Si has hecho otros cambios en el archivo collectd.conf, debes combinar esos cambios en el archivo de sustitución.

Solución de problemas

Los procedimientos descritos en este documento son cambios en la configuración del agente, por lo que es muy probable que se produzcan los siguientes problemas:

  • Privilegios insuficientes para editar los archivos de configuración. Los archivos de configuración deben editarse desde la cuenta de root.
  • Introducción de errores tipográficos en el archivo de configuración si lo editas directamente.

Para obtener información sobre cómo resolver otros problemas, consulta Solucionar problemas del agente de monitorización.

Agente de monitorización en Windows

No puedes inhabilitar la recogida de métricas de procesos mediante el agente de Monitoring antiguo que se ejecuta en VMs Windows. Este agente no se puede configurar. Si quieres inhabilitar la recogida de estas métricas en Windows, te recomendamos que actualices a la versión 2.0.0 o a una posterior del agente de operaciones. Para obtener más información, consulta Instalar el agente de Ops.

Si estás ejecutando el agente de operaciones, consulta Agente de operaciones en Linux o Windows.