Datadog の登録から始めて GCP のメトリクス・ログ投入まで


はじめに

Datadog を無料で試すから始めて、GCP のメトリクス・ログを Datadog へ入れるところまで実施してみた
登録までの道のりを記載する

実施内容

実施順番は下記の3ステップ

  1. Datadog の登録
  2. GCP設定
    1. メトリクス取得設定
    2. ロギング取得設定
  3. Datadog Dashboard / Logs 表示確認

構成概要

下記、やってみた感じで書いた、Datadog と GCP 間のざっくりした構成概要図

1. Datadog の登録

Datadog サイト
https://www.datadoghq.com/ja/

サイトにアクセスして右上の「無料で試す」をクリック

「メール アドレス」「お名前」「企業・組織名」「パスワード」を入力して、「サインアップ」をクリック

「Nwxt →」をクリック

試しに GCP のサーバ 1台などを登録してみる (下記は Centosサーバで試した例)

上記の Agent Setup の Net installation の赤枠にしたコマンドをコピペして、下記のようにサーバに貼り付けて実行する

$ DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script.sh)"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15102  100 15102    0     0  33262      0 --:--:-- --:--:-- --:--:-- 33337

* Installing YUM sources for Datadog

* Installing the Datadog Agent package

読み込んだプラグイン:fastestmirror
リポジトリーを清掃しています: base datadog epel extras google-cloud-sdk
                            : google-compute-engine updates
29 個の metadata ファイルを削除しました
14 個の sqlite ファイルを削除しました
0 個の metadata ファイルを削除しました
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ datadog-agent.x86_64 1:7.20.2-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package               アーキテクチャー
                                      バージョン          リポジトリー     容量
================================================================================
インストール中:
 datadog-agent         x86_64         1:7.20.2-1          datadog         145 M

トランザクションの要約
================================================================================
インストール  1 パッケージ

総ダウンロード容量: 145 M
インストール容量: 484 M
Downloading packages:
警告: /var/cache/yum/x86_64/7/datadog/packages/datadog-agent-7.20.2-1.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID e09422b3: NOKEY
datadog-agent-7.20.2-1.x86_64.rpm の公開鍵がインストールされていません
https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public から鍵を取得中です。
Importing GPG key 0xE09422B3:
 Userid     : "Datadog, Inc <[email protected]>"
 Fingerprint: a4c0 b90d 7443 cf6e 4e8a a341 f106 8e14 e094 22b3
 From       : https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : 1:datadog-agent-7.20.2-1.x86_64                 1/1 
Enabling service datadog-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/datadog-agent.service to /usr/lib/systemd/system/datadog-agent.service.
Loading SELinux policy module for datadog-agent.
Labeling SELinux type for the system-probe binary.
restorecon reset /opt/datadog-agent/embedded/bin/system-probe context system_u:object_r:bin_t:s0->system_u:object_r:system_probe_t:s0
No datadog.yaml file detected, not starting the agent
  検証中                  : 1:datadog-agent-7.20.2-1.x86_64                 1/1 

インストール:
  datadog-agent.x86_64 1:7.20.2-1                                               

完了しました!

* Adding your API key to the Agent configuration: /etc/datadog-agent/datadog.yaml

/usr/bin/systemctl
* Starting the Agent...



Your Agent is running and functioning properly. It will continue to run in the
background and submit metrics to Datadog.

If you ever want to stop the Agent, run:

    sudo systemctl stop datadog-agent

And to run it again run:

    sudo systemctl start datadog-agent

「Finish →」 をクリック

下記のように Welcome ページが開く

2. GCP 登録

GCP のメトリクスとログを Datadog へ入れる設定を実施する

2.1 メトリクス収集

GCP のメトリクスの登録を実施する

まず、GCP 側で Datadog 用のサービスアカウントを作成する

下記の画面通り GCP でサービスアカウントを作成していく

GCP Credentials page
https://console.cloud.google.com/apis/credentials

サービスアカウント名を入力する (下記は例で、datadog)
「作成」をクリック

サービスアカウントの権限は下記3つをロールを設定する

  • Compute 閲覧者
  • モニタ リング閲覧者
  • クラウド アセット閲覧者

サービスアカウントのキーを作成する

キーのタイプはjsonで作成する

作成すると秘密鍵がダウンロードされる

DataDog に戻り Welcom ページの右下にある Google Cloud Platform をクリックする (左のメニューのIntegrationsからも選べる)

Google Cloud Platform の Configuration をクリックして、Add Project のUpload Private Key File
サービスアカウントで作成・ダウンロードした json ファイルをアップロードする

Service Account が追加できれば OK

2.2 ログ収集

Datadog 左メニューの LogsGetting Started をクリック
Cloud をクリックして Google Cloud Platformのアイコンをクリックして選択すると下記画像のページが出るので、記載された ② ~ ④ を実施していく

② Pub/Sub の設定を実施する

Cloud Pub/Sub コンソール
https://console.cloud.google.com/cloudpubsub/topicList

トピックを作成をクリック

export-logs-to-datadogのような名称をつけて作成する

③Pub/Subの Datadog フォワード設定

トピックの下の方にあるサブスクリプションを作成で作成する

サプスクリプション名を入力する(下記画像での例datadog)
配信タイプはpushにする
DATADOG の③に記載されているhttps://gcp-intake.logs.datadoghq.com/v1/input/<DATADOG_API_KEY>を入力する
最後にCREATEをクリックして作成する

④ログのエクスポート設定

オペレーション(旧 Stackdriver) から「シンクを作成」する

オペレーション ロギング / ログルーター コンソール
https://console.cloud.google.com/logs/exports

シンクの編集で下記画像の通りシンク名シンクサービスシンクのエクスポート先を入力/選択して「シンクを作成」で作成する ※どのログを転送するかは適当に

以上でログ転送設定完了

3. Datadog Dashboard / Logs 確認

GCP のメトリクス・ログを登録できたので、確認できるようになっていることを確認してみる

Dashboard 確認

左のメニューからDashboardをクリックすると List が表示される (うまくいってれば GCP 関連ができている)

2つの表示例を下記に載せる (ただし無料枠の VM インスタンスを 1台しかいないので内容はしょぼいです。。)

Dashboard Google Cloud Platform

Dashboard Google Compute Engine

Logs 確認

左メニューのLogsをクリックして Log Explorer を表示する
GCP からログがきていれば OK

おわりに

Datadog の登録から GCP のメトリクス・ログ投入まで完了した
SaaS かつ有名サービスだけあってドキュメントが整備されていて簡単に登録できた (若干古い記載はあったけど)
14 日間無料なので色々試していきたい (ただ継続は、個人でやるには高いと思われる。。)

参考

Datadog ドキュメント Google Cloud Platform
https://docs.datadoghq.com/ja/integrations/google_cloud_platform/