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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Fluentd

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

Q&A

1回答

1727閲覧

fluentd failed to flush the bufferが発生してkinesis streamに送れない現象

tyler

総合スコア20

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Fluentd

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

0グッド

0クリップ

投稿2017/11/29 06:35

編集2022/01/12 10:55

fluentd failed to flush the bufferが発生してkinesis streamに送れない現象

ググっても全く出てこないのでこちらに書かせていただきました。ご教授頂ければ幸いです。

まずエラー内容としては下記になります。

td-agent.log

2017-11-29 15:22:29 +0900 [warn]: #0 suppressed same stacktrace
2017-11-29 15:22:30 +0900 [warn]: #0 failed to flush the buffer. retry_time=1 next_retry_seconds=2017-11-29 15:22:30 +0900 chunk="55f1927f7e0f0312ee00f8f91d712fe0" error_class=NoMethodError error="undefined method 'version' for nil:NilClass"
2017-11-29 15:22:30 +0900 [warn]: #0 suppressed same stacktrace
2017-11-29 15:22:32 +0900 [warn]: #0 failed to flush the buffer. retry_time=2 next_retry_seconds=2017-11-29 15:22:32 +0900 chunk="55f1927f7e0f0312ee00f8f91d712fe0" error_class=NoMethodError error="undefined method 'version' for nil:NilClass"
2017-11-29 15:22:32 +0900 [warn]: #0 suppressed same stacktrace
2017-11-29 15:22:36 +0900 [warn]: #0 failed to flush the buffer. retry_time=3 next_retry_seconds=2017-11-29 15:22:36 +0900 chunk="55f1927f7e0f0312ee00f8f91d712fe0" error_class=NoMethodError error="undefined method 'version' for nil:NilClass"

fluentdのバージョンは
fluentd-0.14.22 ruby="2.1.10"

また、td-agent.confは下記になります。

<source> type tail format none path /var/www/vhosts/logs/test.log pos_file /var/log/td-agent/test.log.pos tag kinesis.test.access </source> <match kinesis.test.access> @type kinesis_streams aws_key_id "#{ENV['AWS_KEY_ID']}" aws_sec_key "#{ENV['AWS_SECRET_KEY']}" region ap-northeast-1 stream_name stream-name flush_interval 15s try_flush_interval 1 </match>

fluentd自体は正常に起動しているみたいなのですが、なぜかfailedしてしまいます。
この「error="undefined method 'version'」 にありますversionが一体なんなのか、何かライブラリーが足らないのかが不明なんです。

ご教授頂けますと幸いです。

追記です
[root@www td-agent]# td-agent --dry-run -c /etc/td-agent/td-agent.conf
2017-12-07 17:41:51 +0900 [info]: parsing config file is succeeded path="/etc/td-agent/td-agent.conf"
2017-12-07 17:41:51 +0900 [info]: starting fluentd-0.14.22 as dry run mode ruby="2.1.10"
2017-12-07 17:41:52 +0900 [warn]: 'type' is deprecated parameter name. use '@type' instead.

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

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

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

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

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

over

2017/12/07 07:35

これって、今までは正常運用できていたのに、ある日突然発生した感じですか?それとも初回からですか?
tyler

2017/12/07 07:38

ご質問有難うございます。これは初回からです。fluentdを導入したら上記の様なエラーがtd-agent.logに吐き出されていました。恐らくどこかのバージョンが合ってない様なんですが、どれが合っていないのか良く分からず困っている次第です。。
over

2017/12/07 08:12

初回からとのことで了解です。fluentd の知識に明るいかたですか?それによって疑う(原因)地点が変わってきます。例えば正しいプラグイン導入しているんだよね?とか?。あとfluentdは採用するバージョンによって、導入できるプラグインが変わってきます。fluentdのバージョンは記載しましょう。
tyler

2017/12/07 08:18

上記にfluentd-0.14.22 ruby="2.1.10"と記載してあるのですが、こちらはバージョンではないのでしょうか?すみません!ってきりバージョンだと思っていました。fluentd自体は勉強したてなので明るくはないです。すみません。どこでバージョン確認出来るか調べてみます。
over

2017/12/07 08:27

> 上記にfluentd-0.14.22 ruby="2.1.10"と記載してあるのですが ← すいません。見落としていました。「fluent-plugin-kinesis」はインストールされていますか?
over

2017/12/07 08:40

承知しました。以下のコマンドの結果をお知らせください。> td-agent --dry-run -c "td-agent.confのパス"
tyler

2017/12/07 08:43

有難うございます!こちら結果になります。すみません、改行が出来ないので見辛いです [root@www td-agent]# td-agent --dry-run -c /etc/td-agent/td-agent.conf 2017-12-07 17:41:51 +0900 [info]: parsing config file is succeeded path="/etc/td-agent/td-agent.conf" 2017-12-07 17:41:51 +0900 [info]: starting fluentd-0.14.22 as dry run mode ruby="2.1.10" 2017-12-07 17:41:52 +0900 [warn]: 'type' is deprecated parameter name. use '@type' instead.
over

2017/12/07 08:50

質問文に追記して頂けます?
tyler

2017/12/07 09:49

追記しました!
over

2017/12/07 13:10

原因はでていないようですね・・・回答ではないのでこちらに記載します。切り分け方法として、type stdout を使用すると、対象データの流れがfluentdログに出力されます。「match kinesis.test.access」の中身をtype stdoutのみにして、データがちゃんと処理されているか確かめてみては如何でしょうか?
tyler

2017/12/12 01:21

お返事遅れて申し訳御座いません!今業務に追われて中々こちらに時間が割けなくなってしまったので、時間があったら色々出力確認していこうと思います!
guest

回答1

0

追記のエラーです

2017-12-01 12:56:01 +0900 [warn]: #0 failed to flush the buffer. retry_time=0 next_retry_seconds=2017-12-01 12:56:02 +0900 chunk="55f3f57e44995db3040cd0ea19b054e6" error_class=NoMethodError error="undefined method `version' for nil:NilClass" 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis_helper/client.rb:80:in `aws_sdk_v2?' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis_helper/client.rb:86:in `client_class' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis_helper/client.rb:74:in `client' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/out_kinesis_streams.rb:47:in `block in write' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis_helper/api.rb:90:in `batch_request_with_retry' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis.rb:149:in `block in write_records_batch' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis_helper/api.rb:85:in `split_to_batches' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/kinesis.rb:147:in `write_records_batch' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluent-plugin-kinesis-2.0.1/lib/fluent/plugin/out_kinesis_streams.rb:43:in `write' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.14.22/lib/fluent/compat/output.rb:131:in `write' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.14.22/lib/fluent/plugin/output.rb:1089:in `try_flush' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.14.22/lib/fluent/plugin/output.rb:1314:in `flush_thread_run' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.14.22/lib/fluent/plugin/output.rb:439:in `block (2 levels) in start' 2017-12-01 12:56:01 +0900 [warn]: #0 /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.14.22/lib/fluent/plugin_helper/thread.rb:78:in `block in thread_create'

投稿2017/12/01 03:58

tyler

総合スコア20

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問