使用flume-ng聚合双活Nginx日志
前不久使用Keepalived搭建了Nginx双活代理服务器,以达到一个公网IP后支持多个云主机的多个域名网站的目的。完成后又想在这双活的Nginx上有所有访问网站的日志,之前有了解过Google Analytics, 及一些日志分析系统。后来终于找到并部署了几个开源的分析系统,包括AWStats,JAWStats及Piwik。使用它发现有一个问题比较烦,就是如何将2个Nginx的日志发送到分析服务器后合并分析。
一、需求
合并多台服务器同一域名网站的访问日志后,定时导入网站分析系统,生成网站分析数据。
二、技术方案
前后想了很多方法,包括自已写脚本加入Cron定时发送到分析服务器,Fluentd日志收集系统等许多方法,最终选定使用flume-ng完成该了该任务,相对其它来说我觉得他应是安装配置最简单的一种方法。
1.在分析服务器上安装flume-ng,用以日志收集。首先安装JDK(完成后记住配置JAVA_HOME等环境变量).下载flume-ng最新版后解压后即可使用。使用前添加收集服务器配置,示例如下:
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
完成后即系统即会在端口4545收集日志数据,写入指定的目录文件中。
2.在Nginx服务器同1中安装好JDK并解压flume-ng后,同样新建一Nginx日志发送配置,示例如下:
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
完成后,访问你要收集网站访问日志的网站,然后到收集服务器上,到配置好的日志收集目录,您将可以看到相关日志。
4.将收集到的日志定时给AWStats分析,以完成网站访问分析。运行:crontab -e添加:
* * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.xxxxx.com
使每天凌晨1点分析日志。
使用flume-ng聚合双活Nginx日志的更多相关文章
- 高可用Hadoop平台-Flume NG实战图解篇
1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...
- Flume NG高可用集群搭建详解
.Flume NG简述 Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...
- Flume采集Nginx日志到HDFS
下载apache-flume-1.7.0-bin.tar.gz,用 tar -zxvf 解压,在/etc/profile文件中增加设置: export FLUME_HOME=/opt/apache-f ...
- 分布式实时日志系统(二) 环境搭建之 flume 集群搭建/flume ng资料
最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...
- Centos7 搭建 Flume 采集 Nginx 日志
版本信息 CentOS: Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x ...
- Nginx日志通过Flume导入到HDFS中
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新) flume上传到hdfs: 当我们的数据量比较大时,比如每天的日志文件达到5G以上 使用ha ...
- 【转】Flume(NG)架构设计要点及配置实践
Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...
- Flume NG简介及配置
Flume下载地址:http://apache.fayea.com/flume/ 常用的分布式日志收集系统: Apache Flume. Facebook Scribe. Apache Chukwa ...
- Flume OG 与 Flume NG 的区别
1.Flume OG:Flume original generation 即Flume 0.9.x版本 Flume NG:Flume next generation ,即Flume 1.x版本 ...
随机推荐
- Hdu5093 Battle ships 二分图
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission( ...
- Delphi中滚动文字的应用
1.添加一个Timer控件,Interval属性设置为20. 2.添加一个Label控件,Name为labMessage. 3.在Timer的OnTimer事件添加如下代码: procedure TF ...
- PropertyMetadata和UIPropertyMetadata的一点区别
使用UIPropertyMetadata写一个Brush的依赖属性. System.Windows.Application.Current.Dispatcher.BeginInvoke(new Act ...
- WinServer 2008 远程桌面连接设置
WinServer 2008 远程桌面连接设置 1.在服务器端启用远程桌面>>计算机--右键--管理 看远程桌面是否已经启用,若未启用则启用它.配置远程桌面,勾选允许任意版本远程桌面的 ...
- iOS AFOAuth2Manager使用心得
github地址: https://github.com/AFNetworking/AFOAuth2Manager 这个库,不多说,实现OAuth 2.0授权访问. 确实可以减轻很大的负担,而且使用 ...
- Hbase0.96 MVCC Lock 知识梳理
HBASE0.96 MVCC 写入的时候 每个Region包含一个Memstore,维护一个MultiVersionConsistencyControl对象 w = mvcc.beginMemstor ...
- spring异常-aoperror at :0 formal unbound in pointcut
八月 17, 2016 10:15:21 上午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRe ...
- Spatial Transformer Networks(空间变换神经网络)
Reference:Spatial Transformer Networks [Google.DeepMind]Reference:[Theano源码,基于Lasagne] 闲扯:大数据不如小数据 这 ...
- Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...
- mysql数据库安装及使用
前言:本文为在ubuntu系统下使用mysql数据库,mysql 版本为:Ver 14.14 Distrib 5.5.43 (mysql版本可在命令行中输入mysql --version显示) 一.m ...