您好,登錄后才能下訂單哦!
Fluentd是一個(gè)日志收集系統(tǒng),它的特點(diǎn)在于其各部分均是可定制化的,你可以通過(guò)簡(jiǎn)單的配置,將日志收集到不同的地方。
本文要介紹的是在Fluentd的最新版中已經(jīng)內(nèi)置的MongoDB支持。主要通過(guò)一個(gè)收集Apache/nginx日志的例子來(lái)說(shuō)明其使用方法:
機(jī)制圖解
安裝Fluentd
設(shè)置yum源
vi /etc/yum.repos.d/td.repo
[treasuredata]
name=TreasureData
baseurl=http://packages.treasure-data.com/redhat/x86_64/
gpgcheck=1
gpgkey=http://packages.treasure-data.com/redhat/RPM-GPG-KEY-td-agent
yum clean all
yum makecache
yum -y install td-agent
在Fluentd的最新安裝包中已經(jīng)包含了MongoDB插件,所以不需要安裝mongo插件
配置
如果你是使用上面的deb/rpm包安裝的Fluentd,那么配置文件位置在:/etc/td-agent/td-agent.conf,否則其位置應(yīng)該在:/etc/fluentd/fluentd.conf
首先我們編輯配置文件中的source來(lái)設(shè)置日志來(lái)源
<source>
type tail
format apache
pos_file /var/log/td-agent/nginx-access.log.pos
path /usr/local/nginx/logs/www.access.log
tag mongo.apache
</source>
其中:
①type tail: tail方式是 Fluentd 內(nèi)置的輸入方式,其原理是不停地從源文件中獲取新的日志。
②format apache: 指定使用 Fluentd 內(nèi)置的 Apache 日志解析器。
③path /var/log/apache2/access_log: 指定日志文件位置。
④tag mongo.apache: 指定tag,tag被用來(lái)對(duì)不同的日志進(jìn)行分類
下面再來(lái)編輯輸出配置,配置日志收集后存儲(chǔ)到MongoDB中
match標(biāo)簽后面可以跟正則表達(dá)式以匹配我們指定的tag,只有匹配成功的tag對(duì)應(yīng)的日志才會(huì)運(yùn)用里面的配置。配置中的其它項(xiàng)都比
<match mongo.**>
# plugin type
type mongo
# mongodb db + collection
database apache
collection access
# mongodb host + port
host 192.168.30.113
port 3306
# interval
flush_interval 10s
</match>
較好理解,看注釋就可以了,其中flush_interval是用來(lái)控制多長(zhǎng)時(shí)間將日志寫(xiě)入MongoDB一次。
注意:如果是收集的是nginx日志的話,日志格式要保持默認(rèn)的。
啟動(dòng)td-agent
service td-agent start
然后我們?cè)贛ongoDB中就能看到收集到的日志了
/usr/local/mongodb/bin/mongo 192.168.30.113:3306
MongoDB shell version: 2.0.4
connecting to: 192.168.30.113:3306/test
> use apache
switched to db apache
> db.access.find()
{ "_id" : ObjectId("530fee3753357d2437000001"), "host" : "192.168.30.1", "user" : "-", "method" : "GET", "path" : "/api?callback=jQuery172014558692439459264_1393552941396&do=show_workspace&MEMBER_ID=80&os=w&webtoken=1b43342c1f&_=1393552941501", "code" : "301", "size" : "178", "referer" : "http://www.weiduoa.com/", "agent" : "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36", "time" : ISODate("2014-02-28T02:02:29Z") }
{ "_id" : ObjectId("530fee3753357d2437000002"), "host" : "192.168.30.1", "user" : "-", "method" : "GET", "path" : "/api?callback=jQuery172014558692439459264_1393552941397&do=inboxmemberlist&MEMBER_ID=80&os=w&webtoken=1b43342c1f&_=1393552941505", "code" : "301", "size" : "178", "referer" : "http://www.weiduoa.com/", "agent" : "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36", "time" : ISODate("2014-02-28T02:02:29Z") }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。