Google Cloud Logging 拡張機能

ここに表示されているのは Apigee Edge のドキュメントです。
Go to the Apigee X のドキュメントに移動します
info

バージョン 2.0.1

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

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

前提条件

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

  1. IAM で、Cloud Logging システムに対する拡張機能を表すプロジェクト メンバーに Logging > Logs Writer ロールを割り当てます。ロールを付与する方法については、特定のリソースに対するサービス アカウントへのロールの付与をご覧ください。 ロギング ロールの詳細については、アクセス制御ガイドをご覧ください。

  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 組織プロパティ API を使用して features.allowExtensionsInPostClientFlow フラグを true に設定します。

Cloud Logging について

Cloud Logging は、Google Cloud の オペレーション スイートの一部です。ログのストレージ、ユーザー インターフェース(ログ エクスプローラ)、ログをプログラムで管理する API から構成されます。Cloud Logging によって、ログエントリの読み取りと書き込み、ログの検索とフィルタリング、ログのエクスポートを行うことができます。また、ログベースの指標も作成できます。

Cloud Logging 拡張機能は、ログにエントリを書き込みます。詳細については、 Cloud Logging のドキュメントをご覧ください。

サンプル

次の例は、ExtensionCallout ポリシーを使用して Cloud Logging 拡張機能アクションのサポートを構成する方法を示しています。

グローバル ログ

次のポリシーは、Cloud グローバル リソースの example-log というログに This is a test というメッセージを書き込みます。実際に使用する際は、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 Console で拡張機能を構成する手順については、 拡張機能の追加と構成をご覧ください。

操作

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 ログエントリに関するメタデータ。
で と を設定する方法とオプションの詳細については、MonitoredResource をご覧ください。typelabelsmetadata
JSON なし いいえ
message このログエントリの値として使用するデータ。文字列を指定することも、JSON を使用してより構造化されたメッセージをログに記録することもできます。 文字列または JSON なし はい

レスポンス

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

構成リファレンス

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

拡張機能の共通プロパティ

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

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

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

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

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