はじめに
Datadog を無料で試すから始めて、GCP のメトリクス・ログを Datadog へ入れるところまで実施してみた
登録までの道のりを記載する
実施内容
実施順番は下記の3ステップ
- Datadog の登録
- GCP設定
- メトリクス取得設定
- ロギング取得設定
- 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 <package@datadoghq.com>"
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 左メニューの Logs
→ Getting 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/