LoginSignup
7
0

More than 1 year has passed since last update.

こんにちは、京セラコミュニケーションシステム 井筒 (@kccs_naoto-izutsu) です。

前回の記事に引き続き、Datadog シリーズの第2回目です。

今回は、Datadog の GCP Integration を使って Cloud Monitoring の情報を収集してみたいと思います。

この記事の対象者

  • Datadog に興味がある人
  • これから Datadog を使って Google Cloud をモニタリングしてみようと思っている人

GCP Integration の設定

GCP Integration で Cloud Monitoring の情報を収集するためには、以下のステップで設定を行います。

  1. Google Cloud 側の設定
    1. API の有効化
    2. Service Account の作成
  2. Datadog 側の設定
    1. GCP Integration の設定

Datadog 公式のセットアップ手順は以下になります。
本記事では、公式ドキュメントからポイントを絞って説明します。

Google Cloud 側の設定

API の有効化

Datadog の GCP Integration で Cloud Monitoring の情報を収集するためには、Google Cloud 側でいくつかの API を有効化する必要があります。

具体的には、以下の 4 つです。

API 名 サービス名
Cloud Billing API cloudbilling.googleapis.com
Stackdriver Monitoring API(Cloud Monitoring API) monitoring.googleapis.com
Compute Engine API compute.googleapis.com
Cloud Asset API cloudasset.googleapis.com

各 API の詳細画面で、以下のように「API が有効です」となっていれば問題ありません。
そうでない場合は、「有効にする」ボタンをクリックして有効化しておきます。

Q-0061_001.png

Service Account の作成

続いて、サービスアカウントを作成します。
GCP Integration では、以下の 3 つのロールが必要です。

  1. Compute 閲覧者
  2. モニタリング閲覧者
  3. クラウド アセット閲覧者

3つ目の「クラウド アセット閲覧者」ですが、Datadog のドキュメントでは「Cloud Asset 閲覧者」と表記されています。
私が試した環境では、ロール検索の際にカタカナでないとヒットしませんでした。ご注意ください。
(サービスアカウントの作成方法については、本記事では割愛します)

サービスアカウントを作成したら、サービス アカウント キーを JSON で作成・ダウンロードしておきましょう。

Datadog 側の設定

続いて、Datadog 側の設定を行います。

Integrations をクリックして、「Google Cloud Platform」を検索して、設定画面を開きます。

Q-0061_002.png

以下のリンクをクリックしてもOKです。

設定画面を開いたら、Configuration タブから「Upload Private Key File」をクリックして、先ほどダウンロードしておいたサービスアカウントキーの JSON ファイルをアップロードします。
以下の図のように、「ProjectID」と「Client Email」に想定した内容が表示されていれば OK です。
次章の注意点を先に読んでから、画面下部の「Install Integration」ボタンをクリックしてください。

Q-0061_003.png

注意点

GCP Integration を設定するにあたって、注意すべき点が 2 つあります。

1つ目:Google Cloud 側での課金

Cloud Monitoring API に対して課金が発生します。

第1回目の記事で説明した通り GCP Integration は Cloud Monitoring API をコールしますので、Cloud Monitoring API の利用料が発生します。
Google Cloud 側の各種リソースの作成状況によりますが、Cloud Monitoring API コールの無料枠(100万回)ではカバーできないと思っておいてください。

2つ目:Datadog 側での課金

Compute Engine に対して、Datadog Infrastructure の課金が発生します。

Datadog の Infrastructure サービスはモニタリング対象ホスト数に応じて課金されます。
Datadog Agent をインストールしているホストだけが対象と思ってしまうかもしれませんが、Cloud Monitoring API 経由で Metrics を収集している Compute Engine のインスタンスも課金対象となります。
Datadog Agent のインストール有無は関係ありません。

意図しない課金を避けるためには、GCP Integration の設定画面にある「Optionally Limit Metrics Collection to hosts with tag」を活用しましょう。

Q-0061_004.png

ここに任意のタグ(たとえば datadog_monitor:true など)を設定することで、そのタグ(Compute Engine 的にはラベル)を持つインスタンスのみをデータ収集対象にできます
指定したラベルがついている Compute Engine のインスタンスだけが課金対象なりますので、必要に応じて設定してください。
もちろん、Compute Engine 側のラベルも、これに合わせて設定する必要があります。
ただし、Datadog Agent をインストールしている場合は Compute Engine のラベルにかかわらず課金対象です。

確認

GCP Integration の設定が終わったら、Datadog 側に Cloud Monitoring のデータが収集されているか確認してみましょう。

Datadog の画面から「Metrics -> Summary」を開いて、検索してみましょう。

Q-0061_005.png

Google Cloud 関連の Metrics は「gcp.」で始まりますので、検索窓に「gcp.」と入力してみます。
Cloud Monitoring からデータが収集されていれば、ずらりと Metrics の一覧が表示されると思います。
私が試した環境では、601 個の Metrics が収集されていました。

Q-0061_006.png

注意点

GCP Integration が収集する Cloud Monitoring の Metrics は、以下のページに記載されているものが対象となります。
このページを見ると、ローンチステージが GA(General Availability) だけではなく、ALPHABETADEPRECATED も含まれています。

例えば、こういう Metrics です。

Q-0061_007.png

Q-0061_008.png

GCP Integration は、ローンチステージに関係なくすべての Metrics を収集しますが、Datadog 側でローンチステージを確認するすべはありません。
Datadog でダッシュボートやモニターを作成する場合は、Cloud Monitoring の Metrics 一覧ページを参照して 使用する Metrics のローンチステージが GA かどうか を確認しておきましょう。

GA 以外の Metrics を使用していると、いつの間にか挙動が変わって困ったことになる可能性があります。。。

まとめ

本記事では、Datadog の GCP Integration の設定方法と注意点をご紹介しました。

GCP Integration の設定は難しくないのですが、気軽に課金されてしまう要素がありますので注意が必要です。
Datadog の料金体系は利用するサービス毎に細かく定義されているので、個人的にはとても複雑だと思っています。このあたりについても、またの機会に説明できればと思います。

免責事項

本記事に記載している内容は、2022年12月時点の情報となります。
記事の内容を筆者の理解をベースに作成したものとなり、実際の内容とは異なる可能性があります。
正確な情報は、必ず Google Cloud や Datadog の公式ドキュメントを参照してください。

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0