fluentd設定ハマった所あるある
以下随時追加。
環境
- CentOS Linux release 7.1.1503 (Core)
- Fluentd 0.12.12
- Nginx 1.8.0
Permission denined
- パーミッションエラー!
1 | # tail -f /var/log/td-agent/td-agent.log |
対策
td-agent実行ユーザをroot
に変更する。
1 | $ sudo vim /etc/init.d/td-agent |
デーモンリロード
1 | sudo systemctl daemon-reload |
動作確認
以下のようにtail
が正しく実行できていることが確認できます。
1 | # tail -f /var/log/td-agent/td-agent.log |
[warn]: pattern not match
これかなりハマりました。
Nginxのlogを流すときに以下のようにfomatするように書かれている記事を多く見たので
設定してみたらエラー発生(; >_<)
- /etc/td-agent/td-agent.conf
1 | <source> |
対策
以下のように修正
- /etc/td-agent/td-agent.conf
1 | <source> |
td-agent再起動
1 | $ sudo systemctl restart td-agent |
これで大丈夫。
buffer_path 重複
1 | [error]: failed to configure sub output redshift: Other '' plugin already use same buffer_path: type = , buffer_path = * |
元々の設定は以下の様にしていました。
td-agent の送信先にトラブルがあり buffer が溜まり重複しエラーとなっていました。
1 | buffer_path /logs/td-agent/nginx/logs |
例)以下の様な tag があった場合、buffer_path は同じく /logs/td-agent/nginx/logs
となってしまう
hogehoge.20170101.log
hogehoge.20170102.log
対策
tag_parts を用い、以下の様に tag 毎に buffer_path をユニークにすることで解決
1 | buffer_path /logs/td-agent/nginx/logs_${tag_parts[0]}_${tag_parts[1]} |
引き続き何か発生したら追記していきます。
fluentd設定ハマった所あるある
https://kenzo0107.github.io/2015/08/20/2015-08-21-fluentd-failpattern/