fluentd
2015年にはFluentd v0.12系が主流となってきましたが、まだ古いv0.10系を利用している環境も残っていると思います。 プラグイン開発する上では、Fluentdの後方互換性が保てているかのテストもTravis-CIで行いたいですよね。 その時にどのように行うのか、メ…
最近はTravisCIでの不可解なエラーのためgem update bundlerを追記する対応が必要になり話題となりましたね。 なんと今度は、今まで動いていたapt-get installが、次のメッセージで失敗するようになりました。 E: Unable to locate package libgeoip-dev さ…
Fluentdでログを集める時にそのサーバのホスト名(hostname)をレコードに追加したい。 そういう時に便利な設定サンプルを紹介します。 ユースケース tailプラグインで収集したApacheのエラーログに、ホスト情報を付与する その他、ございましたら教えてくだ…
SoundCloudが内製しているモニタリングシステム「Prometheus」がいま気になっております。 時系列データベースを用いた柔軟なクエリ言語を用い、ダッシュボードによる可視化やアラート機能もあるそうです。 Prometheus: Go言語で書かれたモニタリングシステ…
Twitterで言及されている様々な記事のURLを収集したいと考えた時、次の方法が選択肢となります。 定期的にAPIを叩く ストリーミングAPIを使う 前者の方法では単位時間毎のAPIコール制限を容易に超えてしまうので避けたいところですね。 そこでストリーミング…
Fluentd Advent Calendarの4日目は、Fluentdプラグインを数多くメンテナンスする@yoshi_kenがお届けします。 Fluentdはその拡張性の高さから、数多くのプラグインがリリースされております。 これをご覧になる方の中には、プラグインを自作された方もいらっ…
Fluentdなどから収集したメッセージをelasticsearchへ格納してKibanaで可視化するソリューションは素晴らしく、とても人気があります。 しかしそれだけのためにApacheやNginxなどのWEBサーバを新たに起ち上げるのは手間ですよね。 実は新たに起ち上げない方…
2014年9月9日開催の『サーバ/インフラエンジニア養成読本 ログ収集〜可視化編』 出版記念!執筆者が語る大講演会!にて発表してきました。 今回は「Fluentdのお勧めシステム構成パターン」というタイトルで、ユースケース毎にどのようなシステム構成をすると…
Fluentd、Kibana、Elasticsearchを大特集した本書は好評を集め、Amazonを始めとする大手書店でもベストセラー入りしております! そんなログ収集から可視化を実現するためのノウハウが凝縮された本書は、フロントエンジニアの方にも大変おすすめです。 さら…
2014年8月8日、ログ収集や可視化を始めたいエンジニア必携の書籍が技術評論社より刊行されます。 本邦初公開となる、全編書き下ろしの特集で構成された本書を読むことで、ログ解析の有用性からログ収集、保存、可視化手法を習得できます。 私はこの第2特集「…
photo by saschaaa LinuxにおいてTIME_WAITなコネクションを減らす手法としてnet.ipv4.tcp_tw_recycle=1にするテクニックは有名です。 しかし環境によってはSoftBankに限らず問題が起きるため、利用には注意が必要です。 一体どのような問題が起きるのか、詳…
GeoIPを用いてIPアドレスを元に位置情報をレコードに付与するFluentdプラグイン、fluent-plugin-geoip v0.1.1をリリースしました。 今回の目玉は、GeoIP判定対象の複数キー対応化と、プレースホルダ記法への対応するための設定ファイル仕様の変更です。 http…
FluentdのtailプラグインでElasticsearchのログを収集する方法を紹介します。
ログ収集ツールFluentdに、Apacheのmod_rewriteのようにtagを自在に書き換える機能を追加する、fluent-plugin-rewrite-tag-filterのv1.4.1をリリースしました。 https://github.com/y-ken/fluent-plugin-rewrite-tag-filter http://rubygems.org/gems/fluent…
fluent-mixin-rewrite-tag-nameというFluentd向けMixinプラグインを公開しました。 このMixinプラグインは、<source>や<match **>の中で使えるtagオプションを追加します。 タグ書き換え周りのプラグイン実装の省力化ができますね! https://github.com/y-ken/fluent-mixin-rew</match></source>…
任意のSQLクエリで取得した結果の差分から、insert/update/deleteイベントを検知するプラグインをリリースしました。イベント検知だけでなく、レコードの内容と共にElasticsearch/Solrへ同期を行う、Outputプラグインも同封しています。 これはあえてバイナ…
photo by minnepixel 突然ですが皆さん、アプリログをFluentdで収集する際に個人情報となるデータの扱い、どうしていますか? こういったログデータは個人情報保護や内部統制の観点から、データマスキングをしてから分析した方が好ましいです。 しかしながら…
fluent-plugin-elasticsearchやKibanaのデフォルトであるlogstash形式では、年月日毎にインデックスを作成されて使われることを想定されています。 これは扱いやすいのですが万能では無く、次のような状況ではパフォーマンス的な観点で、このインデックスの…
Fluentdでログのちょっとした加工をする際に、タグの付け替えが必要です。 新しいタグを指定するか、先頭文字列の付け替えを行う手法が良く使われます。 しかしそれだけではかゆいところに手が届かず、もどかしい思いをされたことでしょう。 そんな時、タグ…
ログデータを活用してビジネスに役立てようという最近のトレンドは理解できる。 しかし、なぜログ収集ソフトウェアのFluentdがこれほどまで話題になるのか、不思議に感じている方もいるのではないだろうか。単にログデータを収集するならばsyslog-ngやrsyslo…
この秋には3つの勉強会でお話させて頂けることになりました。 いずれも、データベース周りのお話を行う予定です。 photo by mari ce
fluent-plugin-geoip v0.0.4 をリリースしました。ElasticSearch+Kibanaの世界地図に位置情報をプロットするために必要なFluentdの設定サンプルも紹介します
fluent-plugin-geoip v0.0.4をリリースしました。 今回は主にGeoLiteCityデータベース参照パスの不備の修正とREADMEの加筆を行いました。 https://github.com/y-ken/fluent-plugin-geoip http://rubygems.org/gems/fluent-plugin-geoip 修正内容の説明に続け…
mruby-fluent-logger (別名 fluent-logger-mruby) のv0.0.2をリリースしました。 今回の目玉は、シリアライズエンジンの変更です。 これまでのJSONから、suzukazeさんにより移植されたmruby-msgpackへ切り替えることで、パフォーマンスが向上しています。 ht…
IPアドレスを元に位置情報を返すデータベース、GeoIPがあります。 こちらの料金体系や精度について調査したので、まとめました。
初の安定版となるfluent-plugin-geoip v0.0.3をリリースしました。 今回は主に安定性の向上と、READMEの加筆を行いました。 https://github.com/y-ken/fluent-plugin-geoip http://rubygems.org/gems/fluent-plugin-geoip 例えばこれをWebサーバのアクセスロ…
Fluentdコア&プラグイン開発ハッカソン #1 &生ハム原木会へ行ってきました。 ふっふはっほさんのオフィス白金台にあるなんて素敵です。 私はこれらをテーマに、もくもくと開発をしました。 fluent-plugin-geoipの作成とリリース 既存プラグインのFluentd v…
FluentdのレコードにあるIPアドレスを元に位置情報を付与するプラグインをリリースしました! これを使えば、Maxmind社の提供するGeoIPというデータベースを利用してリアルタイムに位置情報を付与できます。 パフォーマンスを重視するため、BufferedOutputを…
Apache/Nginxのアクセスログやローカルファイルから、Fluentdのin_tail機能を使ってログを収集しているケースはあると思います。この時、元々は123といった数値や123.45といったfloat型だったものが、全てString型になっていること、ご存じでしょうか。 それ…
ログ収集ツールFluentdに、Apacheのmod_rewriteのようにtagを自在に書き換える機能を追加する、fluent-plugin-rewrite-tag-filterのv1.3.1をリリースしました。 https://github.com/y-ken/fluent-plugin-rewrite-tag-filter http://rubygems.org/gems/fluent…
イベントログ収集ツールFluentdに、mrubyからも構造化ログデータを送りたい。 その情熱に勢いを任せて、"mruby-fluent-logger" を作りましたので公開します。 これを使えば、C/C++アプリに組み込んだmruby等からFluentdを容易に扱えますね。 そんな"mruby-fl…