分散パフォーマンステスト関係を書こうと思っていたんですが,よくよく考えたらMongoプラグインについて日本語でまともな記事を書いたことなかったので書きます. このエントリはウィークリーFluentdユースケースエントリリレーの参加エントリです. 概要 MongoプラグインはMongoDBに対するInput/Outputプラグインを提供します.またユーティリティとして,MongoDBのcappedコレクションに対してtailを行うmongo-tailコマンドも付属しています. リポジトリ: https://github.com/fluent/fluent-plugin-mongo MongoDBは内部はBSONですが,API的にはJSONでやりとりしており,また明示的なスキーマもいらないため,Fluentd周辺では集計サーバやテンポラリサーバとして広く利用されています. td-agentには
rubyなれてる人ならはまらないんだろうけど、fluentdでfluent-plugin-mongoを入れてつかおうかなぁと思って gem intall fluent-plugin-mongo して、fluentdを再起動したら下記のように言われるわけです。 **Notice: C extension not loaded. This is required for optimum MongoDB Ruby driver performance. You can install the extension as follows: gem install bson_ext If you continue to receive this message after installing, make sure that the bson_ext gem is in your load path
前回はstatusをカウントするだけの単純な物 実際は、もっと複雑 けどいきなり複雑にしすぎてもついていけない。 そんな私に!! 日別で、アクセスユーザの何割が、特定の条件を満たしたかをとる処理を かる〜く書いてみました。 特定の条件って、またむずかしいんじゃね? その条件は http status の 200と300を発生させ、尚且つ500は発生させていないユーザである事。 コレを今回の解析内容としてみます。 お題を考えるのがめんどかった(自分用なので)で、一旦これで 要は ユーザ1が1日に発生させたstatusが200と300だけであれば合格 ユーザ2が1日に発生させたstatusが200と300と500であれば不合格 とりあえず、データの準備 db.access.save({user_id:'A001',status:200,create_dt:ISODate("2013-06-10
前回はMongoDB Shellからでしたが、今度はJava系の言語からMongoDBを扱ってみたいと思います。 今回行うのは、前回の縮小版です。 http://d.hatena.ne.jp/Kazuhira/20130613/1371127093 はい。 で、対象はJava、Groovy、Scalaで。それではいってみましょう。 *Clojure版も書きました http://d.hatena.ne.jp/Kazuhira/20130901/1378019591 Java Javaは、オフィシャルなドライバが提供されています。今回使ったバージョンは、2.11.1ですね。 Java Driver http://docs.mongodb.org/ecosystem/drivers/java/ Getting Started with Java Driver http://docs.mongod
アプリを支えるFluentd+mongo dbを使った大規模ログ解析 Presentation Transcript アプリを支えるFluentd +MongoDBを使った大規模 ログ解析 2013/03/2513年3月25日月曜日 自己紹介 • 田中 勇輔(@csouls) • ハッカーLv.3(ホイミが使えるようになっ た) • 8ヶ月くらい前にユーザ系SIer→Web業界へ 転職13年3月25日月曜日 変化を善とする文化 • 転職して一番変わったことは、周りの人の技 術変化に対する価値観の基準が悪→善になっ たこと • 停滞はゆるやかな死。しかし、変化する方向 を間違え続けるとすぐに死ぬ13年3月25日月曜日 分析 • 変化の方向を決める道標 • 分析基盤も変化(発展)し続ける13年3月25日月曜日 ログ分析基盤 • fluentでログを集めてMongoDBで集計して Ruby o
Mogodb集計 MongoDBの集計機能が便利過ぎて泣けてくるお話し - Yuta.Kikuchiの日記 1月程前にMongoDBを使った集計機能の紹介をさせていただいた@yutakikucです。内容は全く大した事無かったのですが、タイトルで誘導を引っ張って200近いbookmarkを集める事ができました笑。みなさんの参考にしていただけたこと、大変嬉しく思います。今日はMongoDBの集計をもう一歩踏み込んだ内容を紹介して行きたいと思います。題材としてはAggregation FrameworkとMapReduceについてです。因に今回試してみたMongoDB-Versionは2.2.3です。Versionによって挙動が変わると思うので注意してください。 $ mongo --version MongoDB shell version: 2.2.3 Aggregation Framewor
Ruby,Rubygems,MongoDBはインストールされているものとする MongoDBのインストールについてはCentOSであれば前にちょっと書いた 過去の記事:CentOS5.5にMongoDBをインストールする - chulip.org インストール Bundlerを使用して必要なGemをインストールする。 なおMongoDBのORMとしてMongoidを使用する $ gem install bundlerGemfile source :rubygems gem 'sinatra' gem 'mongoid' gem 'bson_ext' gem 'SystemTimer' #1.8.7だけ必要だったぽい group :test do gem 'rspec' gem 'rack-test' end$ bundle install bson_extとSystemTimer bson
MongoDBイン・アクション 作者: Kyle Banker,Sky株式会社玉川竜司出版社/メーカー: オライリージャパン発売日: 2012/12/14メディア: 大型本購入: 5人 クリック: 55回この商品を含むブログ (4件) を見る MongoDB集計機能 CentOSでNginxのログをFluentdを使ってMongodbにリアルタイムで格納する - Yuta.Kikuchiの日記 時給3000円のCEOと揶揄されている@yutakikucです。今日は簡単にMongodbのログ集計機能を紹介します。機能が豊富過ぎて泣けてくるんで、ログ解析する人は是非使ってみて下さい。FluentdでMongodbにNginxのLogを流し込む設定は上のエントリーを参照して下さい。次回はAggregationFramework/MapReduce周りについて触れたいと思います。 泣ける話 : 集
今回はMongoDBのSharding環境にて、各サーバが停止した場合の挙動について検証してみたいと思います。 検証環境 今回の検証環境も前回と同じ環境を使います。 mongosサーバ 最初はmongosサーバです。 早速、mongosサーバを落としてみましょう。 [matsuou1@testsvr mongodb]$ kill -2 14973次に、mongosサーバに接続してみます。 [matsuou1@testsvr mongodb]$ ./bin/mongo localhost:10000/logdb MongoDB shell version: 1.8.0 connecting to: localhost:10000/logdb Tue Apr 19 23:51:28 Error: couldn't connect to server localhost:10000 shell/
Sharding環境にて、shard keyを使用しない以下のクエリに問題があることが知られている。 (第2回MongoDB勉強会の@doryokujinさんの発表参照。私の参加日記は ここ から) Chunk Migration中のcount 同時書き込み発生時のsingle-update() 同時書き込み発生時のunique index tmp_collectionが削除されないmapreduce 今回は、Sharding環境にて、chunkのMigration中の各クエリの挙動について検証します。 同時書き込みの発生再現は、難しいので今回は割愛します。 この検証では、mongodb 1.8.0を使用しています。 構成については、 MongoDBのShardingを試してみた。その1 を参照 Chunk Migration中のcount 現象 正しい値より大きい値が出力される可能性があ
MongoDB勉強会で発表を聞いてきたので、早速Shardingの機能を試してみます。 環境構成 まずは、以下の構成をします。 本当は複数台のサーバを使用したいのですが、手元に自由に扱えるサーバがさくらVPSしかないため 1台に複数のmongodを立て、mongosとconfigも同居させています。 mongodbのバージョンは、1.8.0を使用しています。 shardサーバ起動 mongodをポート別に3つ起動します。 [matsuou1@testsvr mongodb]$ ./bin/mongod --shardsvr --port 10001 --dbpath /tmp/mongodb/shard1 --logpath /tmp/mongodb/log/shard1.log & [1] 14269 [matsuou1@testsvr mongodb]$ ./bin/mongod --
非常に参考になるMongoDBのノウハウ集を和訳(&少々所感)しました。 内容はデータベースの基本に忠実です。 データサイズを圧縮し、レコードの移動を防ぎ、効率の良いクエリーを発行しろという事です。 突飛な手法では無いので理解し易い。 One of things that makes MongoDB easy to get started with is you don’t have to think about schema design -- just shove data in and it’ll let you query it. That helps initial development and has benefits down the line when you want to change your document structure. That said… Mongo
Type safe mongodb with Scala #montotokyo 1. Type-safe MongoDB in Scala - 静的型付け言語とMongoDBの付き合い方 -Fungoing LLC / Satoshi MiyauchiTwitter : @bibrost 2. Profile 宮内 聖 / Satoshi Miyauchi @bibrost フゔンゴーング合同会社代表 兼 株式会社監査と分析 システム開発担当 Webデザン、映像編集、Webサービスの開発など・・・いろいろ 引きこもりフリーランス生活 Scala+Lift+MongoDBの組み合わせを昨年11月より利用中。 自社サービス1つ、クラゕントワーク1つでScala+MongoDBを利用。 Page : 1 3. Case Example 勝間和代氏の提供する有料コンテンツ会員向けコミュニテ
Foursquareが公開しているMongoDBクエリ用のライブラリ。型安全なScala-DSLだそうで。 ダウンロードしたファイルを解答し、「lift_basic」フォルダをどこかに展開。 project/build/LiftProject.scalaを下記の通り変更。 import sbt._ class LiftProject(info: ProjectInfo) extends DefaultWebProject(info) { val liftVersion = "2.3" // uncomment the following if you want to use the snapshot repo val scalatoolsSnapshot = ScalaToolsSnapshots // If you're using JRebel for Lift development
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く