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

Google Cloud SQL のログの収集

Google Cloud SQL 用 Sumo Logic アプリケーションのログ収集を設定する手順。

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

Collection process for GCP services

The key components in the collection process for GCP services are:  Google Stackdriver, Google Cloud Pub/Sub, and Sumo’s Google Cloud Platform (GCP) source running on a hosted collector. 

The integration works like this: Google Stackdriver collects logs from GCP services. Once you’ve configured the pipeline shown below, the logs collected by Stackdriver will be published to a Google Pub/Sub topic. A Sumo GCP source on a hosted collector subscribed to that topic ingests the logs into Sumo.

monitor-gcp-services.png 

The configuration process is as follows. 

  1. Configure a GCP source on a hosted collector. You'll obtain the HTTP URL for the source, and then use Google Cloud Console to register the URL as a validated domain.  
  2. Create a topic in Google Pub/Sub and subscribe the GCP source URL to that topic.
  3. Create an export of GCP logs from Stackdriver. Exporting involves writing a filter that selects the log entries you want to export, and choosing a Pub/Sub as the destination. The filter and destination are held in an object called a sink. 

See the sections below for instructions.

Stackdriver からの Cloud SQL ログのエクスポートの作成

  1. [Logging (ログ)] に移動して [Exports (エクスポート)] をクリックします。
    gcp6.png
  2. [Create Export (エクスポートの作成)] をクリックします。
    gcp7.png
  3. GCP サービスを選択してログを絞り込みます。sink を作成するお勧めの GCP サービスは "Cloud SQL Database" であり、これによってサービスのログが Sumo Logic に送信されます。右側の [Edit Export (エクスポートの編集)] ウィンドウで次の操作を実行します。

    1. Sink 名を入力します。たとえば、"gce-vm-instance" です。
    2. [Sink Service (Sink サービス)] として [Cloud Pub/Sub] を選択します。
    3. [Sink Destination (Sink ターゲット)]「Google Cloud Platform ソース」の手順で作成した Pub/Sub トピックに設定します。たとえば、"pub-sub-logs" です。
    4. [Create Sink (Sink の作成)] をクリックします。
      gcp8.png

クエリのサンプル

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

_sourceCategory=*gcp* data "type":"cloudsql_database" methodName | parse regex "\"logName\":\"(?<log_name>[^\"]+)\"" | where log_name matches "projects/*/logs/*" | json "message.data.resource.labels", "message.data.protoPayload.methodName" as labels, method | json field=labels "database_id", "project_id", "region" as instance, project, region | json "message.data.protoPayload.authorizationInfo[*]" as permissions | parse regex field=permissions "\"permission\":\"(?<resource_type>[^\"]+)\.(?<method>[^\"]+?)\"" multi | where method = "create" | timeslice 1h | count as creations by _timeslice, resource_type | transpose row _timeslice column resource_type

 

  • この記事は役に立ちましたか?