計測方法を選択する

このページでは、Google Kubernetes Engine(GKE)や Cloud Run などのさまざまなGoogle Cloud プラットフォームでアプリを計測するための推奨事項について説明します。アプリがまだ計測されていない場合は、アプリを計測して Google Cloudにテレメトリー データを送信するためのガイダンスとして、これらの推奨事項をご利用ください。このページの推奨事項が唯一の解決策ではありません。他にも有効なアプローチがあります。詳細なガイダンスについては、Google Cloud サポートにお問い合わせください。

ここでは、以下に関する推奨事項について説明します。

計測のサンプルについては、コードサンプルに記載されているドキュメントをご覧ください。

GKE

GKE に関する一般的な情報については、GKE の概要をご覧ください。

タイプ 推奨事項
指標

Google Cloud Managed Service for Prometheus を使用することをおすすめします。

計測では、次のいずれかを行います。

トレース

次のことを行います。

  1. お使いの言語の OpenTelemetry SDK と OTLP エクスポータを使用します。
  2. OTLP トレースを Google Cloudに送信するように OpenTelemetry コレクタを構成します。
ログ

JSON 構造化ログを stdout と stderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

GKE は、stdout と stderr に書き込まれたログを自動的に収集します。詳細については、GKE ログについてをご覧ください。

Compute Engine

Compute Engine の一般的な情報については、仮想マシン インスタンスをご覧ください。

タイプ 推奨事項
指標とトレース

次のことを行います。

  1. お使いの言語の OpenTelemetry SDK と OTLP エクスポータを使用します。
  2. Ops エージェントを使用して指標とトレースを収集します。例については、OpenTelemetry Protocol(OTLP)指標とトレースを収集するをご覧ください。

Prometheus 形式の指標の収集のみを構成する場合は、Ops エージェント Prometheus レシーバーを使用して、Prometheus クライアント ライブラリまたは OpenTelemetry SDK で計測された指標を収集できます。

ログ

次のことを行います。

  1. JSON 構造化ログをファイルに出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。
  2. Ops エージェントをインストールして、レシーバーを構成します。例については、ロギング レシーバーをご覧ください。

Cloud Run

Cloud Run の一般的な情報については、Cloud Run とはをご覧ください。

タイプ 推奨事項
指標とトレース

次のことを行います。

  1. お使いの言語の OpenTelemetry SDK と OTLP エクスポータを使用します。
  2. 指標とトレースを収集するように OpenTelemetry サイドカーを構成します。例については、OpenTelemetry サイドカーを使用して OTLP 指標を書き込むをご覧ください。
  3. Cloud Run で CPU が常に割り当てられるように設定します。OpenTelemetry の計測ではバックグラウンド処理が行われるため、計測された Cloud Run サービスでは常に割り当てられた CPU を使用することをおすすめします。詳細については、CPU の割り当て(サービス)をご覧ください。

また、Prometheus 形式の指標の収集のみを構成する場合は、Cloud Run 用の Prometheus サイドカーを使用して、Prometheus クライアント ライブラリまたは OpenTelemetry SDK で計測された指標を収集できます。

ログ

JSON 構造化ログを stdout と stderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

Cloud Run は、stdout と stderr に書き込まれたログを自動的に収集します。詳細については、コンテナログを書き込むをご覧ください。

Cloud Run functions

Cloud Run functions の一般的な情報については、Cloud Run functions の概要をご覧ください。

タイプ 推奨事項
指標 Cloud Run functions では、指標の直接書き込みはサポートされていません。指標を生成するには、ログベースの指標を使用することをおすすめします。
トレース ご使用の言語の SDK と Cloud Trace エクスポータを使用します。
ログ

JSON 構造化ログを stdout と stderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

Cloud Run functions は、stdout と stderr に書き込まれたログを自動的に収集します。詳細については、Cloud Run 関数のログの表示と書き込みをご覧ください。

App Engine

App Engine の一般的な情報については、App Engine の概要をご覧ください。

タイプ 推奨事項
指標 ご使用の言語の SDK と Cloud Monitoring エクスポータを使用します。
トレース ご使用の言語の SDK と Cloud Trace エクスポータを使用します。
ログ

JSON 構造化ログを stdout と stderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

App Engine は、stdout と stderr に書き込まれたログを自動的に収集します。詳細については、ログの書き込みと表示をご覧ください。

推奨のロギング フレームワーク

ログを収集するには、シリアル化された JSON オブジェクトを stdout、stderr、またはファイルに出力できるフレームワークを使用することをおすすめします。Logging エージェントは、統合されているかインストールされているかにかかわらず、ファイルをスクレイピングし、Cloud Logging の構造化ログを書き込みます。ログデータを書き込む場合は、次のものをおすすめします。

コードサンプル

アプリケーションを計測して Google Cloudにテレメトリーを送信する方法を示すコードサンプルについては、以下をご覧ください。

OpenTelemetry に関するリファレンス

このセクションでは、OpenTelemetry SDK へのリンクと、OTLP、Cloud Trace、Cloud Monitoring のエクスポータへのリンクを示します。

一般的なリファレンス:

Go

Java

JavaScript

Python