使用flume-ng聚合双活Nginx日志
前不久使用Keepalived搭建了Nginx雙活代理服務(wù)器,以達到一個公網(wǎng)IP后支持多個云主機的多個域名網(wǎng)站的目的。完成后又想在這雙活的Nginx上有所有訪問網(wǎng)站的日志,之前有了解過Google Analytics, 及一些日志分析系統(tǒng)。后來終于找到并部署了幾個開源的分析系統(tǒng),包括AWStats,JAWStats及Piwik。使用它發(fā)現(xiàn)有一個問題比較煩,就是如何將2個Nginx的日志發(fā)送到分析服務(wù)器后合并分析。
一、需求
合并多臺服務(wù)器同一域名網(wǎng)站的訪問日志后,定時導(dǎo)入網(wǎng)站分析系統(tǒng),生成網(wǎng)站分析數(shù)據(jù)。
二、技術(shù)方案
前后想了很多方法,包括自已寫腳本加入Cron定時發(fā)送到分析服務(wù)器,Fluentd日志收集系統(tǒng)等許多方法,最終選定使用flume-ng完成該了該任務(wù),相對其它來說我覺得他應(yīng)是安裝配置最簡單的一種方法。
1.在分析服務(wù)器上安裝flume-ng,用以日志收集。首先安裝JDK(完成后記住配置JAVA_HOME等環(huán)境變量).下載flume-ng最新版后解壓后即可使用。使用前添加收集服務(wù)器配置,示例如下:
collector1.sources = AvroIn
collector1.sources.AvroIn.type = avro
collector1.sources.AvroIn.bind = 0.0.0.0
collector1.sources.AvroIn.port = 4545
collector1.sources.AvroIn.channels = mc1 collector1.channels = mc1
collector1.channels.mc1.type = memory
collector1.channels.mc1.capacity = 100 collector1.sinks = LocalOut collector1.sinks.LocalOut.type = file_roll
collector1.sinks.LocalOut.sink.directory = /var/log/flume/collector1
collector1.sinks.LocalOut.sink.rollInterval = 0
collector1.sinks.LocalOut.channel = mc1
完成后運行:
bin/flume-ng agent -c conf -f /etc/flume/conf/collector1.conf -n collector1
完成后即系統(tǒng)即會在端口4545收集日志數(shù)據(jù),寫入指定的目錄文件中。
2.在Nginx服務(wù)器同1中安裝好JDK并解壓flume-ng后,同樣新建一Nginx日志發(fā)送配置,示例如下:
agent1.sources = ngrinder
agent1.sources.ngrinder.type = exec
agent1.sources.ngrinder.command = tail -F /var/log/nginx/otrs/access.log
agent1.sources.ngrinder.channels = mc1 agent1.channels = mc1
agent1.channels.mc1.type = memory
agent1.channels.mc1.capacity = 100 agent1.sinks = avro-sink agent1.sinks.avro-sink.type = avro
agent1.sinks.avro-sink.channel = mc1
agent1.sinks.avro-sink.hostname = 172.22.2.203
agent1.sinks.avro-sink.port = 4545
3.啟動收集日志。
bin/flume-ng agent -c conf -f /etc/flume/conf/agent1.conf -n agent1
完成后,訪問你要收集網(wǎng)站訪問日志的網(wǎng)站,然后到收集服務(wù)器上,到配置好的日志收集目錄,您將可以看到相關(guān)日志。
4.將收集到的日志定時給AWStats分析,以完成網(wǎng)站訪問分析。運行:crontab -e添加:
* * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.xxxxx.com
使每天凌晨1點分析日志。
總結(jié)
以上是生活随笔為你收集整理的使用flume-ng聚合双活Nginx日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创削器内窥镜手术设备机械特性测试仪使用方
- 下一篇: 看看工业激光烟尘净化器的使用误区,你中招