Google Cloud Logging 拡張機能

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

バージョン 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 を使用している場合は、組織プロパティの更新 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 Global リソースの 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 での typelabels の設定に関する詳細とオプションについては、MonitoredResource をご覧ください。
JSON なし ×
message このログエントリの値として使用するデータ。単純な文字列を指定することも、JSON を使用して、より構造化されたメッセージをロギングすることもできます。 文字列または JSON なし

レスポンス

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

構成リファレンス

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

共通の拡張プロパティ

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

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

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

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

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