安装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
bannerAds