Google Cloud Logging 扩展程序

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档。
info

版本 1.6.1

将条目写入 Cloud Logging 日志。

此内容提供了配置和使用此扩展程序的参考信息。

前提条件

在 API 代理中使用此扩展程序之前,您必须执行以下操作:

  1. 在 IAM 中,将日志记录 > 日志写入器 角色分配给将代表您的扩展程序向 Cloud Logging 系统发送日志的项目成员。如需了解如何授予角色,请参阅为特定资源的服务账号授予角色。 如需详细了解日志记录角色,请参阅访问权限控制指南。

  2. 使用 Google Cloud 控制台为服务账号生成密钥。

  3. 使用配置参考文档添加和配置扩展程序时,请使用生成的密钥 JSON 文件的内容。

此扩展程序支持由位于 PostClientFlow 中的 ExtensionCallout 政策调用。 如果您想使用 ExtensionCallout 政策 从 PostClientFlow 调用此扩展程序,请确保在您的组织中将 features.allowExtensionsInPostClientFlow 标志 设置为 true。

  • 如果您是 Apigee Edge for Public Cloud 客户,则必须与 Apigee Edge 支持团队 联系,以确保在您的组织中将 features.allowExtensionsInPostClientFlow 标志设置为 true。

  • 如果您是 Apigee Edge for Private Cloud 客户,请使用 Update organization properties API 将 features.allowExtensionsInPostClientFlow 标志设置为 true。

关于 Cloud Logging

Cloud Logging 是 Google Cloud 的 运维套件的一部分。它包含日志存储、名为日志 探索器的界面以及采用编程方式管理日志的 API。借助 Cloud Logging,您可以 读取和写入日志条目、搜索和过滤日志、导出日志以及 创建基于日志的指标。

Cloud Logging 扩展程序目前会将条目写入日志。如需了解详情, 请参阅 Cloud Logging 文档。

示例

以下示例说明了如何使用 ExtensionCallout 政策配置对 Cloud Logging 扩展程序操作的支持。

全局日志

以下政策会将消息 This is a test 写入 Cloud 全球性资源中名为 example-log 的日志。在实际使用中,您可能会 将消息包含在流变量中,并在 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>

此内容提供了配置和使用此扩展程序的参考信息。 如需了解使用 Apigee 控制台配置扩展程序的步骤,请参阅 添加和配置扩展程序。

操作

log

将消息写入日志。

此操作会写入 Cloud Logging 日志条目。日志条目由元数据 和条目数据组成。如需详细了解日志条目,请参阅 条目参考文档。 如需了解 metadata 属性的内容,请参阅 Cloud Logging 文档中的 LogEntry 对象。

语法

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

示例:字符串

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

示例:JSON

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

请求参数

参数 说明 类型 默认值 必填
logName 此条目所属的日志的名称。 字符串 无 是
metadata 有关日志条目的元数据。
如需详细了解如何在 metadata 中设置 type 和 labels,请参阅 MonitoredResource。
JSON 无 否
message 用作此日志条目的值的数据。您可以指定一个简单的字符串,也可以使用 JSON 记录结构化程度更高的消息。 字符串或 JSON 无 是

响应

如果消息已写入日志,则为 None。否则,请求将返回错误。另请参阅调试扩展程序。

配置参考文档

在配置和部署此扩展程序以在 API 代理中使用时,请使用以下内容。

通用扩展程序属性

每个扩展程序都有以下属性。

属性 说明 默认 必需
name 您为扩展程序配置此名称。 无 是
packageName Apigee Edge 提供的扩展包的名称。 无 是
version 配置扩展程序所用的扩展程序软件包的版本号。 无 是
configuration 特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 无 是

此扩展程序软件包的属性

为此扩展程序特有的以下配置属性指定值。

属性 说明 默认值 必填
projectId 应在其中创建日志的 Google Cloud 项目 ID。 无 是
credentials 在 Apigee Edge 控制台中输入时,这是服务账号密钥文件的内容。通过 Management API 发送时,它是根据服务账号密钥文件生成的 base64 编码值。 无 是