質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Fluentd

Fluentdは、オープンソースのログ収集ツールです。ログの収集方法、ログの記録先などのログデータ処理を柔軟にカスタマイズでき、インプットおよびアウトプットが全てプラグインとして実装されています。

Q&A

0回答

2567閲覧

fluentd で already use same buffer_path

退会済みユーザー

退会済みユーザー

総合スコア0

Fluentd

Fluentdは、オープンソースのログ収集ツールです。ログの収集方法、ログの記録先などのログデータ処理を柔軟にカスタマイズでき、インプットおよびアウトプットが全てプラグインとして実装されています。

0グッド

0クリップ

投稿2019/06/27 11:29

編集2022/01/12 10:55

APIサーバー移行したんですが

failed to configure sub output s3: Other '' plugin already use same buffer_path: type = , buffer_path = /var/log/td-agent/api.v1.api

のようなエラーが出るようになりました

td-agent は非同期でフレームワークから別のデータベースにデータを送信してくれるもの
程度の認識しかなくどういう仕組で動いてるのかもよくわかっていないレベルなのですが
td−あげんt関連で変更箇所は td-agent/ の中で使わなさそうな conf やプラグインを消したぐらいです

buffer_path がかかれているファイルは2つだけで
api.v1 にあたる conf はこれだけで

<match api.v1.**> type forest id v1_api_match subtype s3 <template> aws_key_id "......" aws_sec_key "....." s3_bucket "....." s3_region ap-northeast-1 check_apikey_on_start false buffer_path /var/log/td-agent/${tag} path server_logs/%Y/%m/%d/${hostname}/${tag}/ s3_object_key_format %{path}%{time_slice}_%{index}.%{file_extension} time_slice_format %Y-%m-%d-%H flush_interval 10m retry_wait 10s retry_limit 3 buffer_chunk_limit 16m utc </template>

v1 のところが v2 になった conf もあります(もともとありました)

これを fuel PHP の API サーバーがよんでるようなのですが

該当箇所は(おそらく)こんな感じです

log.php

//use Fluent\Logger\FluentLogger; class Log extends \Fuel\Core\Log { public static function _init() { parent::_init(); $logSetting = \Config::load("logging","logging"); $logHost = \Config::get("logging.v1api.host"); $logPort = \Config::get("logging.v1api.port"); $logTag = \Config::get("logging.v1api.name"); static::$monolog->pushHandler(new FluentHandler(null, $logHost, $logPort, $logTag)); } }

config/log.php

return array( 'v1api' => array( 'name' => 'api.v1.api', 'host' => 'localhost', 'port' => '24224', ), );

上記いずれも内容は全く変更していません
fuel, fluentd のバージョンも同じで
今まで動いていたのがサーバーを移行したらなぜエラーが出るようになったのか全くわからず

already use same buffer_path
で検索すると結構記事がひっかかるんですが内容や対処法が理解できません

原因や原因の調べ方を教えていただけないでしょうか
よろしくお願いいたします

追記:

/var/log/td-agent 内に api.v1.api とディレクトリがあり
中に buffer.xxxxxxxxxxxxxxxxxxxxx.log のようなファイルが1つだけあってタイムスタンプは1年以上前で
移行前のサーバーでも使われていなかったみたいです

それとは別にフォルダと同じ階層 /var/log/td-agent 直下に api.v1.api.2019-06-20-09.xxxxxxxxxxxxx.log というファイルがありタイムスタンプは最近(移行後)作られたもののようです
いずれもオーナーは td-agent -rw-r--r--
td-agent の実行ユーザも td-agent

api.v1.api
api.v1.api.2019-06-20-09.xxxxxxxxxxxxx.log

を .bak をつけた別名にリネームして api.v1.api ディレクトリがない状態で
sudo service td-agent restart
でOK表示がでましたがエラーログにはかわらず同じエラーが出続けています…

エラーメッセージ内の

s3: Other '' plugin
type =

がいずれも空文字列になってるみたいなのですがこれはそういうものなのでしょうか
何かの設定ミスで本来空になってはいけないところなのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

over

2019/06/28 01:53

該当のバッファファイルの所有者はrootですか?
退会済みユーザー

退会済みユーザー

2019/06/28 03:13

いえ td-agent というユーザです ps をみたところ fluentd も td-agent というユーザで動いています そういえば https://ogugu.hateblo.jp/entry/2018/07/13/162452 この記事で起動ユーザを変更すれば治るみたいなことがかかれてあったのですが、因果関係が理解できないので試していないのです
over

2019/06/28 03:18

該当ファイルを退避した上で再起動したらどうなりますか?
退会済みユーザー

退会済みユーザー

2019/06/28 03:46

変わらないです…
over

2019/07/01 06:13

であるとお力になれそうにないです。すいません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問