Search logs using Fluentd and Kibana Apr 17th, 2013 | Comments Fluentd is a flexible and robust event log collector, but Fluentd doesn’t provide own datastore and Web UI. So if you want to search stored events, then you can use Kibana and ElasticSearch :) ElasticSearch is a easy to use Search Engine and Kibana is a great Web UI for ElasticSearch with LogStash format. Setup Pre requirements Java fo
はじめまして。MOGOK 開発メンバの崎山と申します。 このブログでは、MOGOK システム内部で利用してる技術を中心に書いていく予定です。 初回となる今回は、MOGOK のログシステムについてのご紹介になります。 MOGOK で提供しているログの詳細については、 杉本の記事「MOGOKのログについて」 に記述されておりますので、ぜひこちらもご覧ください。 ログの収集 MOGOK では現在、アクセスログ、アプリケーションログ、ビルドログの3種類のログを提供しております。 それぞれのログは別々のサーバに出力されていますが、ログがそれぞれのサーバに分散して蓄積されているとログの管理が複雑になるためログシステムでログを集約し、一元管理しています。 この図は mogok.jp のサイトで紹介しております「MOGOK のアーキテクチャ」の図に、 ログシステムを追記したものです。 図のように、
dstatの結果をfluentd経由でGrowthForecastに投げる方法は、ぐぐると何件かブログ記事がでてきます。 ただ、どれもdstatを改造したり、プラグインを改造したりしてて、あまり使い勝手がよくありません。 というわけで、gemでいれれるプラグインだけを使って、可視化できる設定を探してみました。 準備 必要なgemをインストールする。 <source> type dstat tag dstat option -cm delay 3 </source> # GrowthForecast用にメッセージを加工する <match dstat> type copy # CPU関連の結果だけを取り出す <store> type map tag "perf.cpu" time time record record['dstat']['total cpu usage'] </store> #
Fluentdを触るようになって、いろんなログをfluentdに 渡すように試行錯誤している最中。 td-agent.conf、fluent.confを用意するときに任意のjson形式にするために 正規表現を用いてformatを書く必要があるんですが、formatの作り方というかデバック方法について どういう手順に作ると良いのか情報がネット上に見当たらず試行錯誤中。 もっと良い方法を教えてもらいたいので、今やっている方法を晒してみる。 そもそもの疑問、どうやってformatを作るのか たとえばfluentd関連の情報を調べてると、 #fluentd で maillog を読み込んで MongoDB に投入 - 酒日記 はてな支店 format /^(?<date>[^ ]+) (?<host>[^ ]+) (?<process>[^:]+): (?<message>((?<key>[^ :
MacにGrowthForecastを導入しようとしたところ、Alien::RRDToolをインストールしようとしたところではまりました。 SoftwareDesign 6月号にある通りに、まずプラグインを一通りインストールしたあとで、Alien::RRDToolをインストールするために以下のコマンドを実行。 $ cpanm Alien::RRDTool すると、こんなお叱りが、 ! Finding Alien::RRDTool on cpanmetadb failed. ! Finding Alien::RRDTool on search.cpan.org failed. ! Finding Alien::RRDTool () on mirror http://www.cpan.org failed. ! Couldn't find module or a distribution Al
せっかくなのでアクセスログ関連のところだけ抜き出してみます。 構成 概要 Fluentdを使ってWEBサーバ(APPサーバ)のアクセスログを集約サーバに集約、いくつかの処理をやってます。 要するにこの3つです。 まとめてファイルに保存する(とりあえずやってみてるだけ) TreasureDataプラットフォームにデータを送信して集計可能にする Zabbixでサービスの稼働状況を可視化する TreasureDataプラットフォームに関しては前の記事で書いたように、簡単な管理画面を作って集計テストをしています。自社フレームワーク用のライブラリも作成するつもりです。 Zabbixを使った可視化はこんな感じです。 プラグインの構成図 td-agentはサーバごとに1プロセス、できる限りシンプルでFluentdっぽい使い方を心がけてます。 負荷 2億/dayくらいのログを突っ込んでみたところ、集約サー
YARNについて書きたい気持ちを抑えて前回の続きです。 まだfluentdをがっつり導入しているわけじゃなく、独自プラグインや構成については改良の余地があるかもなので、まぁ参考程度に見ておいてください。 データフロー APサーバのログ書き込みから、HDFSに書き込むまでの処理内容です。パスとかは適当に書き換えてます。なぜこんなフローなのかは後述。めんどいのでテキストで。 (WEB/AP) ◆ログを固定パスに追記 (ex: date >> /tmp/service_plathome_logtype.log のような) ├─□cronによる強制logrotate (10分~1時間程度おき) │ (Fluentd Agent) ◇IN 改造tailプラグインでログ取得 (pathに*の使用可、basenameをtagにできる) │ ◆OUT copy ├─◆flowcounter (unit h
結構既出な内容ですが、思いっきりハマったので改めて。 ●fluentd→fluentdの通信時にfowardを使おうとしたらエラーになる。 ※追記 VMwareの場合はこっちを参考に。fluentdじゃなくてVMwareの問題というパターンもあり。 http://d.hatena.ne.jp/oranie/20121107/1352298768 中間fluentdから最終的に集約するfluentdにfowardでログを送ろうとすると、始めはちゃんと送れるのに、ちょっとするとログにエラーが出ていた。もちろん集約先の方ではログ受信出来なくなっている。 failed to flush the buffer, retrying. error="no nodes are available" もっと具体的にはこんなの。 で、理由は @oranie 死活監視にUDPのほう使うらしいのでそっちも通さない
Fluentd Casual Talksをききにいってきました。以下メモ。 fluentdはじめました by @oranie httpdのレスポンスタイム取りたいね in_tailでとってるのかな apacheログのフォーマットって統一化してるのかな in_tail動かしてるfluentdがappサーバと同居してるのって、デプロイってどうしてるのかなー configを動的生成してる → ちょっと具体的にわかんなかったのであとでブログみよう in_forwardが10,000 message/secでCPU的に限界にきてる(スペックわすれた → 死霊みる) fluentdでウェブサイト運用を楽にする by @fujiwara access log 10GB/day in_tailではなくfluent-agent-liteで fluentd置くより負荷低いらしい file_alternativ
Fluentd is an open source data collector for unified logging layer. Fluentd allows you to unify data collection and consumption for a better use and understanding of data.
なんとなく思い付いたら各所の協力を得られましたので、そのまま開催してしまいました。 勉強会を主催するのは初めて*1だったのですが、会場をお貸しいただいた株式会社ディー・エヌ・エー様、ならびに当日運営をまるっとお手伝いいただいた @riywo さんをはじめDeNA社員の皆様のおかげで全く問題なく、すばらしいイベントになりました。本当にありがとうございました。 またUstream中継については @ixixi さんにご協力をいただきました。たいへんな作業だと思いますが、本当にありがとうございました。 Fluentd Casual Talks : ATND 金曜夜に100人を超える参加者が見事に集まりまして*2、Fluentdを実際に使ってみた系の人々が大いにしゃべってました。個人的にはあれやこれやと面白い話がたくさん聞けたので、それだけでもう満足。SDのFluentd特集との内容のカブりについて
ここしばらく Fluent をちょいちょいいじっていて、一番ライトに利用するであろう tail input plugin (plugin/in_tail.rb) はこれまで fluentd が down した等々の際、それまで読みこんでいたファイルの位置はきれいさっぱりお忘れになって、次回読み込みはファイルの終端から再開しちゃうよって仕組みだったのですが、Git の master 的には読みこんだ位置を保存してくれる機能が追加されてましたよ!! いやっほーーーい!! https://github.com/fluent/fluentd/commit/b39a9d44c8692949709904238d17c514d4a4bc5e まだ公式のドキュメントには反映されてないものなので、どうなるかはソースを追いつつってところですが fluent.conf に <source> type tail
Fluentd Casual Talksに参加し、fluentdの使いどころが理解できて、 意識が高いうちに早速fluentdの導入をしSubsonic+nginxのアクセスログをMongoDBに入れてみたのでメモ。 導入環境はwebサーバCentOS 6、ログ収集サーバがCentOS 5で、fluentdのバージョンは td-agent-1.1.5.1-0.x86_64になります。いずれもさくらVPSで稼働させています。 nginxの導入は以前書いた下記のエントリを参考にして下さい。 さくらVPS 2G+Subsonic+Nginxで自分用ストリーミングサーバを構築 - Glide Note - グライドノート 今回行った作業の流れ fluentdを初めて触るので、今回は下記のように順を追って検証と導入を行いました。 fluentdの導入 サーバ1台でwebサーバとログ収集サーバを動かし
タイトルまんまですね。 fluentdを導入する目的で、一番欲しかった物がリリースされて本当に id:tagomorisさん++ です。 プラグインの詳細はこちら。 fluent-plugin-sampling-filter and fluent-plugin-datacounter released! #fluentd で、実際に試してみた結果がこちら。(ほとんどの設定はサンプルまんまですよ。) apacheのログフォーマットはこれ。 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D" combined apacheログを読む為のfluentd configはこれ。 受け取ったログでfluent-plugin-datacounterでゴニョゴニョした結果をログに吐く fluentd con
fluentdでforwardすると、「detached forwarding server」が出力されて結構ハマったのでメモ。 先に環境を。 OS RedHatEnterpriseLinux 6.2 (ESX5.0上で動作) ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] fluentd (0.10.19, 0.10.13) 送信元(fluent_send)からfowardでログ管理サーバー(fluent_recv)にsendmailのログを送りたくて、ざっくり以下を設定。(forward部分のみ抜粋) 送信側(fluent_send) <source> 正規表現等々 </source> <match sendmail.*> type forward host fluent_recv port 24224 buffer_
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く