Configura métricas de contadores

En este documento, se explica cómo crear una métrica basada en registros de tipo contador con la consola de Google Cloud, la API de Logging y Google Cloud CLI.

Las métricas de contador cuentan la cantidad de entradas de registro que coinciden con un filtro determinado. Por ejemplo, puedes crear una métrica basada en registros que cuente la cantidad de entradas de registro que contienen un mensaje de error específico. Las métricas basadas en registros se pueden aplicar a un solo proyecto de Google Cloud o a un bucket de registros.

Para obtener una descripción general de las métricas basadas en registros, consulta Descripción general de las métricas basadas en registros.

Antes de comenzar

  1. Para usar métricas basadas en registros, debes tener un proyecto de Google Cloud con la facturación habilitada:

    1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

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

      Go to project selector

    5. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  2. Asegúrate de que tu función de Identity and Access Management incluya los permisos necesarios para crear y ver métricas basadas en registros, y para crear políticas de alertas. A fin de obtener detalles, consulta Permisos para métricas basadas en registros.

Crea una métrica basada en registros de tipo contador

La métrica cuenta las entradas de registro identificadas por un filtro que proporciones. Puedes usar expresiones regulares en tu filtro y te recomendamos que incluyas un tipo de recurso. La longitud de un filtro no puede superar los 20,000 caracteres.

No incluyas información sensible en el filtro. Los filtros se tratan como datos de servicio.

Console

Sigue estos pasos para crear una métrica de contador en la consola de Google Cloud en tu proyecto de Google Cloud:

  1. En la consola de Google Cloud, ve a la página Métricas basadas en registros.

    Ir a Métricas basadas en registros

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

  2. Haz clic en Crear métrica. Aparecerá el panel Crear métrica de registros.

  3. Para el Tipo de métrica, selecciona Contador.

  4. Configura los siguientes campos en la sección Detalles:

    • Nombre de la métrica de registro: Elige un nombre que sea único entre las métricas basadas en registros de tu proyecto de Google Cloud. Se aplican algunas restricciones de denominación. Para obtener más detalles, consulta Solución de problemas.
    • Descripción: ingresa una descripción para la métrica.
    • Unidades: deja este campo en blanco o inserta el número 1.
  5. Define tu filtro de métricas en la sección Selección de filtro.

    1. Usa Seleccionar el permiso del registro para elegir si tu filtro se orienta a todos los registros del proyecto de Google Cloud o solo a los registros de un bucket específico.

    2. Crea un filtro que solo recopile las entradas de registro que deseas contar en tu métrica con el lenguaje de consulta de Logging. También puedes usar expresiones regulares para crear filtros de tu métrica.

    3. Para ver qué entradas de registro coinciden con tu filtro, haz clic en Obtener vista previa de los registros.

  6. Agrega una etiqueta en la sección Etiquetas (opcional). Para obtener instrucciones sobre cómo crear etiquetas, consulta Crea una etiqueta.

  7. Haz clic en Crear métrica a fin de crear la métrica.

gcloud

Puedes crear una métrica basada en registros sin etiquetas personalizadas con el siguiente comando:

gcloud logging metrics create METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  [--bucket-name="BUCKET_NAME"]

Por ejemplo, con el siguiente comando, se crea una métrica basada en registros con alcance de proyecto llamada error_count.

gcloud logging metrics create error_count \
     --description "Errors in syslog." \
     --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"

Para crear una métrica basada en registros con alcance de bucket, proporciona la marca --bucket_name:

gcloud logging metrics create error_count \
    --description "Errors in syslog." \
    --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \
    --bucket-name projects/my-project/locations/global/buckets/my-test-bucket

Para obtener instrucciones sobre cómo crear etiquetas, consulta Crea una etiqueta.

API

Para crear una métrica de contador, usa el método projects.metrics.create de la API de Logging. Puedes probar el método en el Explorador de API. Prepara los argumentos del método de la siguiente manera:

  1. Establece el campo parent en el proyecto o bucket en el que se creará la métrica:

    • Para una métrica basada en registros con alcance de proyecto, especifica el proyecto:
    projects/PROJECT_ID
    
    • Para una métrica basada en registros con alcance de bucket, especifica el bucket:
    projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
    
  2. Establece el cuerpo de la solicitud en un objeto LogMetric. A continuación, se muestra un objeto de muestra para una métrica de contador:

    {
      name:        "my-metric"
      description: "This is my metric."
      filter:      "resource.type=gce_instance AND log_id(\"syslog\")",
      metricDescriptor: {
          labels: [
            {
              key: "my-label",
              valueType: STRING,
              description: "This is my label.",
            }
          ]
      },
      labelExtractors: {
        "my-label":
          "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")",
        ...
      },
    }
    

Notas:

  • Elige un nombre de métrica que sea único entre las métricas basadas en registros de tu proyecto. Se aplican algunas restricciones de denominación; para obtener más detalles consulta la sección Solución de problemas.

  • Para las métricas de contador, los campos LogMetric valueExtractor y bucketOptions no cumplen ningún propósito y se omiten.

  • Si la métrica no tiene etiquetas, puedes omitir los campos metricDescriptor y labelExtractors. Si tu métrica tiene etiquetas, consulta Etiquetas de métricas basadas en registros para obtener una introducción a las etiquetas y detalles sobre cómo crearlas en la API.

A fin de obtener más detalles, consulta el tipo LogMetric.

Latencia de métricas nuevas

Tu métrica nueva aparece de inmediato en la lista de métricas del Explorador de registros y en los menús relevantes de Monitoring. Por lo general, los datos están disponibles en menos de un minuto.

Inspecciona métricas basadas en registros

Para enumerar las métricas basadas en registros definidas por el usuario en tu proyecto de Google Cloud o inspeccionar una métrica particular en tu proyecto de Google Cloud, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve a la página Métricas basadas en registros.

    Ir a Métricas basadas en registros

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

  2. En el panel Métricas definidas por el usuario, verás las métricas basadas en registros definidas por el usuario en el proyecto actual de Google Cloud:

  3. Para ver los datos de una métrica basada en registros, haz clic en el Menú en la fila de la métrica y selecciona Ver en el Explorador de métricas.

gcloud

Para enumerar las métricas basadas en registros definidas por el usuario en tu proyecto de Google Cloud, usa el siguiente comando:

gcloud logging metrics list

Para mostrar una métrica basada en registros definida por el usuario en tu proyecto de Google Cloud, usa el siguiente comando:

gcloud logging metrics describe METRIC_NAME

Para obtener ayuda, usa el siguiente comando:

gcloud logging metrics --help

No puedes leer los datos de series temporales de una métrica desde Google Cloud CLI.

API

Mostrar métricas

Para enumerar las métricas basadas en registros definidas por el usuario en un proyecto de Google Cloud, usa el método de la API projects.metrics.list. Completa los parámetros del método de la siguiente manera:

  • parent: Es el nombre del recurso del proyecto de Google Cloud: projects/PROJECT_ID.
  • pageSize: la cantidad máxima de resultados.
  • pageToken: obtiene la próxima página de resultados. Para obtener más información sobre el uso de tokens de página, consulta projects.metrics.list.

Recupera definiciones de métricas

Para recuperar una sola métrica basada en registros definida por el usuario, usa el método de la API projects.metrics.get. Completa los parámetros del método de la siguiente manera:

  • metricName: el nombre del recurso de la métrica:

    projects/PROJECT_ID/metrics/METRIC_ID
    

Lee datos de métricas

Para leer los datos de series temporales en una métrica basada en registros, usa projects.timeseries.list en la API de Cloud Monitoring. Para obtener detalles sobre los datos de series temporales, consulta Lee series temporales.

Para leer una sola métrica basada en registros definida por el usuario, completa los parámetros del método con este identificador y tipo de métrica:

logging.googleapis.com/user/METRIC_ID

Actualizar métricas basadas en registros

Puedes editar una métrica basada en registros definida por el usuario para cambiar su descripción, filtro y los nombres de los campos a los que se hace referencia en la métrica. Puedes agregar etiquetas nuevas a la métrica y cambiar las expresiones regulares usadas a fin de extraer valores para la métrica y sus etiquetas. Si usas una métrica con alcance de bucket, también puedes actualizar el bucket de la métrica.

No puedes cambiar los nombres o tipos de métricas basadas en registros definidas por el usuario o sus etiquetas, y no puedes borrar las etiquetas existentes en una métrica basada en registros.

Para editar una métrica basada en registros, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Métricas basadas en registros.

    Ir a Métricas basadas en registros

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

  2. Haz clic en Editar métrica en el Menú de la métrica basada en registros que deseas modificar.

  3. Cambia los elementos permitidos en la métrica.

  4. Haz clic en Actualizar métrica.

gcloud

Usa Google Cloud CLI para cambiar la descripción, la consulta del filtro y el bucket de una métrica de contador. Puedes actualizar cualquiera de los campos o todos al mismo tiempo.

gcloud logging update METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  --bucket-name=BUCKET_NAME

Si cambias el bucket asociado con una métrica de alcance de bucket, cualquier dato de métrica recopilado antes del cambio ya no reflejará la configuración actual. Los datos de métricas recopilados para el bucket anterior no se quitan.

Para actualizar las métricas de distribución y otros campos de la métrica de contador, excepto METRIC_NAME, crea un archivo que contenga la especificación revisada de tu LogMetric en formato JSON o YAML. Luego, actualiza la métrica. Para ello, llama al comando update con el campo --config-from-file y reemplaza FILENAME por el nombre de tu archivo JSON o YAML:

gcloud logging update METRIC_NAME --config-from-file FILENAME

Para obtener más detalles, usa el siguiente comando:

gcloud logging metrics update --help

API

Para editar una métrica basada en registros, usa el método projects.metrics.update en la API. Configura los campos de la siguiente manera:

  • metricName: es el nombre completo del recurso de la métrica:

    projects/PROJECT_ID/metrics/METRIC_ID
    

    Por ejemplo:

    projects/my-gcp-project/metrics/my-error-metric
    
  • En el cuerpo de la solicitud, incluye un objeto LogMetric que es igual a la métrica existente excepto por los cambios y adiciones que deseas hacer.

Borrar métricas basadas en registros

Para borrar una métrica basada en registros definida por el usuario, haz lo siguiente:

Console

  1. En la consola de Google Cloud, ve a la página Métricas basadas en registros.

    Ir a Métricas basadas en registros

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

  2. Selecciona la métrica que deseas borrar y haz clic en Borrar.

    Como alternativa, haz clic en Borrar métrica en el menú de la métrica basada en registros que deseas borrar.

gcloud

Usa el siguiente comando para borrar una métrica basada en registros definida por el usuario en el proyecto actual de Google Cloud:

gcloud logging metrics delete METRIC_NAME

For more details, use the following command:

gcloud logging metrics delete --help

API

Para borrar una métrica basada en registros definida por el usuario, usa el método projects.metrics.delete en la API.

Además, en la página Métrica basada en registros de la consola de Google Cloud, el panel Métricas definidas por el usuario de la interfaz de métricas basadas en registros proporciona más funciones para ayudarte a administrar las métricas definidas por el usuario en tu proyecto de Google Cloud. Consulta Panel de métricas definidas por el usuario para obtener más información.