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 =
がいずれも空文字列になってるみたいなのですがこれはそういうものなのでしょうか
何かの設定ミスで本来空になってはいけないところなのでしょうか
あなたの回答
tips
プレビュー