Google Stackdriver Logging 扩展程序

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。
信息

版本 1.3.7

将条目写入 Stackdriver Logging 日志。

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

前提条件

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

  1. 在 IAM 中,为将代表您的扩展程序与 Stackdriver Logging 系统交互的项目成员分配 Logging > Logs Writer 和 Logging > Logs Viewer 角色。如需查看有关如何授予角色的说明,请参阅为服务账号授予特定资源的角色。如需详细了解 Logging 角色,请参阅访问权限控制指南。

  2. 使用 GCP Console 为服务账号生成密钥。

  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。

关于 Stackdriver Logging

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

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

示例

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

全局日志

以下政策会将消息“This is a test”写入 Stackdriver 全球性资源中名为 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>stackdriver-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

将消息写入日志。

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

语法

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

示例

<Action>log</Action>
<Input><![CDATA[{
  "logName" : "stackdriver-log-name-to-use",
  "metadata" : { "resource" : { "type" : "global" } },
  "message" : "data-to-log-as-entry"
}]]></Input>

请求参数

参数 说明 类型 默认值 必需
logName 相应条目所属日志的名称。 字符串 无。 是。
元数据 有关日志条目的元数据。
如需详细了解如何在 metadata 中设置 type 和 labels,请参阅 MonitoredResource。
JSON 无。 否。
私信 用作相应日志条目值的数据。 字符串 无。 是。

响应

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

配置参考文档

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

常见扩展属性

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

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

相应扩展程序包的属性

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

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