真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Fluentd+MongoDB采集Apache日志

這篇文章給大家介紹如何使用Fluentd+MongoDB采集Apache日志,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

禪城網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),禪城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為禪城近1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的禪城做網(wǎng)站的公司定做!

我們今天介紹一個(gè)組合:Fluentd+MongoDB,用以實(shí)時(shí)收集半結(jié)構(gòu)化數(shù)據(jù)。

  1. 背景知識(shí)
  2. 日志接入Fluentd后,會(huì)以json的格式在Fluentd內(nèi)部進(jìn)行路由。這就決定了Fluentd處理日志的方式是非常靈活的,它將日志視為半結(jié)構(gòu)化數(shù)據(jù),可以方便地修改其結(jié)構(gòu)。
    相應(yīng)地,日志的最終存儲(chǔ)數(shù)據(jù)庫(kù)也應(yīng)該擅長(zhǎng)處理這樣的半結(jié)構(gòu)或者非結(jié)構(gòu)化數(shù)據(jù)。這樣整個(gè)系統(tǒng)搭配起來(lái)才更協(xié)調(diào)和高效。  
     
    而MongoDB恰好也是以類(lèi)json的方式來(lái)處理內(nèi)部數(shù)據(jù)的,非常適合作為Fluentd的目標(biāo)存儲(chǔ)。  
        
     
  3. 實(shí)現(xiàn)機(jī)制
    我們通常以下列架構(gòu)來(lái)組合Fluentd+MongoDB這對(duì)CP。
    如何使用Fluentd+MongoDB采集Apache日志  
    在這個(gè)組合中,F(xiàn)luentd的職責(zé)為:
    1. 持續(xù)“tail”Apache訪問(wèn)日志
    2. 將Apache日志文本解析為有意義的字段(如ip、path等),并緩存之
    3. 定期將緩存的日志寫(xiě)入MongoDB

  4. 安裝部署
    1. 安裝Apache、MongoDB
    2. 安裝Fluentd
    3. 在Fluentd中安裝MongoDB插件(最新版Fluentd已內(nèi)置)
      fluent-gem install fluent-plugin-mongo

    接下來(lái)就是配置的事了。

  5. 配置說(shuō)明
    1. 首先配置輸入端
        @type tail  path /var/log/apache2/access_log  pos_file /var/log/td-agent/apache2.access_log.pos      @type apache2    tag mongo.apache.access
      使用tail來(lái)追蹤Apache的日志文件access_log,使用Fluentd內(nèi)置的Apache日志解析器apache2來(lái)解析日志。日志事件tag為mongo.apache.access。    
    2. 再配置輸出端
        # plugin type  @type mongo
       # mongodb db + collection  database apache  collection access
       # mongodb host + port  host localhost  port 27017
       # interval      flush_interval 10s  
       # make sure to include the time key      time_key time  
      匹配所有mongo開(kāi)頭的tag,使用out_mongo作為輸出插件。依次配置日志存儲(chǔ)在MongoDB中的數(shù)據(jù)庫(kù)和集合、MongoDB地址和端口。設(shè)置flush間隔為10秒,每10秒將緩存的日志寫(xiě)入MongoDB。    
             
  6. 測(cè)試驗(yàn)證
    確保各服務(wù)正常運(yùn)行。
    我們通過(guò)ping Apache來(lái)制造一些測(cè)試數(shù)據(jù)。
    $ ab -n 100 -c 10 http://localhost/
     
然后,在MongoDB中就可以看到這些日志了。
$ mongo> use apache> db["access"].findOne();{ "_id" : ObjectId("4ed1ed3a340765ce73000001"), "host" : "127.0.0.1", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "44", "time" : ISODate("2011-11-27T07:56:27Z") }{ "_id" : ObjectId("4ed1ed3a340765ce73000002"), "host" : "127.0.0.1", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "44", "time" : ISODate("2011-11-27T07:56:34Z") }{ "_id" : ObjectId("4ed1ed3a340765ce73000003"), "host" : "127.0.0.1", "user" : "-", "method" : "GET", "path" : "/", "code" : "200", "size" : "44", "time" : ISODate("2011-11-27T07:56:34Z") }

關(guān)于如何使用Fluentd+MongoDB采集Apache日志就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


網(wǎng)頁(yè)名稱(chēng):如何使用Fluentd+MongoDB采集Apache日志
地址分享:http://weahome.cn/article/geogdc.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部