Extensión de Google Cloud Logging

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Versión 1.6.1

Escribe entradas en los registros de Cloud Logging.

En este contenido, se proporciona referencia para configurar y usar la 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 Logging > Escritor de registros al miembro del proyecto que representará tu extensión en el sistema de Cloud Logging. Si quieres obtener instrucciones a fin de otorgar roles, consulta Otorga funciones a una cuenta de servicio para recursos específicos. Para obtener más información sobre las funciones de registro, consulta la Guía de control de acceso.

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

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

Esta extensión admite la llamada de una política ExtensionExtension ubicada en PostClientFlow. Si deseas usar la política ExtensionExtension a fin de llamar a esta extensión desde un PostClientFlow, asegúrate de que la marca features.allowExtensionsInPostClientFlow esté configurada como 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é establecida como true en tu organización.

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

Acerca de Cloud Logging

Cloud Logging es parte de Google Cloud's operations suite. Incluye almacenamiento para registros, una interfaz de usuario denominada el 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 las extensiones de Cloud Logging mediante la política ExtensionExtension.

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 un uso real, es probable que el mensaje esté contenido en una variable de flujo cuyo valor se establezca en otra parte 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 referencia para configurar y usar la extensión. Si quieres conocer los pasos para configurar una extensión con la consola de Apigee, consulta Agrega y configura 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 constan de metadatos y datos de entradas. 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: string

<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 Predeterminada Obligatorias
logName El nombre del registro al que pertenece esta entrada. Cadena Ninguna
metadata Metadatos sobre la entrada de registro.
Para obtener más información y opciones para configurar type y labels en metadata, consulta MonitoredResource.
JSON Ninguna 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. String o JSON Ninguna

Respuesta

Es 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 la siguiente información cuando configures e implementes esta extensión para usarla en proxies de API.

Propiedades comunes de las extensiones

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 Obligatorias
projectId El ID del proyecto de Google Cloud en el que se deben crear los registros. Ninguna
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 Management, es un valor codificado en base64 que se genera a partir del archivo de claves de la cuenta de servicio. Ninguna