by shigemk2

当面は技術的なことしか書かない

ApacheのログをmongoDBに突っ込む

環境

さくらVPS CentOS 6.5

さくらサーバーのVPS環境にfluentdとMongoDBをインストール | Like a Long Sigh ほとんど↑のやつを参考にしました。

td-agentを入れる

sudo vi /etc/yum.repos.d/td.repo

[treasuredata]
name=TreasureData
baseurl=http://packages.treasure-data.com/redhat/$basearch
gpgcheck=0
# yum install td-agent

mongoを入れる

sudo /etc/yum.repos.d/10gen.repo

[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1
# yum update
# yum install mongo-10gen mongo-10gen-server

そして

# chkconfig mongod on

td-agentまわりの修正

設定ファイルの変更 sudo vi /etc/td-agent/td-agent.conf

<source>
  type tail
  format apache
  path /var/log/httpd/access_log
  tag mongo.apache
</source>
 
<match mongo.**>
  type mongo
 
  database apache
  collection access
 
  host localhost
  port 27017
 
  flush_interval 10s
</match>

パーミッションの修正

chmod o+rx /var/log/httpd

そしてtd-agent起動

# service td-agent start

curlで試す

$ curl URL
mongo
> show dbs
httpd     0.203125GB
local     0.078125GB
 
> use httpd
switched to db httpd
> show collections
access
system.indexes
 
> db.access.count();
0より大きければ成功

ハマリどころ

とりあえずですね、アカンかったら今回は

/var/log/td-agent/td-agent.log

を見ました。というか、ログを見ればいいんです。