fluentd

fluentdでUndefinedConversionErrorに遭遇した

エラーログはこんな感じ。 2017-08-07 12:25:55 +0900 [warn]: /path/to/ruby-2.2/lib/ruby/gems/2.2.0/gems/fluent-mixin-plaintextformatter-0.2.6/lib/fluent/mixin/plaintextformatter.rb:85:in `encode' 2017-08-07 12:25:55 +0900 [warn]: /path/to/ru…

fluentdの運用周りについて書いておく

fluentdは基本的には安定して動くソフトウェアだけど規模が大きくなってユースケースが増えてくるとトラブルに遭遇することもある。今回は運用周り、例えばトラブルシューティングとかモニタリング周りについてちょっと書いてみたい。前提として僕の環境では…

kafka-fluentd-consumerのConsumerLagが大きくなっていたので調べてみた

うちの環境ではKafka -> kafka-fluentd-consumer -> Fluentd -> Elatsticsearchという経路でログをElatsticsearchに送ってKibanaで可視化しています。ところがKibanaで直近のログが見れないという問い合わせがあり調査していたら、kafka-fluentd-consumerのC…

fluent-plugin-uri_decoderをpatchしてCPU使用率を下げた話

td-agentのprofiling - wyukawa’s blog に書いたようにfluent-plugin-uri_decoderが重いということまではわかりました。じゃあどうすっかという話なのですが、内部で議論がありRuby 2.4 + CGI.unescape + fluentd filterでいけばいいんじゃね?ということに…

td-agentのprofiling

末端ノードでnginxのlogをtailしてparseしてごにょごにょしているtd-agent 2.3.1のCPU使用率が50%ぐらいになっていたので、下記を使ってprofilingしてみた。https://github.com/sonots/fluent-stackprofなおtd-agentのモニタリングには https://github.com/m…

es_rejected_execution_exceptionが出たのでthread_pool.bulk.queue_sizeを増やした

題記の通りです。fluent-plugin-elasticsearch 1.9.3からElasticsearch 5.3に書き込んでから下記のようなエラーがたまに出てるのに気付きました。 Could not push log to Elasticsearch: {...{"index"=>{"_index"=>"hoge-2017.03.31", "_type"=>"fluentd", "…

fluent-plugin-elasticsearchでCannot get new connection from poolが出た

題名の通りで動作環境は以下の通りです。 Elasticsearch側はcerebroで見る限りgreenで正常に見えました。 fluentd 0.12.27 fluent-plugin-elasticsearch 1.9.0 Elasticsearch 5.0.1 fluentdの設定はこんな感じ <match ...> type forest subtype elasticsearch <template> hosts ..</template></match>…

kafka-fluentd-consumerとfluencyとfluent-plugin-elasticsearchのメモリに関する話

うちの環境ではkafkaに入ってるログをkafka-fluentd-consumer 0.3.0でconsumeしたのちにfluent-plugin-elasticsearch 1.9.0経由でElasticsearchになげるということをしています。fluent-plugin-elasticsearchは8プロセス動いていて各プロセスがメモリを5〜8G…

fluentdからElasticsearchに書き込んだ際の運用メモ

fluentdからfluent-plugin-elasticsearchを使ってElasticsearchに書き込む部分でたびたびfluentdが詰まって苦労してたけど最近は落ち着いてきたのでその辺を備忘録としてメモっています。最初はfluentdからElasticsearchに1プロセスで直接書き込んでいたけど…

fluentdのCPU使用率をPrometheus, Grafanaでモニタリングしたい

fluentdはRubyで実装されていることもあり複数CPUを使えないので、トラフィックが増えてきた場合などはポートを分けて複数プロセスで起動することが一般的です。なのでマシンごとのCPU使用率を見てもfluentdの状況がどうなのか判断することは難しいです。ち…

アクセスログをfluent-plugin-prometheusで集計してGrafanaで表示する

アクセスログをfluent-plugin-prometheusで集計してgrafanaで表示するというのを試したのでメモがてら書いておきます。現状fluent-agent-liteでアクセスログを収集してサンプリングや集計をして最終的にGrowthforecastで表示する仕組みが社内にあります。イ…

fluent-plugin-jstatを作った

jstatの結果を入力とするfluent-plugin-jstatを作りました。GitHub - wyukawa/fluent-plugin-jstat fluent-plugin-jstat | RubyGems.org | your community gem hostJavaアプリケーションのモニタリングというとJMXが思い浮かぶと思いますが、 JMXはアプリ起…

Fluentd+WebHDFSでappend書き込みしてて遭遇したエラー

fluent-plugin-webhdfs経由でHadoop 1.2.1のHDFSにデータをappendで書き込むということをやっているのだが、最近エラーが出るようになって困っている。再現性は無し。fluentdのログは下記のような感じ。要はある瞬間からHDFSに書き込めなくなってそのままバ…

fluentdのin_monitor_agent

fluentdにはin_monitor_agentというプラグインが標準で入っていてこれを使うとバッファの状態、具体的な項目としてはretry_count, buffer_total_queued_size, buffer_queue_lengthをモニタリングすることができます。参考にしたもの: How does it feel?: td…

buffer_chunk_limit x buffer_queue_limit x fluentdの起動プロセス数

唯一、buffer_chunk_limit と buffer_queue_limit をかけた総メモリ使用量がマシン全体で使えるメモリ量よりも小さくなるようにすること、という点のみ気をつけよう。 Fluentd out_forward における最適化パラメータいくつかの話 - たごもりすメモ これを気…

fluentdでメッセージ送信失敗した場合のハンドリングをどうするか

fluentdは普段元気に動いていて特に問題は無いのですが、私の環境ではごくまれに数ヶ月に1回くらい使用メモリが徐々に増大してqueue size exceeds limitというバッファ溢れを起こすときがあります。この場合メッセージ送信が失敗しますしfluentdのログが爆発…

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎

なるほどUnixプロセス ― Rubyで学ぶUnixの基礎【電子書籍】Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳)達人出版会発行日: 2013-04-25対応フォーマット: EPUB, PDF, ZIP詳細を見るまだβ版ですが、面白そうだったので買ってみました。初代iPadのiBooks…

fluentdの複数実行

最近fluentdを触り始めたwyukawaです。こんにちは。今回は最近やったことについて書いてみたいと思います。まあ正確にいうと僕がやったというよりほとんど別の人がやったわけですが忘れないうちにメモっておきます。もともとやっていたことはfluent-plugin-w…

Mac 10.8にrbenv+ruby-buildでRuby 1.9系にしてfluentdをインストールして試してみる

最近fluentdに触れる機会ができましたので備忘録としてブログに書いてみたいと思います。fluentdタグでブログを書くのは↓以来1年振り2回目になります。 fluentdを試してみた - wyukawa’s blogまずは環境構築です。fluentdはRuby 1.9系が前提なのですがMacに…

fluentdを試してみた

クレジットカード現金化詐欺【業界人が教える口コミ情報】僕は行ってないんですがTwitter、Ustream、スライド、ブログなどを見る限りだいぶ盛り上がったようですねー。僕自身が仕事で使う予定は今のところ無いんですがログ解析関連の仕事をしていることもあ…