Google Cloud Platform

概要

Google Cloud Platform に接続して、すべての Google Compute Engine (GCE) ホストを Datadog に表示できます。GCE ホストタグと追加した GCE ラベルがホストに自動的にタグ付けされるため、Datadog のインフラストラクチャー概要にホストを表示し、分類することができます。

Datadog の GCP インテグレーションは、すべての Google Cloud メトリクスを収集するように構築されています。Datadog では継続的にドキュメントを更新してすべてのサブインテグレーションを表示できるように努めていますが、新しいメトリクスやサービスがクラウドサービスから次々にリリースされるため、インテグレーション一覧が追い付かないことがあります。
インテグレーション説明
App Engineスケーラブルなアプリケーションを構築できる PaaS (サービスとしてのプラットフォーム)
Big Query企業向けデータウェアハウス
BigtableNoSQL ビッグデータデータベースサービス
Cloud SQLMySQL データベースサービス
Cloud APIsすべての Google Cloud Platform サービス向けのプログラムインターフェイス
Cloud Composerフルマネージド型のワークフローオーケストレーションサービス
Cloud DataprocApache Spark と Apache Hadoop のクラスターを実行するためのクラウドサービス
Cloud Filestore高パフォーマンスのフルマネージド型ファイルストレージ
Cloud Firestoreモバイル、Web、およびサーバー開発向けの柔軟でスケーラブルなデータベース
Cloud Interconnectハイブリッド接続
Cloud IoTセキュリティ保護されたデバイス接続および管理
Cloud Load Balancing負荷分散型コンピューティングリソースの分配
Cloud Memorystore for Redisフルマネージド型のインメモリデータストアサービス
Cloud RouterBGP を使用して、VPC とオンプレミスネットワークとの間でルートを交換
Cloud RunHTTP 経由でステートレスコンテナを実行するマネージド型のコンピューティングプラットフォーム
Cloud Tasks分散型タスクキュー
Cloud TPU機械学習モデルのトレーニングと実行
Compute Engine高パフォーマンスの仮想マシン
Container EngineGoogle が管理する Kubernetes
DatastoreNoSQL データベース
Firebaseアプリケーション開発用のモバイルプラットフォーム
Functionsイベントベースのマイクロサービスを構築するためのサーバーレスプラットフォーム
Kubernetes Engineクラスターマネージャーとオーケストレーションシステム
機械学習機械学習サービス
Pub/Subリアルタイムメッセージングサービス
Spanner水平方向に拡張可能でグローバルな一貫性を持つリレーショナルデータベースサービス
Cloud Loggingリアルタイムのログ管理および分析
Storage統合型オブジェクトストレージ
VPNマネージド型のネットワーク機能

セットアップ

メトリクスの収集

インストール

サービスアカウントのなりすましは、 サイトでは使用できません。

サービスアカウントのなりすましやプロジェクトの自動検出を利用して、Datadog と Google Cloud をインテグレーションすることが可能です。

この方法では、関連するプロジェクトに IAM ロールを割り当てることで、サービスアカウントに見えるすべてのプロジェクトを監視することができます。これらのロールをプロジェクトに個別に割り当てることもできますし、組織やフォルダレベルでこれらのロールを割り当てることで、プロジェクトのグループを監視するように Datadog を構成することもできます。このようにロールを割り当てることで、Datadog は、将来的にグループに追加される可能性のある新しいプロジェクトを含め、与えられたスコープ内のすべてのプロジェクトを自動的に発見し監視することができます。

前提条件
  • 組織でドメインによるアイデンティティを制限している場合、Datadog の顧客アイデンティティをポリシーで許可値として追加する必要があります。Datadog の顧客アイデンティティ: C0147pk0i

  • サービスアカウントのなりすましとプロジェクトの自動検出は、プロジェクトを監視するために特定のロールと API が有効になっていることに依存しています。開始する前に、監視するプロジェクトで以下の API が有効になっていることを確認してください。

1. Google Cloud サービスのアカウントを作成する
  1. Google Cloud コンソールを開きます。
  2. IAM & Admin > Service Accounts に移動します。
  3. 上部の Create service account をクリックします。
  4. サービスアカウントに一意の名前を付け、それから Create and continue をクリックします。
  5. サービスアカウントに以下のロールを追加します。
    • Monitoring Viewer
    • Compute Viewer
    • Cloud Asset Viewer
    • Browser
  6. ContinueDone の順にクリックすると、サービスアカウントの作成が完了します。
Google Cloud コンソールのインターフェイスで、'Create service account' フローを表示しています。'Grant this service account access to project' の下に、説明にある 4 つのロールが追加されています。
2. サービスアカウントに Datadog プリンシパルを追加する
  1. Datadog で、Integrations > Google Cloud Platform に移動します。
  2. Add GCP Account をクリックします。構成されたプロジェクトがない場合、自動的にこのページにリダイレクトされます。
  3. Datadog プリンシパルを生成していない場合は、Generate Principal ボタンをクリックします。
  4. Datadog プリンシパルをコピーして、次のセクションのために保管しておきます。
    Datadog のインターフェイスで、'Add New GCP Account' フローを表示しています。最初のステップである 'Add Datadog Principal to Google' では、ユーザーが Datadog プリンシパルを生成してクリップボードにコピーするためのテキストボックスが表示されます。2 番目のステップである 'Add Service Account Email’ では、ユーザーがセクション 3 で入力するテキストボックスがあります。
    次のセクションでは、このウィンドウを開いたままにしておきます。
  5. Google Cloud コンソールService Acounts メニューから、最初のセクションで作成したサービスアカウントを見つけてください。
  6. Permissions タブを開き、Grant Access をクリックします。
    Google Cloud コンソールインターフェイスで、Service Accounts の下にある Permissions タブを表示しています。
  7. Datadog プリンシパルを New principals テキストボックスに貼り付けます。
  8. Service Account Token Creator のロールを割り当て、Save をクリックします。
    Google Cloud コンソールのインターフェイスで、'Add principals' ボックスと 'Assign roles' インターフェイスを表示しています。

: 以前に Datadog の共有プリンシパルを使用してアクセスを構成した場合、これらの手順を完了した後、そのプリンシパルの権限を取り消すことができます。

3. Datadog でインテグレーション設定を完了する
  1. Google Cloud コンソールで、Service Account > Details タブに移動します。そこには、この Google サービスアカウントに関連するメールが記載されています。これは、<sa-name>@datadog-sandbox.iam.gserviceaccount.com に似ています。
  2. このメールをコピーします。
  3. Datadog のインテグレーション構成タイル (前セクションで Datadog プリンシパルをコピーしたところ) に戻ります。
  4. Add Service Account Email の下にあるボックスに、以前コピーしたメールを貼り付けます。
  5. Verify and Save Account をクリックします。

約 15 分で、Datadog にメトリクスが表示されます。

4. 他のプロジェクトにロールを割り当てる (オプション)

プロジェクトの自動検出により、監視対象のプロジェクトを追加するプロセスが簡素化されます。サービスアカウントに他のプロジェクト、フォルダ、または組織へのアクセスを許可すると、Datadog はこれらのプロジェクト (およびフォルダや組織にネストされたプロジェクト) を検出し、自動的にインテグレーションタイルに追加します。

  1. 希望するスコープでロールを割り当てるための適切な権限があることを確認してください。

    • Project IAM Admin (またはそれ以上)
    • Folder Admin
    • Organization Admin
  2. Google Cloud コンソールで、IAM ページに移動します。

  3. プロジェクト、フォルダ、または組織を選択します。

  4. リソースに対して他のロールをまだ持っていないプリンシパルにロールを付与するには、Grant Access をクリックし、先に作成したサービスアカウントのメールを入力します。

  5. 以下のロールを割り当てます。

    • Compute Viewer
    • Monitoring Viewer
    • Cloud Asset Viewer

    : Browser ロールは、サービスアカウントのデフォルトプロジェクトにのみ必要です。

  6. 保存をクリックします。

コンフィギュレーション

オプションで、特定のプロジェクトのドロップダウンメニューの下にある Limit Metric Collection テキストボックスにタグを入力することで、Datadog にプルされる GCE インスタンスを制限できます。定義されたタグのいずれかに一致するホストだけが Datadog にインポートされます。複数のホストに一致するワイルドカード (1 文字の場合は ?、複数文字の場合は *)、または特定のホストを除外する ! を使用できます。次の例では、c1* サイズのインスタンスは含まれますが、ステージングホストは除外されます。

datadog:monitored,env:production,!env:staging,instance-type:c1.*

詳細については、ラベルの作成と管理に関する Google のドキュメントを参照してください。

ログの収集

GCE または GKE で実行されているアプリケーションの場合は、Datadog Agent を使用してローカルでログを収集できます。GCP サービスのログは、Google Cloud Logging で収集され、HTTP プッシュフォワーダーを使用して Cloud Pub/Sub へ送信されます。ログを収集するには、次の 5 つの手順を行う必要があります。

  1. Google Cloud Platform インテグレーションをまだセットアップしていない場合は、最初にセットアップします。
  2. 新しい Cloud Pub/Sub を作成します。
  3. ログを Datadog へ転送する Pub/Sub をセットアップします。
  4. Google Cloud から Pub/Sub へのログのエクスポートを構成します。

警告: Pub/Sub は、Google Cloud の割り当てと制限の対象となります。Datadog では、ログ数がこの制限を上回る場合は、ログを複数のトピックに分割することをお勧めしています。この制限に近づいたときに自動的に通知されるようにモニターを設定する方法については、ログの転送を監視するセクションを参照してください。

Cloud Pub/Sub を作成する

  1. Cloud Pub/Sub コンソールに移動し、新しいトピックを作成します。

    トピックを作成する
  2. トピックに export-logs-to-datadog のような明示的な名前を付け、_保存_します。

ログを Datadog に転送する

  1. Pub/Sub Topics の概要ページに戻り、左側のナビゲーションで、Subscriptions の選択を追加します。Create Subscription を選択します。

  2. サブスクリプション ID を作成し、先に作成したトピックを選択します。

  3. Push メソッドを選択し、以下を入力します: https://gcp-intake.logs./api/v2/logs?dd-api-key=<DATADOG_API_KEY>&dd-protocol=gcp

    API キーを作成または Datadog Organization Settings -> API Keys で既存の API キーを選択できます。

  4. サブスクリプションの有効期限承認期限メッセージの保存期間デッドレター など、他のオプションを構成します。

  5. Retry policy で、Retry after exponential backoff delay を選択します。

  6. 最下部にある 作成 を押します。

Pub/Sub が Google Cloud Logging からログを受け取り、Datadog へ転送する準備ができました。

Google Cloud からログをエクスポート

  1. ログエクスプローラーページに移動し、エクスポートするログを絞り込みます。

  2. Log Router タブより、Create Sink を選択します。

  3. シンクに名前を設定します。

  4. エクスポート先として Cloud Pub/Sub を選択し、エクスポート用に作成された Pub/Sub を選択します。: この Pub/Sub は別のプロジェクト内に配置することもできます。

    Google Cloud Pub/Sub ログを Pub Sub へエクスポート
  5. Create Sinkをクリックし、確認メッセージが表示されるまで待ちます。

: 異なるシンクを使用して、Google Cloud Logging から同じ Pub/Sub への複数のエクスポートを作成することができます。

警告: Pub/Sub は、Google Cloud の割り当てと制限の対象となります。Datadog では、ログ数がこの制限を上回る場合は、ログを複数のトピックに分割することをお勧めしています。この制限に近づいたときに自動的に通知されるようにモニターを設定する方法については、ログの転送を監視するセクションを参照してください。

ログの転送を監視する

Pub/Sub は、Google Cloud の割り当てと制限の対象となります。Datadog では、ログ数がこの制限を上回る場合は、複数のフィルターでログをトピック毎に分割することをお勧めしています。

この割り当てに達したときに自動的に通知されるようにするには、Pub/Sub メトリクスインテグレーションを有効にし、メトリクス gcp.pubsub.subscription.num_outstanding_messages でモニターをセットアップします。Datadog へログをエクスポートするサブスクリプションでこのモニター絞り込み、このメトリクスが 1000 を超えないようにします。以下に例を示します。

Pub Sub 監視

ログのサンプリング

オプションとして、sample 関数を使用することで、クエリ中にログをサンプリングすることができます。例えば、ログの 10% だけを取り込むには、sample(insertId, 0.1) を使用します。

収集データ

メトリクス

メトリクスについては、個別の Google Cloud インテグレーションのページを参照してください。

イベント

Google Cloud Platform によって生成されたすべてのサービスイベントが Datadog のイベントストリームに転送されます。

サービスのチェック

Google Cloud Platform インテグレーションには、サービスのチェック機能は含まれません。

タグ

タグは、Google Cloud Platform と Google Compute Engine の様々な構成オプションに基づいて自動的に割り当てられます。project_id タグは、すべてのメトリクスに追加されます。追加のタグは、利用可能な場合に Google Cloud Platform から収集され、メトリクスの種類に応じて異なります。

また、Datadog は以下をタグとして収集します。

  • <キー>:<値> ラベルが付けられたホスト。
  • Custom labels from Google Pub/Sub、GCE、Cloud SQL、Cloud Storage のカスタムラベル

トラブルシューティング

ユーザー定義の gcp.logging メトリクスに不正なメタデータが適用される

非標準の gcp.logging メトリクス (Datadog に付属するログメトリクス以外のメトリクスなど) に適用されるメタデータが Google Cloud Logging と一致しない場合があります。

このような場合は、メタデータを手動で設定する必要があります。それには、メトリクスサマリーページに移動し、問題となっているメトリクスを検索して選択し、メタデータの横にある鉛筆アイコンをクリックします。

ご不明な点は、Datadog のサポートチームまでお問い合わせください。