Apacheログ
「トレジャーデータサービス by IDCF」にtd-agentを用いてApacheログをインポートする方法をご案内します。※Apacheがインストールされていることを前提とします。
1. td-agentの設定ファイルの編集
「/etc/td-agent/td-agent.conf」の設定ファイルに下記の設定をします。
<source>
type tail
path /var/log/apache2/access.log # Apacheログのパス
pos_file /var/log/td-agent/httpd-access.pos
tag td.DBNAME.TABLENAME # 「トレジャーデータサービス by IDCF」上のDB、Table名を指定
format apache2 # apache2と指定します。
</source>
<match td.*.*>
type tdlog
apikey YOUR_API_KEY # Write-Only API Keyを指定
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
endpoint api.ybi.idcfcloud.net
flush_interval 10s # データーアップロード間隔の指定
use_ssl true
</match>
2. Apacheログの権限設定
監視対象であるApacheログをtd-agentユーザーが読み取り可能な権限に設定してください。
3. td-agentの起動
以下のコマンドでtd-agentを起動します。
$ sudo service td-agent restart
4. td-agentの正常性確認
エラーレベルのログが出力されていないかを確認します。エラーログが出力されている場合は、設定ファイルと監視対象のログの権限設定をもう一度ご確認ください。
$ tail -f /var/log/td-agent/td-agent.log
Nginxログ
「トレジャーデータサービス by IDCF」にtd-agentを用いてNginxログをインポートする方法をご案内します。※Nginxがインストールされていることを前提とします。
1. td-agentの設定ファイルの編集
「/etc/td-agent/td-agent.conf」の設定ファイルに下記の設定をします。
<source>
type tail
path /var/log/nginx/access.log # Nginxログのパス
pos_file /var/log/td-agent/nginx-access.pos
tag td.DBNAME.TABLENAME # 「トレジャーデータサービス by IDCF」上のDB、Table名を指定
format nginx # nginxと指定します。
</source>
<match td.*.*>
type tdlog
apikey YOUR_API_KEY # Write-Only API Keyを指定
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
endpoint api.ybi.idcfcloud.net
flush_interval 10s # データーアップロード間隔の指定
use_ssl true
</match>
2. Nginxログの権限設定
監視対象であるNginxログをtd-agentユーザーが読み取り可能な権限に設定してください。
3. td-agentの起動
以下のコマンドでtd-agentを起動します。
$ sudo service td-agent restart
4. td-agentの正常性確認
エラーレベルのログが出力されていないかを確認します。エラーログが出力されている場合は、設定ファイルと監視対象のログの権限設定をもう一度ご確認ください。
$ tail -f /var/log/td-agent/td-agent.log
Applicationログ
「トレジャーデータサービス by IDCF」にtd-agentを用いてApplicationログをインポートする方法をご案内します。※Applicationがファイルにログ出力することを前提とします。
1. インポート対象のログフォーマットの確認
例として以下のフォーマットのログ(「/var/log/APP/app.log」)をインポートすることとします。
2014-09-01 15:06:53 test-watch INFO -- bash Check TEST API: Start
2014-09-01 15:06:54 test-watch INFO -- bash Check TEST GET STATUS PAGE: #num:0 Start
2014-09-01 15:06:54 test-watch INFO -- bash Check TEST GET STATUS PAGE: Normal End
2014-09-01 15:06:54 test-watch INFO -- bash Check TEST Web Console login: #num:0 Start
2014-09-01 15:06:54 test-watch INFO -- ruby Start
2014-09-01 15:06:54 test-watch INFO -- ruby HTTP Get Request Start test-server:80
2014-09-01 15:06:54 test-watch INFO -- ruby HTTP Get Request End test-server:80
2. td-agentの設定ファイルの編集
「/etc/td-agent/td-agent.conf」の設定ファイルに下記の設定をします。
<source>
type tail
path /var/log/APP/app.log # Applicationログのパス
pos_file /var/log/td-agent/application.pos
tag td.DBNAME.TABLENAME # 「トレジャーデータサービス by IDCF」上のDB、Table名を指定
format /^(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (?<system>[^ ]*) (?<log_level>[^ ]*) (?<function>[^ ]*) (?<check_kind>[^ ]*) (?<message>.*)$/ # 正規表現でフォーマットを指定します。(?<COLUMN>VALUE)で指定することでCOLUMNというカラムにVALUEという値が格納されます。
time_format %Y-%m-%d %H:%M:%S # <time>のフォーマットを指定します。
</source>
<match td.*.*>
type tdlog
apikey YOUR_API_KEY # Write-Only API Keyを指定
auto_create_table
buffer_type file
buffer_path /var/log/td-agent/buffer/td
endpoint api.ybi.idcfcloud.net
flush_interval 10s # データーアップロード間隔の指定
use_ssl true
</match>
3. Applicationログの権限設定
監視対象であるApplicationログをtd-agentユーザーが読み取り可能な権限に設定してください。
4. td-agentの起動
以下のコマンドでtd-agentを起動します。
$ sudo service td-agent restart
5. td-agentの正常性確認
エラーレベルのログが出力されていないかを確認します。エラーログが出力されている場合は、設定ファイルと監視対象のログの権限設定をもう一度ご確認ください。
$ tail -f /var/log/td-agent/td-agent.log