Extensão do Google Cloud Logging

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Versão 2.0.0

Grave entradas nos registros do Cloud Logging.

Este conteúdo oferece uma referência para configurar e usar essa extensão.

Pré-requisitos

Antes de usar essa extensão em um proxy de API, você precisa:

  1. No IAM, atribua o papel Logging > Logs Writer ao membro do projeto que vai representar sua extensão no sistema do Cloud Logging. Para instruções sobre como conceder papéis, consulte Como conceder papéis a uma conta de serviço para recursos específicos. Para mais informações sobre papéis de registro, consulte o Guia de controle de acesso.

  2. Use o console do Google Cloud para gerar uma chave para a conta de serviço.

  3. Use o conteúdo do arquivo JSON de chave resultante ao adicionar e configurar a extensão usando a referência de configuração.

Essa extensão pode ser chamada por uma política ExtensionCallout localizada no PostClientFlow. Se você quiser usar a política ExtensionCallout para chamar essa extensão de um PostClientFlow, verifique se a flag features.allowExtensionsInPostClientFlow está definida como true na sua organização.

  • Se você for cliente do Apigee Edge para nuvem pública, entre em contato com o suporte do Apigee Edge para garantir que a flag features.allowExtensionsInPostClientFlow esteja definida como true na sua organização.

  • Se você for cliente do Apigee Edge para nuvem privada, use a API Atualizar propriedades da organização para definir a flag features.allowExtensionsInPostClientFlow como true.

Sobre o Cloud Logging

O Cloud Logging faz parte do pacote de operações do Google Cloud. Estão incluídos o armazenamento para registros, uma interface do usuário chamada "Análise de registros" e uma API para gerenciar registros de maneira programática. Com o Cloud Logging, você pode ler e gravar entradas de registro, pesquisar e filtrar seus registros, exportar seus registros e criar métricas com base neles.

No momento, a extensão do Cloud Logging grava entradas no registro. Para mais informações, consulte a documentação do Cloud Logging.

Amostras

Os exemplos a seguir ilustram como configurar o suporte a ações de extensão do Cloud Logging usando a política ExtensionCallout.

Registro global

A política a seguir grava a mensagem This is a test em um registro chamado example-log no recurso global do Cloud. No uso real, provavelmente a mensagem estará contida em uma variável de fluxo cujo valor é definido em outro lugar no proxy da 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>

Este conteúdo oferece uma referência para configurar e usar essa extensão. Para saber como configurar uma extensão usando o console da Apigee, consulte Adicionar e configurar uma extensão.

Ações

log

Grava uma mensagem no registro.

Essa ação grava uma entrada de registro do Cloud Logging. As entradas de registro consistem em metadados e nos dados de entrada. Para mais informações sobre entradas de registro, consulte a Referência de entrada. Para informações sobre o conteúdo da propriedade metadata, consulte o objeto LogEntry na documentação do Cloud Logging.

Sintaxe

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

Exemplo: string

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

Exemplo: JSON

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

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
logName O nome do registro a que a entrada pertence. String Nenhum Sim
metadata Metadados sobre a entrada de registro.
Para mais informações e opções sobre como definir type e labels em metadata, consulte MonitoredResource.
JSON Nenhum Não
message Dados a serem usados como o valor desta entrada de registro. É possível especificar uma string simples ou usar JSON para registrar uma mensagem mais estruturada. String ou JSON Nenhum Sim

Resposta

None se a mensagem foi gravada no registro. Caso contrário, um erro será exibido. Consulte também Como depurar uma extensão.

Referência de configuração

Use as informações a seguir ao configurar e implantar essa extensão para uso em proxies de API.

Propriedades de extensão comuns

As propriedades a seguir estão presentes para cada extensão.

Propriedade Descrição Padrão Obrigatório
name Nome que será dado a esta configuração da extensão. Nenhum Sim
packageName Nome do pacote de extensão fornecido pelo Apigee Edge. Nenhum Sim
version Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. Nenhum Sim
configuration Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. Nenhum Sim

Propriedades deste pacote de extensão

Especifique valores para as seguintes propriedades de configuração específicas desta extensão.

Propriedade Descrição Padrão Obrigatório
projectId O ID do projeto do Google Cloud em que os registros serão criados. Nenhum Sim
credentials Quando inserido no console do Apigee Edge, esse é o conteúdo do arquivo de chave da conta de serviço. Quando enviado pela API de gerenciamento, é um valor codificado em base64 gerado a partir do arquivo de chave da conta de serviço. Nenhum Sim