メインコンテンツまでスキップ
Sumo Logic Japanese

Google Cloud Functions アプリケーションのログの収集

このページでは、Google Cloud Platform (GCP) サービスからログを取り込むための Sumo パイプラインについて説明し、Google Cloud Functions アプリケーションからのログ収集を設定する手順を紹介します。

このページでは、Google Cloud Platform (GCP) サービスからログを取り込むための Sumo パイプラインについて説明し、Google Cloud Functions アプリケーションからのログ収集を設定する手順を紹介します。

Google Logging からの Google Cloud Function ログのエクスポートの作成 

このステップでは、ログを前のステップで作成した Pub/Sub トピックにエクスポートします。

  1. [Logging (ログ)] に移動して [Exports (エクスポート)] をクリックします。

    gcp6.png
  2. [Create Export (エクスポートの作成)] をクリックします。
    gcp7.png
  3. GCP サービスを選択してログを絞り込みます。sink を作成するお勧めの GCP サービスは "Cloud Function" です。右側の [Edit Export (エクスポートの編集)] ウィンドウで次の操作を実行します。

    1. [Sink Name (Sink 名)] を設定します。たとえば、"gce-vm-instance" です。
    2. [Sink Service (Sink サービス)] として [Cloud Pub/Sub] を選択します。
    3. [Sink Destination (Sink ターゲット)]「Google Cloud Platform Source」の手順で作成した Pub/Sub トピックに設定します。たとえば、"pub-sub-logs" です。
    4. [Create Sink (Sink の作成)] をクリックします。
      gcp8.png
    5. デフォルトでは、GCP ログは Stackdriver 内に保存されますが、このドキュメントで説明する手順に従って、GCP ログを除外するように Stackdriver を設定することもできます。この設定により、上記の Sumo Logic へのエクスポートに影響が及ぶことはありません。Stackdriver のログを除外する方法については、この GCP ドキュメントの手順に従ってください。

クエリのサンプル 

一定期間にわたって作成されたリソース

_sourceCategory=*gcp* logName textPayload "\"type\":\"cloud_function\"" "\"textPayload\":\"Function execution took"
| parse regex "\"logName\":\"(?<log_name>[^\"]+)\""
| where log_name matches "projects/*/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
| json "message.data.resource.labels" as labels
| json field=labels "function_name", "project_id", "region" as function, project, region
| timeslice 1h
| count as executions by _timeslice 
| compare with timeshift 1d 7 avg