Configurar métricas de contador

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

Las métricas de contador cuentan el número de entradas de registro que coinciden con un filtro concreto. Por ejemplo, puedes crear una métrica basada en registros que cuente el número de entradas de registro que contengan un mensaje de error específico. Las métricas basadas en registros se pueden aplicar en un solo Google Cloud proyecto o en un segmento de registros.

Para obtener información general sobre las métricas basadas en registros, consulta el artículo Información general sobre las métricas basadas en registros.

Antes de empezar

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

    1. 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.
    2. 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

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

    4. 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

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

    6. Asegúrate de que tu rol de gestión de identidades y accesos incluya los permisos necesarios para crear y ver métricas basadas en registros, así como para crear políticas de alertas. Para obtener más información, consulta Permisos de las métricas basadas en registros.

    7. Crear una métrica basada en registros de tipo contador

      La métrica cuenta las entradas de registro identificadas por un filtro que proporciones. Puede usar expresiones regulares en su filtro. Le recomendamos que incluya 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.

      Consola

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

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

        Ve a Métricas basadas en registros.

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

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

      3. En Tipo de métrica, selecciona Contador.

      4. En la sección Detalles, rellene los siguientes campos:

        • Nombre de la métrica de registro: elija un nombre único entre las métricas basadas en registros de su Google Cloud proyecto. Se aplican algunas restricciones de nomenclatura. Para obtener más información, consulta la sección Solución de problemas.
        • Descripción: escriba una descripción de la métrica.
        • Unidades: deja este campo en blanco o inserta el dígito 1.
      5. Define el filtro de métricas en la sección Selección de filtros.

        1. Usa el menú Seleccionar proyecto o contenedor de registro para elegir si la métrica cuenta las entradas de registro de tu proyecto o solo las de un contenedor de registro específico. Google Cloud

        2. Crea un filtro que recoja solo las entradas de registro que quieras contar en tu métrica mediante el lenguaje de consultas de registro. También puede usar expresiones regulares para crear los filtros de su métrica.

        3. Para ver qué entradas de registro coinciden con su filtro, haga clic en Vista previa de los registros.

      6. (Opcional) Añade una etiqueta en la sección Etiquetas. Para obtener instrucciones sobre cómo crear etiquetas, consulta el artículo Crear una etiqueta.

      7. Haz clic en Crear métrica para crear la métrica.

      gcloud

      Puede 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, el siguiente comando crea una métrica basada en registros con ámbito 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 ámbito de contenedor, 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 Configurar etiquetas en métricas basadas en registros.

      API

      Para crear una métrica de contador, usa el método projects.metrics.create de la API Logging. Si usas el panel Explorador de APIs de la página de referencia, prepara los argumentos de la siguiente manera:

      1. Asigna al campo parent el proyecto o el segmento en el que se va a crear la métrica:

        • En el caso de una métrica basada en registros con ámbito de proyecto, especifica el proyecto:
        projects/PROJECT_ID
        
        • En el caso de una métrica basada en registros con ámbito de segmento, especifica el segmento:
        projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
        
      2. Asigna al cuerpo de la solicitud un objeto LogMetric. A continuación, se muestra un ejemplo de objeto de 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 nomenclatura. Para obtener más información, consulta la sección Solución de problemas.

      • En el caso de las métricas de contador, los campos LogMetric valueExtractor y bucketOptions no tienen ninguna función y se omiten.

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

      Para obtener más información, consulta el tipo LogMetric.

      Latencia de las nuevas métricas

      La nueva métrica aparecerá inmediatamente en la lista de métricas del Explorador de registros y en los menús de monitorización correspondientes. Los datos suelen estar disponibles en menos de un minuto.

      Inspeccionar métricas basadas en registros

      Para enumerar las métricas basadas en registros definidas por el usuario de tu proyecto Google Cloud o para inspeccionar una métrica concreta de tu proyecto Google Cloud , haz lo siguiente:

      Consola

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

        Ve a Métricas basadas en registros.

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

      2. En el panel Métricas definidas por el usuario, se muestran las métricas basadas en registros definidas por el usuario del proyecto actual: Google Cloud

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

      gcloud

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

      gcloud logging metrics list
      

      Para mostrar una métrica basada en registros definida por el usuario en tu Google Cloud proyecto, 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 la serie temporal de una métrica desde Google Cloud CLI.

      API

      Mostrar métricas

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

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

      Recuperar definiciones de métricas

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

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

        projects/PROJECT_ID/metrics/METRIC_ID
        

      Leer datos de métricas

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

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

      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, su filtro y los nombres de los campos a los que hace referencia la métrica. Puede añadir nuevas etiquetas a la métrica y cambiar las expresiones regulares que se usan para extraer valores de la métrica y sus etiquetas. Si usas una métrica con ámbito de contenedor, también puedes actualizar el contenedor de la métrica.

      No puedes cambiar los nombres ni los tipos de las métricas basadas en registros definidas por el usuario ni sus etiquetas, y tampoco puedes eliminar etiquetas de una métrica basada en registros.

      Para editar una métrica basada en registros, sigue estos pasos:

      Consola

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

        Ve a Métricas basadas en registros.

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

      2. En el menú , haz clic en Editar métrica de la métrica basada en registros que quieras modificar.

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

      4. Haz clic en Actualizar métrica.

      gcloud

      Usa la CLI de Google Cloud para cambiar la descripción, la consulta de filtro y el contenedor de una métrica de contador. Puedes actualizar todos los campos a la vez o solo algunos.

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

      Si cambia el contenedor asociado a una métrica de ámbito de contenedor, los datos de la métrica recogidos antes del cambio ya no reflejarán la configuración actual. Los datos de métricas recogidos en el segmento anterior no se eliminan.

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

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

      Para obtener más información, 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 de la API. Define los campos de la siguiente manera:

      • metricName 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, incluya un objeto LogMetric que sea exactamente igual a la métrica que ya tiene, excepto por los cambios y las adiciones que quiera hacer.

      Eliminar métricas basadas en registros

      Para eliminar una métrica basada en registros definida por el usuario, sigue estos pasos:

      Consola

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

        Ve a Métricas basadas en registros.

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

      2. Selecciona la métrica que quieras eliminar y haz clic en Eliminar.

        También puede hacer clic en Eliminar métrica en el menú de la métrica basada en registros que quiera eliminar.

      gcloud

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

      gcloud logging metrics delete METRIC_NAME
      

      Para obtener más información, usa el siguiente comando:

      gcloud logging metrics delete --help
      

      API

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

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