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

Google Kubernetes Engine のログの収集

このページでは、Google Cloud Platform (GCP) サービスからログを取得する Sumo パイプラインを説明し、Google Kubernetes Engine からログを収集する手順を紹介します。

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 からの Google Kubernetes Engine ログのエクスポートの作成

  1. [Logging (ログ)] に移動して [Exports (エクスポート)] をクリックします。
    gcp6.png
  2. [Create Export (エクスポートの作成)] をクリックします。
    gcp7.png
  3. GCP サービスを選択してログを絞り込みます。シンクを作成するための推奨 GCP サービスは「GKE Cluster」です。これにより、サービスのログを Sumo Logic に送信します。右側の [Edit Export (エクスポートの編集)] ウィンドウで次の操作を実行します。右側の [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* logName resource "\"type\":\"gke_cluster\"" | parse regex "\"logName\":\"(?<log_name>[^\"]+)\"" | where log_name matches "projects/*/logs/events" | json "message.data.resource.labels" as labels | json field=labels "project_id", "cluster_name" as project, cluster | timeslice 1h | count as events by _timeslice, cluster, project | transpose row _timeslice column cluster, project
  • この記事は役に立ちましたか?