きっかけ
- apt-get でインストールした MongoDB が
fluent-plugin-mongo
に非対応っぽい - 最新のバージョンをインストールしてみることにした
apt-get でインストールしたバージョン
最新のバージョンをインストール
手順
ここを参考にしてインストールを行う。
GPG キーの登録
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
/etc/apt/sources.list.d/mongodb.list
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
古いバージョンに敬意を込めてアンインストール
sudo aptitude purge mongodb-dev sudo aptitude purge mongodb-clients sudo aptitude purge mongodb-server
apt-get update を行う
apt-get update
インストール可能な MongoDB のバージョンを確認
インストール
sudo apt-get install mongodb-10gen
インストール後の確認
大幅にバージョンアップ!
fluend から利用する
fluent-plugin-mongo をインストール
/usr/lib/fluent/ruby/bin/gem install fluent-plugin-mongo --no-ri --no-rdoc -V
古い MongoDB のバージョンだと...
以下のようなエラーが出て利用出来ない。
2013-08-31 06:10:24 +0900 [info]: adding match pattern="apache.**" type="mongo" 2013-08-31 06:10:24 +0900 [fatal]: Operation failed. Probably, 'mongod' needs an authentication: Database command 'buildInfo' failed: (errmsg: 'no such cmd'; bad cmd: '{"buil dInfo"=>1}'; ok: '0.0').
データベースとコレクションの用意
mongo > use hogehoge > db.huga.save({a:1})
とりあえず、コレクション huga
にダミーデータを突っ込んでコレクションを用意した。この方法が正しいかは確認が必要。
td-agent.conf
テスト用途なのでシンプルに...
td-agent を再起動
sudo /etc/init.d/td-agent configtest sudo /etc/init.d/td-agent restart
0.10.38
から利用出来るようになった configtest
を使ってみて、再起動。
おお、fluentd と MongoDB のコラボ!
適当に ab でアクセスしてみる
ab -n 10 -c 10 http://xxx.xxx.xxx.xxx/
MongoDB に記録されているレコードを確認する
MongoDB にログインして db.huga.find();
で確認すると...
登録されている。redis
のレコード一覧(キー一覧)とはちょっとイメージが違う。以下は redis-server
に登録されているレコード一覧。
ということで
- MongoDB は初体験でした
- パッと見は RDB っぽいなという印象