タグ

logに関するftnkのブックマーク (65)

  • 【進撃の巨大データ】Log集計用DBとシステム構成の美しい設計を考える - Y's note

    [:W560] Log集計用DB設計 考える問題 Document無しのAgile開発をガチで推奨したい@yutakikuchi_です。【進撃の巨大データ】の第2回目として巨大アクセスLog集計用DBの設計について勉強した内容についてメモしたいと思います。DB周りはそこまで詳しく無いので詳しい皆様からの突っ込み大歓迎でございます。また図々しいですが知恵をください(笑)。 今日の主目的は下の2要件を叶えるためのDB設計を考える事です。特に問題になるのがRealTimeの話でTableにLogDataを書き込む処理と集計のSQLをどのように組み立てるか、それ以外にもSystemPerformanceとArchitectureにも関わってきます。 リアルタイムで大量データを集計したい 定期処理で大量データを集計したい 使うもの Fluentd : Fluentd: Open Source Log

    【進撃の巨大データ】Log集計用DBとシステム構成の美しい設計を考える - Y's note
    ftnk
    ftnk 2013/07/09
  • ログをLTSVやJSONで保存した場合のサイズ比較 - stanaka's blog

    追記(2/17) 変換スクリプトを見せてほしい、という要望があったので、 https://gist.github.com/stanaka/4967403 に上げておきました。ltsvを読み込んでオプションで指定したフォーマット(デフォルト JSON)に変更します。 追記ここまで LTSVの盛り上りも収束してきていますが、サイズに関する懸念があがっていたので、確認してみました。 手近にあったアクセスログ 186万件ほどを対象に、 ssv .. Combined Log Formatの拡張で、ラベルなし (レスポンス時間とか10個ぐらいのフィールドを拡張しています) json .. ラベルあり ltsv .. ラベルあり の3パターンで試してみました。 まずは行数を確認しておきます。 % wc -l access_log.json 1861706 access_log.json未圧縮だと、 a

    ログをLTSVやJSONで保存した場合のサイズ比較 - stanaka's blog
    ftnk
    ftnk 2013/02/17
  • LTSVフォーマットなログを fluentd + GrowthForecast で料理 - naoyaのはてなダイアリー

    ここ数年のデータ解析の重要性の高まりから、ログに関するソリューションが方々で活発に探求されている昨今でございます。ウェブサーバーの単純なアクセスログをそのまま保存するではなく追加情報を添加してみたり、あるいはアプリケーションから直接ログを吐いてそれらをデータウェアに投げ込んで・・・というのも当然のように行うようになりましたね。 しかしあまり自由度のない access_log の combined フォーマット。さてどうしたもんか・・・ ここで id:stanaka の登場です。 Labeled Tab Separated Valueというのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからflue

    LTSVフォーマットなログを fluentd + GrowthForecast で料理 - naoyaのはてなダイアリー
    ftnk
    ftnk 2013/02/11
  • LTSV が行指向な Key-Value フォーマットで捗る話 - naoyaのはてなダイアリー

    引き続き LTSV について。Text::LTSV はやってることは単にタブの split でしょうもないのだけど、せっかく作ったんだし何か利用方法はないかなと考えた。 LTSV のログは欠点があってそのままでは見づらいこと。 Text::LTSV でハッシュになるのだから、YAML とかで出力したらどうなるか試してみよう。さらに、YAML に色づけする YAML::Tiny::Color というのがあったぞ。 #!/usr/bin/env perl use strict; use warnings; use Project::Libs; use YAML::Tiny::Color qw/Dump/; use Text::LTSV; while (<>) { my $hash = Text::LTSV->parse_line($_); print Dump $hash; } こんなスクリプ

    LTSV が行指向な Key-Value フォーマットで捗る話 - naoyaのはてなダイアリー
    ftnk
    ftnk 2013/02/11
  • LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー

    LTSV って何? Labeled Tab-Separated Values という、テキストのフォーマットの仕様です。CSV や TSV や JSON そのほかと同じ、テキストデータのフォーマット名。主にログ、特に httpd のアクセスログなどに適用すると便利です。 仕様は http://ltsv.org にまとまっています。随時更新中です。 LTSV は単なるログのフォーマットであって、それ以上でもそれ以下でもありません。 LTSV ってタブ区切りで値に名前を付けただけのもの? はい、そうです。 これが 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (

    LTSV FAQ - LTSV って何? どういうところが良いの? - naoyaのはてなダイアリー
    ftnk
    ftnk 2013/02/10
  • LTSV のもうひとつのメリット、あるいは、プログラムでログを出力する際に気をつけるべきこと - kazuhoのメモ置き場

    Labeled Tab-separated Values (LTSV) がブームのようです。 LTSV については、ラベルをつけることで柔軟に拡張できるという点が、その特徴として取り上げられますが、もう一点、タブをセパレータに使うことでログのパースが簡単になった、という点を忘れるべきではないでしょう。 特に httpd のログは NCSA httpd という HTTP/0.9 時代のWebサーバのログフォーマットがベースに拡張されてきたため、以下のようにセパレータとして空白、[]、ダブルクォート ("")*1が混在するという、とても処理しづらいものになっていました。どれほど複雑かは「404 Blog Not Found:perl - Apache Combined Log を LTSV に」の実装を見れば明らかでしょう。 127.0.0.1 - - [08/Feb/2012:23:52:4

    LTSV のもうひとつのメリット、あるいは、プログラムでログを出力する際に気をつけるべきこと - kazuhoのメモ置き場
    ftnk
    ftnk 2013/02/08
  • Labeled Tab-separated Values (LTSV)

    Description Labeled Tab-separated Values (LTSV) format is a variant of Tab-separated Values (TSV). Each record in a LTSV file is represented as a single line. Each field is separated by TAB and has a label and a value. The label and the value have been separated by ':'. With the LTSV format, you can parse each line by spliting with TAB (like original TSV format) easily, and extend any fields with

    Labeled Tab-separated Values (LTSV)
    ftnk
    ftnk 2013/02/08
  • 【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリー

    id:stanaka がはてなで使って居るログフォーマットが LTSV だよーとブログに書く Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog Web界隈のエンジニアたち、特にログとか、#fluentd 関係者がざわつく 「ざわ・・・ざわ・・・」 @t_wada 「Unix 哲学の大事な点が形になっていると思う。素晴らしい。」 @hotchpotch 「cool」 六木、渋谷、白金台方面から京都へ熱い視線が送られる id:naoya がただ vagrant + chef を使いたいがために LTSV に乗っかる GrowthForecast を使っていたため GF の中の人が反応する @kazeburo 「[growthforecast]」 id:naoya が勢いで Text::LTSV を作る あまり反応がないのでしょ

    【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリー
    ftnk
    ftnk 2013/02/08
  • Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog

    追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー

    Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog
    ftnk
    ftnk 2013/02/08
  • combinedに代わるオレ流ログフォーマット - (ひ)メモ

    こんにちは、combinedログ撲滅委員会のひろせです。 ApacheのcombinedやNginxのデフォルトのlog_formatは、機械処理(日付でのソートやパース)がしづらい上に、人の目にもあまり見やすいフォーマットとはいえないと思っています。 なので自宅のサーバーでは、 日付は ISO8601 にする sortコマンドとかで簡単にそぉーっとソートできるようになる 日付、レスポンスコード、所要時間とか固定長的なフィールドは左に寄せる URLとかUAとか可変長で長いのは右に寄せる リクエスト(%r)も右に寄せた方ががいいような気がしてきた。。。 数値だけだとわかりづらいのでなんとなくわかるようにフィールド名も添える フィールド名を長くするとわかりやすくなる反面、ログサイズが大きくなるので注意 という観点で次のようなログフォーマットにしています、 # Apache LogFormat

    combinedに代わるオレ流ログフォーマット - (ひ)メモ
    ftnk
    ftnk 2012/12/15
  • OSSで支えられるライブドアの巨大ログ集計 #nhntech

    PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイントNTT DATA OSS Professional Services

    OSSで支えられるライブドアの巨大ログ集計 #nhntech
  • fluent-agent-lite と td-agent で、小さくはじめる fluentd - Studio3104::BLOG.new

    fluentdを使ってみたいけど、「JSONでシリアライズしなくていいのに・・・生でいいのに・・・」と思ってなかなか使い出せないというケースはままあるのではないでしょうか。 こんなときに困ってしまうからですよね。 rsyncscpで毎日深夜にやってくる生ログを解析するスパゲッティスクリプトたちを使えなくなってしまう アプリケーションサーバにログをパースさせるための負荷をかけたくない それでも使ってみたい、現存の古臭い解析機構をアクティブにしたまま、徐々にfluentdによる先鋭的なログ解析を始められたらいいなと思っている方、 fluent-agent-lite と td-agent で、fluentd を小さくはじめてみたらいいと思います。 結論を先に言うと、fluent-agent-lite + fluent-plugin-file-alternative + fluent-plugi

    fluent-agent-lite と td-agent で、小さくはじめる fluentd - Studio3104::BLOG.new
  • cron の実行ログをすてさせないライフハックできたよー - tokuhirom's blog

    昨今、cron のログにかんする話がちょいちょいありますが、問題点をまとめると stdout or stderr に1バイトでも書くとメールがとぶインタープリタのだす warnings や printf デバッグの名残りなどでもメールがいちいちとんでめんどくさいめんどくさいから出力を /dev/null にほうむりがちログを /dev/null にすてると運用にさしつかえるといったところかとおもいます。 これにたいする一般的なソリューションとして、かずほさんの cronlog というのがあって、これは exit status をみて stdout/stderr の出力を /dev/null または任意のファイルにおくってメールをとばさせないというソリューションです。 cronlog は便利なのだけど、毎行設定するのだるいという問題があるので、設定が簡単なように cron に以下のようなパッ

    ftnk
    ftnk 2012/06/16
  • http://dl.dropbox.com/u/224433/fluentd_casual_1/index.html

  • [fluentd] #Fluentd Casual Talks で「fluentdでWebサイト運用を楽にする」話をしてきました - 酒日記 はてな支店

    id:tagomoris さんにお声がけいただきまして、Fluentd Casual Talks にて「fluentdでWebサイト運用を楽にする」というタイトルで発表させていただきました。 発表資料はこちら 主催者の id:tagomoris さん、会場を提供していただいた DeNA 様、いろいろ準備をしてくださった id:riywo さんはじめ多くの方々、参加してくださった100名以上の皆様、ありがとうございました!楽しかったです。 発表ではここ半年ほど Fluentd を運用して来た経験をお話ししましたが、発表内で触れなかったことで大事(?)なことがありますので以下に補遺をいくつか書いておきます。 MongoDB にログを溜めすぎない方がいいかも 太田さん (@kzk_mover) の発表内でも触れられていましたが、数千万件程度にしておいたほうがいいのでは……という実感です。 発表内

  • 最新のログファイルにリンクが作れるようになった Apache 2.4.1 の rotatelogs を試す - blog.nomadscafe.jp

    この機能欲しかったんだよねー。 CustomLogで、pipeしてrotatelogsを使ってログ分割を行う場合、 CustomLog "|/path/to/rotatelogs /path/to/log/access_log.%Y%m%d%H 7200 540" ログファイルは、 $ ls -1 access_log.2012030116 access_log.2012030118 の様に最新のファイルが変更になります。tail -f で追いかけていた場合は、途中でファイルを手動で切り替えないとならないのでとても不便です。また、fluentdのtail pluginも利用できません。 Apache 2.4.1 のrotatelogsでは、最新のファイルに対してハードリンクを張る機能が追加されたので、とりあえず試してみました。 $ wget http://ftp.riken.jp/net/

  • 垂れ流されるログのおしりを追いかける - (ひ)メモ

    滝のように流れるログは見ていて楽しいのですが、見ているばかりでは仕事にならないので、 https://github.com/hirose31/chase-tail というスクリプトを書きました。 機能はこんな感じで、 ログ中のきわどいキーワードに色をつけて目立たせる HTTPステータスの「50[0-9]」とかMySQLの「Lock wait timeout exceeded」とか 秒間にある一定行数以上ログが流れたら「NOTIFY_FLOOD」と出力する iTerm 2のPreferences→Profiles→AdvancedタブのTriggersにキーワードを登録しておくとGrowlで通知できるので、「NOTIFY_FLOOD」を登録しておけば、いつよりログがビャービャー流れたときにGrowlで知ることができます ちなみに、iTerm以外のアプリがフォアグラウンドでも、chase-ta

    垂れ流されるログのおしりを追いかける - (ひ)メモ
    ftnk
    ftnk 2012/01/27
  • ログ解析飲み会 - wyukawa's diary

    10/19(水)に都内某所でログ解析飲み会なるものを開催した。 ログ解析飲み会なのにログが無いってどういうこと?と某氏に突っ込まれたので酔っぱらいの記憶をたよりに書いてみる。ここには書けないオフレコ話も多々あったように思うが忘れたので書かない。 またここに書くことは僕の脳みそで理解した部分に限るが、誤解が含まれている可能性はもちろんあるので変なことを書いていたら指摘していただけると幸いである。 で、この飲み会を開いた経緯としてはですね、僕自身がHiveを用いたログ解析をするようになって他の人の現場寄りの話を聞きたいなーと思ってTwitterで絡んでいたら大物がきたので開催した次第である。大物が誰かはマル秘事項である。一人じゃないとだけいっておこう。 世の中的にも主にWeb業界でHadoopでのBI案件が広まるにつれて、Hive, Pig, Hadoopストリーミング, 生MapReduce

    ログ解析飲み会 - wyukawa's diary
    ftnk
    ftnk 2011/10/21
  • イベントログ収集ツール fluent リリース! - Blog by Sadayuki Furuhashi

    こんにちは。Treasure Data の古橋です^^; 先日の Treasure Data, Inc. 壮行会 で、イベントログ収集ツール fluent をリリースしました! Fluent event collector fluent は syslogd のようなツールで、イベントログの転送や集約をするためのコンパクトなツールです。 ただ syslogd とは異なり、ログメッセージに テキストではなく JSON オブジェクト を使います。また プラグインアーキテクチャ を採用しており、ログの入力元や出力先を簡単に追加できます。 Twitterでも話題沸騰中です:イベントログ収集ツール #fluent 周りの最近の話題 背景 「ログの解析」は、Webサービスの品質向上のために非常に重要です。Apacheのアクセスログだけに限らず、アプリケーションからユーザの性別や年齢などの詳しい情報を集め

    イベントログ収集ツール fluent リリース! - Blog by Sadayuki Furuhashi
    ftnk
    ftnk 2011/09/29
  • ログレベルの使い分け方/コミュニケーション手段としてのログ - blog.nomadscafe.jp

    Log::Minimal v0.02をリリースしました。xaicronさんのpatchにより出力するログのレベルを変更することができるようになりました。 WARN以上のログだけを出したい場合、$Log::Minimal::LOG_LEVEL を変更します。 use Log::Minimal; local $Log::Minimal::LOG_LEVEL = "WARN"; infof("info"); #出力されない warnf("warn"); #出力される デフォルトのレベルはDEBUGです。なお、デバックメッセージを出すには環境変数も設定されている必要があります。 ところで、Log::Minimalでは4つのログレベル、DEBUG、INFO、WARN、CRITICALをサポートしていますが、他のLogモジュールではより詳細なレベルを用意しているものがあります。そのため、アプリケーショ

    ftnk
    ftnk 2010/11/09