Amazon LinuxをDatadogで監視してみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、阿部洸樹です。 皆さんはDatadogをご存知でしょうか?SaaS形式のモニタリングサービスです。 5台以下のシステム向けに、Freeプラン(無償)が用意されています。 Datadogのブログを書かなイカ?との指令がありましたので、試してみました。

セットアップ手順

アカウント作成

最初にアカウントを作成します。一般的なWebサービスと同様に数分で完了します。 Datadogのログイン画面にアクセスし、[Sign Up]を選択します。

Login画面

Emailアドレス、名前、会社名、パスワードを入力し[Sign Up]を選択します。

アカウント作成1

amazon webservicesを選択し、[ Next ]を選択します。

アカウント作成2

アカウント作成3

監視対象のOSを選択しましょう。 今回はAmazonLinuxとしました。 コマンドが表示されますので、AmazonLinux上で実行すると、datadog-agentがインストールされます。 datadog-agentは、イベントやメトリクスを収集しDatadogに送信します。

アカウント作成4

$ DD_API_KEY=****** bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/dd-agent/master/packaging/datadog-agent/source/install_agent.sh)"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7140  100  7140    0     0  66425      0 --:--:-- --:--:-- --:--:-- 66728

* Installing YUM sources for Datadog

* Installing the Datadog Agent package

読み込んだプラグイン:priorities, update-motd, upgrade-helper
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ datadog-agent.x86_64 1:5.5.1-1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

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

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

総ダウンロード容量: 54 M
インストール容量: 181 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
find: `/opt/datadog-agent/agent': そのようなファイルやディレクトリはありません
  インストール中          : 1:datadog-agent-5.5.1-1.x86_64                  1/1 
Please supply a configuration file at /etc/dd-agent/datadog.conf or in the directory where the Agent is currently deployed.
Stopping Datadog Agent (using killproc on supervisord): [失敗]
/etc/dd-agent/datadog.conf not found. Exiting.
  検証中                  : 1:datadog-agent-5.5.1-1.x86_64                  1/1 

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

完了しました!

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

* Starting the Agent...

Stopping Datadog Agent (using killproc on supervisord):    [失敗]
hostname: 不明なホストです
Starting Datadog Agent (using supervisord):                [  OK  ]

Your Agent has started up for the first time. We're currently verifying that
data is being submitted. You should see your Agent show up in Datadog shortly
at:

    https://app.datadoghq.com/infrastructure

Waiting for metrics.................................

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 /etc/init.d/datadog-agent stop

And to run it again run:

    sudo /etc/init.d/datadog-agent start

$ 

Datadog用のIAMアカウントを用意しましょう。 最低限、EC2とCloudWatchのRead権限が必要になります。 今回はIAMユーザdatadogを作成の上、下記IAMポリシーを適用しました。

 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "cloudwatch:Describe*",
        "cloudwatch:Get*",
        "cloudwatch:List*",
        "ec2:Describe*",
        "ec2:Get*",
        "ecs:Describe*",
        "ecs:List*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

IAMユーザdatadogのアクセスキー、シークレットキーを入力し、[Finish]を選択します。 アカウント作成5

Datadogの画面が表示されます! アカウント作成7

左メニュー[Infrastructure]を選択します。 EC2インスタンスが認識されています。

インスタンス確認1

インスタンスIDを選択します。 監視データが表示されます。 インスタンス確認2

試しにEC2インスタンスを1台追加したところ、追加分も認識されました。

インスタンス確認4

おわりに

簡単にDatadogから、EC2インスタンスを監視することが出来ました。 以前利用していた監視ソフトでは、監視対象が増減した際に監視サーバ側の設定が必要でしたが、 Datadogでは不要のようですので、便利に感じました。 SaaS形式ですと、監視サーバのOSや監視ソフトのバージョンアップが不要になるかと思いますので、 そちらもポイントが高いと思います。

参考情報