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

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

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

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

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

![Datadog_GCP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/c47691dc-a2cb-b9ef-140f-61fc50d191ce.png)


## 1. Datadog の登録
Datadog サイト
https://www.datadoghq.com/ja/

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

![DATADOG1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/c2aa3c3d-d57c-2afc-9a73-b2bfc5489e19.png)

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

![DATADOG2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/7d501229-3090-c6e2-0811-72d60a1883ae.png)

「Nwxt →」をクリック

![DATADOG3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/b2914bd2-94c7-3b5d-b274-ef1e1d7917de.png)

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

![DATADOG4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/d7443eae-51cc-205c-249d-7e14e2d49033.png)

上記の 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 →」 をクリック

![DATADOG5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/2e938dc0-cec6-a172-b753-14369ea9d531.png)


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

![DATADOG6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/c7f15e29-a3c7-5fc7-ae86-d34535404f8e.png)

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

### 2.1 メトリクス収集

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

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

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

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

![DATADOG_GCP1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/bb695d43-dd1c-e755-20a1-5d6879797eb1.png)

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

![DATADOG_GCP2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/59857674-fcc5-e837-ace6-5dad816e9cf2.png)

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

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

![DATADOG_GCP3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/46edb12e-ba5c-40a9-ba40-c33a584298f0.png)

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

![DATADOG_GCP4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/6d62116f-ebc6-b179-59df-0110a8992c94.png)

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

![DATADOG_GCP5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/c9cef2b9-92ec-f118-3b4d-e54dcb835c6b.png)

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

![DATADOG_GCP6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/163578e3-40c9-cebf-dfc0-61e0c6a1cb90.png)

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

![DATADOG7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/0c55d943-03f6-7f9d-604b-edb9df2d2c4f.png)

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

![DATADOG8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/8417f51d-f969-c62a-c827-e68e1b453112.png)

Service Account が追加できれば OK

![DATADOG9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/e6410e4f-4d37-9970-ed2f-efdc1b80a560.png)

### 2.2 ログ収集

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


![DATADOG_LOGS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/4a515f0a-cab6-bc04-2740-68ca8f2d18c2.png)

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

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

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

![DATADOG_GCP7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/dd216bba-f30e-d475-c269-e531d768ab9d.png)

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

![DATADOG_GCP8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/05fbd9f9-f1db-e982-a2d7-23720b2f8354.png)


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

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

![DATADOG_GCP8-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/36ce2b73-a9ad-a14e-99f3-0049c2d5d6bb.png)

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

![DATADOG_GCP8-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/add7c70a-2e88-aaf8-bc8f-bd398098f970.png)

#### ④ログのエクスポート設定
オペレーション(旧 Stackdriver) から「シンクを作成」する

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

![DATADOG_GCP9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/1327a7f6-17e9-5a11-8ee2-8c83a17cfb51.png)


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

![DATADOG_GCP10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/aa37fade-c453-235a-7237-141b745a99d4.png)


以上で**ログ転送設定完了**

## 3. Datadog Dashboard / Logs 確認

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

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

![DATADOG_Dashboards_list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/2d9a6f71-7d71-6290-f5ab-4063042d8340.png)

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

Dashboard `Google Cloud Platform`

![DATADOG_GCP_dashboards1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/27315fcf-f9df-8a00-3e24-cb0ded8a0346.png)

Dashboard `Google Compute Engine`

![DATADOG_GCE_Dashboards.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/5955f6b9-92b6-711f-1ebf-f0c46d3720de.png)

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

![DATADOG_LogExplorer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326183/2e7cc58f-634c-ffdb-f887-4b31b7616901.png)

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

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