安装Fluentd并将数据保存到MongoDB
- RaspberryPi(DietPi:Jessie), ubuntu14.04, linuxmint17.2 にて確認。
请提供更多上下文或明确意思,以便我能够准确地为您进行翻译。
- Installing Fluentd Using Ruby Gem | Fluentd
在Debian系Linux系统上安装
sudo apt-get install -y ruby-dev build-essential
sudo gem install fluentd --no-ri --no-rdoc
/usr/local/bin/fluentd が入る。
安装(CentOS 5系列)
[treasuredata]
name=TreasureData
baseurl=http://packages.treasure-data.com/redhat/$basearch
gpgcheck=0
需要设置 gpgcheck=0。
sudo yum install -y td-agent
确认动作
fluentd --setup ~/fluent
fluentd -c ~/fluent/fluent.conf
echo '{"json":"message"}' | fluent-cat debug.test
fluentd可以通过Ctrl-C来结束
在8888端口等待,并将日志保存到文件中。
<source>
@type http
@id http_input
port 8888
</source>
+<match host1>
+ type file
+ path /mnt/usb_1/fluent/host1
+</match>
- fluentd を再立ち上げし以下実施
curl http://myserver:8888/host1 -F 'json={"log":"test_dayo"}'
/mnt/usb_1/fluent/host1.20150821.b51dc6d7e2ba239e2 に以下ログが保存される。
2015-08-21T08:52:26+09:00 host1 {"log":"test_dayo"}
在Apache的ProxyPass功能中,保存时不开放8888端口。
<VirtualHost *:80>
...
+ ProxyPass /host1 http://localhost:8888/host1
</VirtualHost>
sudo a2enmod proxy_http
sudo /etc/init.d/apache2 restart
curl http://myserver/host1 -F 'json={"log":"test_dayo"}'
请确认记录已保存。
将数据保存在MongoDB中
-
- Fluentd入門 – Qiita
- MongoDB – mongo shellの操作まとめ – Qiita
sudo apt-get install -y mongodb
- dbpath=/var/lib/mongodb
+ dbpath=/mnt/usb_1/fluent/mongodb
- logpath=/var/log/mongodb/mongodb.log
+ logpath=/mnt/usb_1/fluent/mongodb/mongodb.log
mongod -f /etc/mongodb.conf
sudo gem i fluent-plugin-mongo --no-ri --no-rdoc
sudo gem i bson_ext --no-ri --no-rdoc
<match host1>
- type file
- path /mnt/usb_1/fluent/host1
+ type mongo
+ host localhost
+ database fluent
+ collection host1
</match>
mongo fluent
> show collections
> db.host1.find()
{ "_id" : ObjectId("55d6738290c3222278000001"), "log" : "test_dayo", "time" : ISODate("2015-08-21T00:40:12Z") }
{ "_id" : ObjectId("55d6738290c3222278000002"), "log" : "test_dayo", "time" : ISODate("2015-08-21T00:40:33Z") }
{ "_id" : ObjectId("55d673cb90c32222a0000001"), "log" : "test_dayo", "time" : ISODate("2015-08-21T00:40:53Z") }
{ "_id" : ObjectId("55d6744490c32222a0000002"), "log" : "test_dayo", "time" : ISODate("2015-08-21T00:43:42Z") }
在终端中执行sudo killall mongod命令来停止mongod进程,更多信息请参考MongoDB手册3.0中的“管理mongod进程”部分。
如果要安裝MongoDB 3.0的話
Install MongoDB on Debian — MongoDB Manual 3.0
jessieのmongodbは2.4。45歳以上はMongoDBを使ったシステムが使えなくなる件 – Qiitaという問題もあるようなので、3.0を入れるのも良いでしょう。
RaspberryPi用は3.0が存在しない。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org