Google Stackdriver Logging 扩展程序

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

版本 1.2.1

将条目写入 Stackdriver Logging 日志。

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

前提条件

通过 API 代理使用此扩展程序之前,您必须完成以下操作:

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

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

  3. 在通过配置参考添加和配置扩展程序时,使用所得到的 JSON 密钥文件的内容。

关于 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 控制台配置扩展程序的步骤,请参阅添加和配置扩展程序

Action

日志

向日志写入消息。

此操作会写入 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" : "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 中设置 typelabels,请参阅 MonitoredResource
JSON 无。 没有。
信息 要用作此日志条目值的数据。您可以指定一个简单的字符串,也可以使用 JSON 来记录结构化程度更高的消息。 字符串或 JSON 无。 有。

响应

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

配置参考文档

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

通用扩展属性

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

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

此扩展程序软件包的属性

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

媒体资源 说明 默认 必需
projectId 应在其中创建日志的 GCP 项目 ID。 无。 有。
凭据 在 Apigee Edge 控制台中输入时,这是服务帐号密钥文件的内容。通过 Management API 发送时,它是从服务帐号密钥文件生成的 base64 编码值。 无。 有。