Google Stackdriver Logging 拡張機能

バージョン 1.2.0

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

ここでは、この拡張機能を構成して使用する方法についてのリファレンスを提供します。

前提条件

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

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

  2. GCP Console でサービス アカウントキーを作成します

  3. 拡張機能の追加と構成を行うときに、構成リファレンスを使用して、生成されたキーの JSON ファイルのコンテンツを使用します。

Stackdriver Logging について

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

この拡張機能は、現在はログにエントリを書き込みます。

詳細については、Stackdriver Logging のドキュメントをご覧ください。

サンプル

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

グローバルログ

次のポリシーは、Stackdriver Global リソースの 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>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 ログエントリに関するメタデータ。
metadatatypelabels を設定する際の詳細とオプションについては、MonitoredResource をご覧ください。
JSON なし ×
message このログエントリの値として使用するデータ。 文字列 なし

レスポンス

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

構成リファレンス

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

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

以下のプロパティはすべての拡張機能に存在します。

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

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

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

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