6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DatadogにAWS EC2からログ転送

Last updated at Posted at 2020-12-30

Datadogに任意のログを転送する方式について調査しました。

Datadogへのログ転送方式

公式のマニュアルを参照すると、いろいろな方式が用意されていることがわかる。

Datadog Agent経由で送るだけでなく、既存の様々なツール(Rsyslog、Syslog-ng、NXlog、FluentD、Logstash)とも連携できるとのこと。

何が基本かわからないので、まずDatadog Agent経由でのログ転送について調査してみることにした。

Datadog Agent経由でのログ転送

Datadog Agent経由でのログ転送はデフォルトでは無効になっているらしく、まずその有効化が必要とのこと。
そのうえでconf.yamlファイルを作成し、そこに監視したいファイル名を記載する。

Datadog Agentの各種設定ファイル

環境:EC2, AmazonLinux

Datadog Agentの設定ファイルは下記の構造になっていた。

$ pwd
/etc/datadog-agent

$ ls -al
total 168
drwxr-xr-x   7 dd-agent dd-agent  4096 Dec 29 17:01 .
drwxr-xr-x  80 root     root      4096 Dec 28 13:24 ..
-rw-------   1 dd-agent dd-agent    64 Dec 28 13:25 auth_token
drwxr-xr-x   2 dd-agent dd-agent  4096 Dec 11 15:20 checks.d
drwxr-xr-x   2 dd-agent dd-agent  4096 Dec 28 13:24 compliance.d
drwxr-xr-x 149 dd-agent dd-agent  4096 Dec 29 16:40 conf.d
-rw-r-----   1 dd-agent dd-agent 64795 Dec 29 16:37 datadog.yaml
-rw-r--r--   1 dd-agent dd-agent 64745 Dec 11 15:20 datadog.yaml.example
-rw-r--r--   1 root     root       117 Dec 28 13:25 install_info
drwxr-xr-x   2 dd-agent dd-agent  4096 Dec 28 13:24 runtime-security.d
drwxr-xr-x   2 dd-agent dd-agent  4096 Dec 28 13:24 selinux
-r--r-----   1 dd-agent dd-agent  1066 Dec 11 15:20 system-probe.yaml.example

ログ転送を有効化するための設定ファイルは下記。

/etc/datadog-agent/datadog.yaml
    570 ##################################
    571 ## Log collection Configuration ##
    572 ##################################
    573
    574 ## @param logs_enabled - boolean - optional - default: false
    575 ## Enable Datadog Agent log collection by setting logs_enabled to true.
    576 #
    577 # logs_enabled: false

これをtrueに修正して、Agentを再起動。

カスタムログの転送をお試し

今回はどのようなログでも良いので、個人的に好きなエラーコードのログを転送してみる。

下記のログファイルを作成。

/var/opt/alert.log
2020-12-29 17:07:13.000000 +09:00 ORA-00600: internal error code, arguments: [AAA], [BBB], [CCC], [DDD], [EEE]
2020-12-29 17:07:18.000000 +09:00 ORA-00600: internal error code, arguments: [AAA], [BBB], [CCC], [DDD], [EEE]

下記の設定を追加し、Datadog Agentを再起動。

/etc/datadog-agent/conf.d/mydatabase.d/conf.yaml
logs:
  - type: file
    path: "/var/opt/alert.log"
    service: "myoracle"
    source: "mydatabase"

再起動後に、ログファイルに、数行ログを追加。
これにより、ログが転送されていることが確認できた。
20201230.PNG

まとめ

Datadogへのログ転送は非常に簡単であり、また様々な方式が用意されていることがわかった。マニュアルも非常に丁寧に記載されており、各種サービス毎、プラットフォーム毎、バージョン毎に細かく書かれており非常にわかりやすい。
実際に導入を検討する際にも困ることは無さそう。

カスタムログを転送する場合には、そのアプリケーション名やサービス名などDatadog側で分析する際のタグ?を理解し、正しく付与することが必要になりそうであることがわかった。

メモ

ログ転送を行うためにはDatadog Agentが対象のファイルを読み取れる必要がある。
Datadog Agentは「datadog-agentユーザ」で動作しているため、このユーザからアクセス可能な権限とする必要がある。
当然と言えば当然だけど、ハマった。。。

公式のトラブルシューティングガイドに色々と記載されているが、Agentのステータスチェックや、Agentのログなどは非常に参考になった。

Datadogを正式に利用する際には、Agentのログをdatadogに転送したりするのであろうか・・・

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?