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:で集め、主要なメトリクスにモニターを設定します。