2026年5月22日

2026年5月22日

Datadogでサーバーを監視する方法(Agent 7の導入・MySQL・ログ・アラート)

Datadog は、サーバーやアプリケーションの状態を集めて、グラフ表示やアラート通知を行うクラウドの監視サービスです。監視したいサーバーに Datadog Agent というプログラムを入れると、CPU・メモリ・ディスク・ネットワークなどの値(メトリクス)が Datadog に送られます。

この記事では、Ubuntu などの Linux サーバーに Agent 7 を入れ、基本の監視、MySQL の監視、ログの収集、アラートの設定までを説明します。コマンドと設定ファイルの場所は、2026年11月時点の Datadog 公式ドキュメントと公式のインストールスクリプト(バージョン 1.48.0)で確認しています。

始める前に:アカウントとサイトの確認

料金の目安

2026年11月時点の公式料金ページでは、Infrastructure Monitoring に次のプランがあります(金額は1ホストあたりの月額、米ドル)。

プラン 内容
Free 5ホストまで無料。メトリクスの保存は1日
Pro 年払いで 15ドル、オンデマンドで 18ドル
Enterprise 年払いで 23ドル、オンデマンドで 27ドル

ログ管理や APM は別料金です。最新の条件は Datadog の料金ページ で確認してください。

Datadog のサイト(リージョン)

Datadog はデータを保存する場所が「サイト」ごとに分かれていて、アカウントを作るときに選びます。Agent にもそのサイトを指定しないと、データが届きません。

サイト 管理画面の URL 指定する値(DD_SITE)
US1 https://app.datadoghq.com datadoghq.com
US3 https://us3.datadoghq.com us3.datadoghq.com
US5 https://us5.datadoghq.com us5.datadoghq.com
EU1 https://app.datadoghq.eu datadoghq.eu
AP1(日本) https://ap1.datadoghq.com ap1.datadoghq.com
AP2(オーストラリア) https://ap2.datadoghq.com ap2.datadoghq.com

自分のサイトは、ログインしたときのブラウザの URL で分かります。

API キー

Agent は API キーで自分のアカウントを識別します。管理画面の Organization Settings の「API Keys」で確認・作成できます。API キーは第三者に知られるとデータを送り込まれるので、Git リポジトリやチャットに貼らないでください。

ステップ1:Agent を入れる

管理画面の Fleet Automation(Agent のインストール画面)でプラットフォームを選ぶと、API キーとサイトが入ったコマンドが表示されます。基本的にはそれをコピーして実行します。中身は次の形です。

DD_API_KEY="自分のAPIキー" DD_SITE="ap1.datadoghq.com" bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"

DD_SITE は自分のサイトの値に置き換えます(省略すると datadoghq.com=US1 になります)。スクリプトは Datadog のパッケージリポジトリを登録し、datadog-agent パッケージを入れて、API キーとサイトを設定ファイルに書き込み、Agent を起動します。

古い記事にある https://datadoghq.com/install.sh のような URL や、/etc/dd-agent/ 以下の設定ファイルは、Agent 5 時代のものか存在しないもので、今の Agent 7 では使いません。

ステップ2:動いているか確かめる

sudo systemctl status datadog-agent
sudo datadog-agent status

datadog-agent status は、Agent のバージョン、API キーが有効か、どのチェック(収集の単位)が動いているか、送信に失敗していないかを表示します。「Checks」の欄に cpu・disk・load・memory などが並び、エラーがなければ収集できています。

数分待ってから、管理画面の Infrastructure(ホスト一覧)にサーバーが表示されることを確認します。メトリクスの検索画面で datadog.agent.running を検索して確かめる方法もあります。

操作 コマンド
起動・停止・再起動 sudo systemctl start datadog-agent / stop / restart
状態の詳細 sudo datadog-agent status
読み込まれた設定の一覧 sudo datadog-agent configcheck
1つのチェックを試しに実行 sudo datadog-agent check チェック名(例: sudo datadog-agent check mysql)
ログの場所 /var/log/datadog/(Agent 本体は agent.log)

設定ファイルの場所

場所 内容
/etc/datadog-agent/datadog.yaml Agent 全体の設定(API キー、サイト、ホスト名、タグ、ログ収集の有無など)
/etc/datadog-agent/datadog.yaml.example すべての設定項目の説明つきの見本
/etc/datadog-agent/conf.d/連携名.d/conf.yaml 連携(インテグレーション)ごとの設定。同じ場所に conf.yaml.example がある

設定を変えたら sudo systemctl restart datadog-agent で反映します。

ステップ3:タグを付けて整理する

台数が増えたら、datadog.yaml にタグを書いておくと、グラフやアラートを環境や役割で絞り込めます。

# /etc/datadog-agent/datadog.yaml に追記
tags:
  - env:production
  - role:web

インストール時に DD_TAGS="env:production,role:web" を付けて渡すこともできます。

ステップ4:MySQL を監視する

MySQL の接続数、クエリ数、InnoDB の状態などを集めるには、MySQL 連携を設定します。Agent に組み込まれているので、追加のインストールは不要です。

まず、監視用の MySQL ユーザーを作ります(MySQL 8.0 の例。公式ドキュメントの手順です)。

CREATE USER 'datadog'@'%' IDENTIFIED BY '監視用のパスワード';
ALTER USER 'datadog'@'%' WITH MAX_USER_CONNECTIONS 5;
GRANT REPLICATION CLIENT ON *.* TO 'datadog'@'%';
GRANT PROCESS ON *.* TO 'datadog'@'%';
-- 追加のメトリクスを集める場合
GRANT SELECT ON performance_schema.* TO 'datadog'@'%';

Agent が同じサーバーの MySQL に接続するだけなら、'%' を 'localhost' に変えて接続元を絞れます(その場合はすべての文の 'datadog'@'%' を 'datadog'@'localhost' にします)。

次に設定ファイルを作ります。

sudo cp /etc/datadog-agent/conf.d/mysql.d/conf.yaml.example /etc/datadog-agent/conf.d/mysql.d/conf.yaml
sudo nano /etc/datadog-agent/conf.d/mysql.d/conf.yaml
init_config:

instances:
  - host: 127.0.0.1
    username: datadog
    password: "監視用のパスワード"
    port: 3306

公式ドキュメントは localhost ではなく 127.0.0.1 を指定するよう案内しています。パスワードに記号が含まれるときは引用符で囲みます。このファイルにはパスワードが入るので、所有者とパーミッションは見本のファイルと同じ(dd-agent が読める状態)にし、ほかのユーザーからは読めないようにしてください。

sudo chown dd-agent:dd-agent /etc/datadog-agent/conf.d/mysql.d/conf.yaml
sudo chmod 640 /etc/datadog-agent/conf.d/mysql.d/conf.yaml
sudo systemctl restart datadog-agent
sudo datadog-agent check mysql

datadog-agent status の「Checks」に mysql が表示され、エラーがなければ設定できています。

ステップ5:ログを集める(必要な場合)

ログの収集は初期状態では無効です。使う場合は datadog.yaml で有効にします(ログ管理は別料金です)。

# /etc/datadog-agent/datadog.yaml
logs_enabled: true

集めるファイルは、連携ごとの設定ファイルに書きます。たとえば独自のアプリのログなら次のようにします。

sudo mkdir -p /etc/datadog-agent/conf.d/myapp.d
sudo nano /etc/datadog-agent/conf.d/myapp.d/conf.yaml
logs:
  - type: file
    path: "/var/log/myapp/app.log"
    service: "myapp"
    source: "myapp"

Agent は dd-agent ユーザーで動くので、ログファイルを dd-agent が読めないと収集できません。sudo -u dd-agent cat /var/log/myapp/app.log で読めるか確かめ、読めなければグループやパーミッションを調整します。設定後は Agent を再起動し、datadog-agent status の「Logs Agent」の欄で状態を確認します。

ステップ6:アラート(モニター)を作る

グラフを見るだけでなく、しきい値を超えたら通知されるようにします。管理画面の Monitors から新しいモニターを作り、種類に Metric を選んで、メトリクスとしきい値を指定します。

監視したいこと メトリクスの例 補足
CPU 負荷 system.load.1 1分間の平均負荷。CPU コア数を目安にしきい値を決める
CPU 使用率 system.cpu.user・system.cpu.system パーセント
ディスク使用率 system.disk.in_use 0〜1 の割合(0.9 が 90%)
空きメモリ system.mem.pct_usable 使えるメモリの割合(0〜1)
Agent が止まった datadog.agent.running ホストからの送信が途絶えたときに通知する設定にする

通知先は、モニターのメッセージ欄でメールアドレスや連携したチャットツールを指定します。最初は少数のモニターから始め、誤報が多ければしきい値や評価する時間幅を調整してください。

運用で気をつけること

  • Agent を更新する:パッケージとして入っているので、sudo apt update && sudo apt upgrade で更新されます。
  • API キーの管理:使わなくなったキーは無効にし、サーバーごとやチームごとにキーを分けると、漏れたときの影響を小さくできます。
  • 台数と料金:課金はホスト数が基本です。試すだけのサーバーに入れたままにしないようにし、外すときは sudo apt-get remove --purge datadog-agent でアンインストールします。

WordPress サイトを Datadog で監視する視点は WordPressサイトをDatadogで監視する、アプリケーションの処理時間まで追いたい場合は New RelicでAPMモニタリングを設定する方法 も参考にしてください。

まとめ

  • Agent 7 は管理画面に表示されるコマンド(install_script_agent7.sh)で入れ、DD_SITE を自分のサイト(日本なら ap1.datadoghq.com など)に合わせます。
  • 状態は sudo datadog-agent status で確認し、設定は /etc/datadog-agent/datadog.yaml と conf.d/連携名.d/conf.yaml に書きます。
  • MySQL は監視用ユーザーと mysql.d/conf.yaml、ログは logs_enabled: true と連携ごとの logs: で集め、主要なメトリクスにモニターを設定します。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲