概要
Datadogを使用した、AWS上のEC2インスタンス上のログ監視を行う。
その前提として、Datadogによるログの集約(AgentからServerへの転送)が必要となる。
今回、ログ集約方法について説明する。
注) Datadogコンソール上でのモニター設定(ログ監視設定)については別途説明する。(ここでは取り扱わない)
Datadogを使用したログ集約設定
Datadogでログ集約(転送)をするためには、Datadog Agent側でログ送信機能の有効化、並びに転送対象となるログの指定が必要である。
- Datadog Agentのインストール
監視対象にDatadog Agentをインストールする。
インストール手順についてはここでは割愛する。
- ログ送信の有効化
ログ送信の設定はdatadog.yaml(/etc/datadog-agent/datadog.yaml)内にあり、初期値は無効になっている。ここを有効に変更する必要がある。
例
Log collection Configuration内でogs_enabled:trueにする。
~~~~~~~~~省略~~~~~~~~~
##################################
## Log collection Configuration ##
##################################
## @param logs_enabled - boolean - optional - default: false
## Enable Datadog Agent log collection by setting logs_enabled to true.
#
logs_enabled: true
~~~~~~~~~省略~~~~~~~~~
※初期値は#logs_enabled:falseとなっているので、コメントアウトを外し、logs_enabled:trueとする。
パラメーター変更後はDatadog Agentの再起動が必要。(再起動することで変更したパラメーターが反映される)
- 送信対象のログの指定
送信対象となるログについては、構成ディレクトリと構成ファイルを作成し、定義が必要
例:
sudo mkdir /etc/datadog-agent/conf.d/test_app.d/
sudo vi /etc/datadog-agent/conf.d/test_app.d/conf.yaml
この例では、転送対象のログのサービス名を"test_app"としている。
以下のような内容が含まれるように定義します。
例:
init_config:
instances:
logs:
- type: file
path: /work/monitoring_test.log
source: application
service: test_app
各項目の説明
path: 転送対象のログのファイル名(絶対パス)
source: 任意の名称
service: 任意の名称(ただし、ディレクトリ名と合致している必要がある)
パラメーター設定後はDatadog Agentの再起動が必要。(再起動することで変更したパラメーターが反映される)
- 転送されたログの確認
前項までの作業で、ログ転送の設定が完了した。
以降、監視対象ログに出力された内容が、Datadogサーバーに転送された、Datadogコンソール上で参照可能となる。
例: Logs → Live Tailでの参照