Windows ServerやLinuxのログをDatadogに収集して表示する手順
LinuxのsyslogやWindows ServerのイベントログをDatadogに転送する手順です。
Datadogを使用すると、サーバー(OS)のイベントログ、アプリケーションログ、システムログなどを確認・監視できます。
Datadog Agentを利用して、各種ログをDatadogに転送することで実現可能です。
MySQLやPostgreSQLなどのミドルウェアのログを含む、さまざまなログを転送できます。
システム全体のログを集約して管理できるため、事象の把握がしやすくなります。
今回は、Linuxのsyslog(messages)やWindows ServerのイベントログをDatadogに転送する手順についてまとめました。
Datadog Agentの設定から、収集したログの確認までの流れを整理しています。
※Windows Serverは、Windows Server 2022を利用しています。
※LinuxはCentOSを利用しています。
※Azure環境上の仮想マシンを利用して手順確認しています。
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
Linuxのsyslog(messages)をDatadogに収集して表示
Datadog Agentをインストール
Datadog Agentのインストール手順については、こちらで紹介しています。
logsのメニューでログ転送の設定手順を確認
Datadog Agentを使用したログ転送手順は、logsメニューにあります。
Getting Startedメニューから手順を確認できます。
ログ転送に必要な設定ファイルは2つ
Datadog Agentでログを転送するためには、設定が必要です。
設定手順にも記載されている通り、必要な設定ファイルは2つあります。
-
- datadog.yaml:Datadog Agentのメイン設定ファイル
- 機能の有効化などを設定します(今回はログ転送を有効化)
- ファイルの場所:/etc/datadog-agent/datadog.yaml
- conf.yaml:各機能の詳細を定義する設定ファイル
- 転送するログのパスやファイル名を指定
- ファイルの場所 :/etc/datadog-agent/conf.d/サービス名.d/conf.yaml
- datadog.yaml:Datadog Agentのメイン設定ファイル
※Datadog Agentを実行するユーザー(dd-agent)に、転送対象のログへのアクセス権を付与する必要があります。
datadog.yamlでログ転送を有効化
Datadog Agentでは、デフォルトでログ転送が無効になっています。
datadog.yamlにログ転送の設定項目があります。
ログ転送を有効化するには該当パラメータのコメントアウトを解除、falseからtrueに変更します。
※logs_enabled: trueの行頭にスペースが入っているとエラーになるため、注意が必要です。
datadog.yamlを編集 | |
datadog.yamlを編集します。 logs_enabledのコメントアウトを外して、値をfalseからtrueに変更します。 |
【編集前】 |
【編集後】 |
conf.yamlを作成
Datadog Agentは、/etc/datadog-agent/conf.d/配下のファイルを読み込み実行します。
転送するログ(Source)を指定するため、/etc/datadog-agent/conf.d/配下に、サービス名.dという名前でディレクトリを新規作成します。
今回は、messages.dというディレクトリを作成しています。
※conf.d配下には、デフォルトで多くのサービスに対応した設定ファイルが用意されています。
conf.yamlの作成手順 | |
installコマンドを使用してディレクトリを作成し、同時に権限も付与します。
|
|
lsコマンドで確認すると、ディレクトリが作成されていることが分かります。
|
|
viコマンドを使用してconf.yamlを新規作成します。
|
|
確認した手順の記載内容を貼り付けます。(コメントは除いています。)
|
ディレクトリ(/var/log)とログ(messages)へのアクセス権を付与
Datadog Agentはdd-agentユーザーによって実行されます。
dd-agentユーザーは/var/log配下へのアクセス権限がないため、エラーが発生します。
権限を付与する際は、ディレクトリに対するアクセス権とファイルに対するアクセス権の両方を設定する必要があります。
アクセス権を付与 | |
setfaclコマンドを使用して、dd-agentユーザーに/var/logディレクトリに対するrx(読み取りと実行)権限を付与します。
|
|
デフォルトでは、syslog(messages)にはrootのみがアクセスできるよう設定されています。 ※ログファイルの権限付与方法には複数の手段がありますが、ここでは公式サイトに記載されている方式を使用しています。 ログローテーションのためのファイルアクセス許可の設定 (Linux)
|
|
messagesファイルにも読み取り権限を付与します。
|
|
rsyslogのサービスを再起動して、設定を反映します。
|
Datadog Agentを再起動してログの表示を確認
Datadog Agentを再起動し、ログ転送状況を確認します。
Datadog上でログが表示されていることも確認します。
ログ転送状況やログ表示を確認 | |
datadog-agentを再起動します。
|
|
datadog-agent statusコマンドでログ転送状況を確認します。
|
|
Datadogでログが表示されていることを確認します。 |
—広告—
Windows ServerのイベントログをDatadogに収集して表示
Windows Serverのイベントログの場合も同様の手順となります。
Datadog Agentのインストール、ログ転送の有効化、収集対象ログの設定という流れで設定します。
Windows ServerにDatadog Agentをインストール
Windows ServerにDatadog Agentをインストールします。
インストール方法については、こちらで紹介しています。
logsのメニューでログ転送の設定手順を確認
Datadog Agentを使用したログ転送手順は、logsメニューにあります。
Getting Startedメニューから手順を確認できます。
設定手順を確認 | |
logsでGetting Startedメニューを選択します。 今回はWindows Serverのため、Serverを選択します。 Select a log sourceでWindows Eventを選択します。 ②にはログ転送の有効化設定、③にはconf.yamlの記載サンプルが表示されます。 |
![]() |
ログ転送に必要な設定ファイルは2つ
Datadog Agentでログを転送するためには、設定が必要です。
設定手順にも記載されている通り、必要な設定ファイルは2つあります。
Windows Serverの場合は、Datadog Agent Managerで設定できます。
-
- datadog.yaml:Datadog Agentのメイン設定ファイル
- 機能の有効化などを設定します(今回はログ転送を有効化)
- ファイルの場所:C:\ProgramData\Datadog\datadog.yaml
- conf.yaml:各機能の詳細を定義する設定ファイル
- 転送するログのパスやファイル名を指定
- ファイルの場所 :C:\ProgramData\Datadog\conf.d\サービス名.d\conf.yaml
- datadog.yaml:Datadog Agentのメイン設定ファイル
datadog.yamlでログ転送を有効化
Datadog Agent Managerを使用して、datadog.yamlの設定を変更できます。
logs_enabledの設定をfalseからtrueに変更することで、ログ転送が有効化されます。
datadog.yamlでログ転送を有効化 | |
datadog.yamlを編集します。 logs_enabledのコメントアウトを外し、値をfalseからtrueに変更します。 |
【設定変更前】 |
【設定変更後】 |
conf.yamlを新規作成
Datadog Agent Managerを使用してconf.yamlを作成します。
channel_path(取得対象のイベントログ)の指定、source、service、sourcecategoryを設定します。
収集したイベントログをDatadogで表示
収集されたイベントログをDatadogで表示します。
Logsメニューで確認できます。
収集したイベントログを表示 | |
Windows Serverのイベントログが収集されていることが確認できます。 |
![]() |
![]() |
|
Datadog Agent Managerでもログ転送のステータスを確認できます。 StatusのGeneralを選択します。 Log Agentの項目で各ログの転送状況が確認できます。 StatusがOKになっていれば、正常に転送されています。 |
![]() |
—広告—
最後に
今回はDatadog Agentを使ったログ転送設定の基本的な手順を確認しました。
公式サイトなどで多くの情報が提供されていたため、手順に困ることはほとんどありませんでした。
複数のサーバのログを集約して管理や監視設定もできるため、非常に便利だと感じました。
ログには、フィルターを使った絞り込みやパーサーを使ったログの構造化など、さまざまな機能が提供されています。
引き続き、Datadogの機能についていろいろと試してみたいと思います。