Windows ServerやLinuxのログをDatadogに収集して表示する手順纏め
Datadogを使うとサーバー(OS)のイベントログ、アプリケーションログ、システムログ等を確認、監視が出来ます。
Datadog Agentを使ってDatadogにログ転送する事で実現出来ます。
MySQLやPostgreSQLと言ったミドルウェアのログ等様々なログが転送出来ます。
システム全体のログを集約して管理する事が出来る為事象の把握がしやすくなります。
Linux(Cent OS)のmessages(rsyslog)やWindows Server 2022のイベントログのDatadog転送設定手順を纏めてみました。
Datadog Agentの設定から収集されたのログ確認までを纏めています。
※今回は仮想マシン(Azure VM)を利用しています。
LinuxのmessagesをDatadogで表示
Datadog Agentをインストール
Linux OSにはCent OSを利用しています。
Datadog Agentのインストール手順についてはこちらに纏めています。
設定手順を確認
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にログ転送の設定があります。
ログ転送有効化のパラメータをfalesから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 Agenはdd-agentユーザーによって実行されます。
dd-agentユーザーは/var/log配下へアクセス権限がない為エラーになります。
権限付与はディレクトリに対するアクセス権とファイルに対するアクセス権を付与します。
権限付与手順 | |
setfaclコマンドを使ってdd-agentユーザーに/var/logに対するrx(読み取りと実行)権限を付与します。
|
|
デフォルトではログ(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をインストールします。
インストール方法についてはこちらに記載しています。
設定手順を確認
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の設定ファイルです。機能の有効化設定などの記載をします。
- 設定ファイルの場所は:\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を設定します。
イベントログを表示
収集されたイベントログを表示します。
Logsのメニューで確認出来ます。
転送状況確認 | |
Windows Serverのイベントログが収集されている事が確認出来ます。 |
|
Datadog Agent Managerでもログ転送のステータス確認出来ます。 StatusのGeneralを選択します。 Log Agentの項目で各ログの転送状況が確認出来ます。 StatusがOKになっています。 |
最後に
今回はDatadog Agentを使ったログ転送設定の基本的な部分の手順を纏めてみました。
公式サイト等で多くの情報が提供されていたので手順に困る事は少なかったです。
複数のサーバのログを集約して管理、監視設定も出来る為非常に便利かと思いました。
ログの機能にはフィルターを使った絞り込み、パーサーを使ったログの構造化と言った多くの機能が提供されています。
引き続きDatadogの機能について色々試してみたいと思います。