Extensión de Google Cloud Logging

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Versión 2.0.0

Escribe entradas en los registros de Cloud Logging.

En este contenido, se proporciona una referencia para configurar y usar esta extensión.

Requisitos previos

Antes de usar esta extensión desde un proxy de API, debes hacer lo siguiente:

  1. En IAM, asigna el rol Registros > Escritor de registros al miembro del proyecto que representará tu extensión en el sistema de Cloud Logging. Para obtener instrucciones sobre cómo otorgar roles, consulta Otorga funciones a una cuenta de servicio para recursos específicos. Para obtener más información sobre los roles de registro, consulta la Guía de control de acceso.

  2. Usa la consola de Google Cloud para generar una clave para la cuenta de servicio.

  3. Usa el contenido del archivo JSON de clave resultante cuando agregues y configures la extensión con la referencia de configuración.

Esta extensión admite que se le llame mediante una política de ExtensionCallout ubicada en PostClientFlow. Si deseas usar la política ExtensionCallout para llamar a esta extensión desde un PostClientFlow, asegúrate de que la marca features.allowExtensionsInPostClientFlow esté establecida en true en tu organización.

  • Si eres cliente de Apigee Edge para la nube pública, debes comunicarte con el equipo de asistencia de Apigee Edge para asegurarte de que la marca features.allowExtensionsInPostClientFlow esté configurada como true en tu organización.

  • Si eres cliente de Apigee Edge para una nube privada, usa la API de Actualizar las propiedades de la organización para establecer la marca features.allowExtensionsInPostClientFlow en true.

Información acerca de Cloud Logging

Cloud Logging forma parte del paquete de operaciones de Google Cloud. Incluye almacenamiento para registros, una interfaz de usuario llamada Explorador de registros y una API con la que se pueden administrar los registros de manera programática. Con Cloud Logging, puedes leer y escribir entradas de registro, buscar y filtrar tus registros, exportarlos y crear métricas basadas en registros.

Actualmente, la extensión de Cloud Logging escribe entradas en el registro. Para obtener más información, consulta los documentos de Cloud Logging.

Ejemplos

En los siguientes ejemplos, se muestra cómo configurar la compatibilidad con las acciones de extensión de Cloud Logging con la política ExtensionCallout.

Registro global

La siguiente política escribe el mensaje This is a test en un registro llamado example-log en el recurso global de Cloud. En el uso real, es probable que el mensaje se contenga en una variable de flujo cuyo valor establezcas en otro lugar del proxy de API.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
    <DisplayName>Logging Connector</DisplayName>
    <Connector>cloud-extension-sample</Connector>
    <Action>log</Action>
    <Input><![CDATA[{
        "logName": "example-log",
        "metadata": {
            "resource": {
                "type": "global",
                "labels": {
                    "project_id": "my-test"
                }
            }
        },
        "message": "This is a test."
    }]]></Input>
</ConnectorCallout>

En este contenido, se proporciona una referencia para configurar y usar esta extensión. Si deseas conocer los pasos para configurar una extensión con la consola de Apigee, consulta Cómo agregar y configurar una extensión.

Acciones

log

Escribe un mensaje en el registro.

Esta acción escribe una entrada de registro de Cloud Logging. Las entradas de registro consisten en metadatos y los datos de entrada. Para obtener más información sobre las entradas de registro, consulta la referencia de entradas. Para obtener información sobre el contenido de la propiedad metadata, consulta el objeto LogEntry en la documentación de Cloud Logging.

Sintaxis

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "cloud-log-name-to-use",
  "metadata" : JSON-structured-metadata,
  "message" : "data-to-log-as-entry"
}]]></Input>

Ejemplo: Cadena

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message": "This is a test."
}]]></Input>

Ejemplo: JSON

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "example-log",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : { "info" :  "This is a test." }
}]]></Input>

parámetros de solicitud

Parámetro Descripción Tipo Predeterminado Obligatorio
logName Es el nombre del registro al que pertenece esta entrada. String Ninguno
metadata Son metadatos sobre la entrada de registro.
Para obtener más información y opciones sobre cómo configurar type y labels en metadata, consulta MonitoredResource.
JSON Ninguno No
message Datos que se usarán como valor para esta entrada de registro. Puedes especificar una cadena simple o usar JSON para registrar un mensaje más estructurado. Cadena o JSON Ninguno

Respuesta

None si el mensaje se escribió en el registro. De lo contrario, la solicitud mostrará un error. Consulta también Cómo depurar una extensión.

Referencia de la configuración

Usa lo siguiente cuando configures y, luego, implementes esta extensión para usarla en proxies de API.

Propiedades comunes de la extensión

Las siguientes propiedades están presentes para cada extensión.

Propiedad Descripción Predeterminado Obligatorio
name Nombre que asignas a esta configuración de la extensión. Ninguna
packageName Nombre del paquete de extensiones proporcionado por Apigee Edge. Ninguna
version El número de versión del paquete de extensiones desde el que quieres configurar la extensión. Ninguna
configuration Es un valor de configuración específico para la extensión que agregas. Consulta Propiedades para este paquete de extensiones Ninguna

Propiedades de este paquete de extensión

Especifica valores para las siguientes propiedades de configuración específicas de esta extensión.

Propiedad Descripción Predeterminada Obligatorio
projectId Es el ID del proyecto de Google Cloud en el que se deben crear los registros. Ninguno
credentials Cuando se ingresa en la consola de Apigee Edge, este es el contenido del archivo de claves de tu cuenta de servicio. Cuando se envía a través de la API de administración, es un valor codificado en base64 que se genera a partir del archivo de claves de la cuenta de servicio. Ninguno