計測方法を選択する

このページでは、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 構造化ログを stdoutstderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

GKE は、stdoutstderr に書き込まれたログを自動的に収集します。詳細については、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 構造化ログを stdoutstderr に出力するようにアプリを構成します。フレームワークのリストについては、推奨のロギング フレームワークをご覧ください。

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

Cloud Run functions

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

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

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

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

App Engine

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

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

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

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

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

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

コードサンプル

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

OpenTelemetry に関するリファレンス

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

一般的なリファレンス:

Go

Java

JavaScript

Python