Google Stackdriver Logging 拡張機能

Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメントに移動します。
情報

バージョン 2.0.1

Stackdriver Logging ログにエントリを書き込みます。

このコンテンツでは、この拡張機能を構成して使用するためのリファレンスを提供します。

前提条件

API プロキシからこの拡張機能を使用する前に、次の操作を行う必要があります。

  1. IAM で、Stackdriver Logging システムに対する拡張機能を代表するプロジェクト メンバーに [Logging] > [ログ書き込み] 権限を割り当てます。ロールを付与する手順については、特定のリソースに対するロールをサービス アカウントに付与するをご覧ください。ロギングのロールの詳細については、アクセス制御ガイドをご覧ください。

  2. Google Cloud コンソールを使用して、サービス アカウントのキーを生成します。

  3. 構成リファレンスを使用して拡張機能を追加して構成するときは、生成された鍵 JSON ファイルの内容を使用します。

Stackdriver Logging について

Stackdriver Logging は、Google Cloud の Stackdriver プロダクト スイートの一部です。Logging は、ログのストレージ、ユーザー インターフェース(ログビューア)、ログをプログラムで管理する 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" : "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 なし。 いいえ。
メッセージ このログエントリの値として使用するデータ。文字列を指定することも、JSON を使用してより構造化されたメッセージをログに記録することもできます。 文字列または JSON なし。 はい。

レスポンス

メッセージがログに書き込まれた場合は None。それ以外の場合、リクエストはエラーを返します。拡張機能をデバッグするもご覧ください。

構成リファレンス

API プロキシで使用するためにこの拡張機能を構成してデプロイする場合は、次の手順を行います。

共通の拡張プロパティ

すべての拡張機能には次のプロパティがあります。

プロパティ 説明 デフォルト 必須
name この拡張機能に付ける名前。 なし ○
packageName Apigee Edge から提供された拡張機能パッケージの名前。 なし ○
version 拡張機能を構成する拡張機能パッケージのバージョン番号。 なし ○
configuration 追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 なし ○

この拡張パッケージのプロパティ

この拡張機能に固有の次の構成プロパティの値を指定します。

プロパティ 説明 デフォルト 必須
projectId ログを作成する Google Cloud プロジェクトの ID。 なし。 はい。
credentials Apigee Edge コンソールに入力すると、これはサービス アカウント キーファイルの内容になります。管理 API を使用して送信される場合、サービス アカウント キーファイルから生成された base64 エンコード値になります。 なし。 はい。