分析日志统计负载均衡下的两台机器独立ip
2013-08-07 18:18
337 查看
首先负载均衡下面的两台机器,用户访问到的几率是均等的,所以日志里面两台机器会有很多重复的ip。如果想获取独立ip,必须把两个日志文件合并之后才能排重。
于是就sz 下来合并,发现每个日志文件都很大,怎么减少文件大小呢。我们要的是ip所以只取出相应的ip,然后再合并就不会那么大了。
cat access.log-20130805 | grep "login" | awk '{print $1}'| sort | uniq >> 20130805iplogin.txt
cat access2.log-20130805 | grep "login" | awk '{print $1}'| sort | uniq >> 20130805iplogin2.txt
获取到每个日志的独立ip后,我们再来做合并
cat 20130805iplogin.txt 20130805iplogin2.txt >iplogin.txt
获取到ip之后我们再来查出所有的个数
cat iplogin.txt | sort |uniq -c | wc -l
做的当时犯了两个错误
1、想到合并日志文件,傻傻的把两个几十兆的日志文件合并起来,而不是取出ip再合并。
2、 获取总数的时候 没有加sort ,下面重点说明下uniq的使用,了解uniq的使用依赖于sort
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:、
– c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
– d 只显示重复行。
– u 只显示文件中不重复的各行。
– n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
– f n 与- n相同,这里n是字段数。
– s n 与+n相同,这里n是字符数。
接下来通过实践实例说明:
===========================================
看test文件的内容
============================================
uniq命令不加任何参数,仅显示连续重复的行一次
============================================
-c 参数显示文件中每行连续出现的次数。
============================================
排序后再显示
============================================
-d选项仅显示文件中连续重复出现的行。
============================================
-u选项显示文件中没有连续出现的行。
============================================
忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home
============================================
忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。
============================================
显示所有重复的行,每个重复的行都显示
于是就sz 下来合并,发现每个日志文件都很大,怎么减少文件大小呢。我们要的是ip所以只取出相应的ip,然后再合并就不会那么大了。
cat access.log-20130805 | grep "login" | awk '{print $1}'| sort | uniq >> 20130805iplogin.txt
cat access2.log-20130805 | grep "login" | awk '{print $1}'| sort | uniq >> 20130805iplogin2.txt
获取到每个日志的独立ip后,我们再来做合并
cat 20130805iplogin.txt 20130805iplogin2.txt >iplogin.txt
获取到ip之后我们再来查出所有的个数
cat iplogin.txt | sort |uniq -c | wc -l
做的当时犯了两个错误
1、想到合并日志文件,傻傻的把两个几十兆的日志文件合并起来,而不是取出ip再合并。
2、 获取总数的时候 没有加sort ,下面重点说明下uniq的使用,了解uniq的使用依赖于sort
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。
该命令各选项含义如下:、
– c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。
– d 只显示重复行。
– u 只显示文件中不重复的各行。
– n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。
+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。
– f n 与- n相同,这里n是字段数。
– s n 与+n相同,这里n是字符数。
接下来通过实践实例说明:
===========================================
[root@stu100 ~]# cat test boy took bat home boy took bat home girl took bat home boy took bat home boy took bat home dog brought hat home dog brought hat home dog brought hat home
看test文件的内容
============================================
[root@stu100 ~]# uniq test boy took bat home girl took bat home boy took bat home dog brought hat home
uniq命令不加任何参数,仅显示连续重复的行一次
============================================
[root@stu100 ~]# uniq -c test 2 boy took bat home 1 girl took bat home 2 boy took bat home 3 dog brought hat home 1
-c 参数显示文件中每行连续出现的次数。
============================================
[root@stu100 ~]# cat test |sort | uniq boy took bat home dog brought hat home girl took bat home
排序后再显示
============================================
[root@stu100 ~]# uniq -d test boy took bat home boy took bat home dog brought hat home
-d选项仅显示文件中连续重复出现的行。
============================================
[root@stu100 ~]# uniq -u test girl took bat home
-u选项显示文件中没有连续出现的行。
============================================
[root@stu100 ~]# uniq -f 2 -s 2 test boy took bat home
忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home
============================================
[root@stu100 ~]# uniq -f 1 test boy took bat home dog brought hat home
忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。
============================================
[root@stu100 ~]# uniq -D test boy took bat home boy took bat home boy took bat home boy took bat home dog brought hat home dog brought hat home dog brought hat home
显示所有重复的行,每个重复的行都显示
相关文章推荐
- 统计Apache或Nginx访问日志里的独立IP访问数量的Shell
- python脚本统计日志独立ip
- (总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell
- 负载均衡操作日志分析
- 通过nginx日志统计独立ip的个数
- 两台机器上做apache + tomcat 的负载均衡
- 负载均衡 性能优化,网络安全,https,分布式系统,日志分析,离线数据分析视频教程
- 使用python 分析统计nginx访问日志ip次数并且排序
- hadoop处理日志 统计分析每天出现ip次数最多的前3条
- php统计nginx访问日志的ip访问量
- 分析apache日志,统计ip访问频次命令
- nginx做反向负载均衡,后端服务器获取真实客户端ip
- Linux下利用epoll实现两台机器之间的UDP传输丢包统计
- 电量统计日志分析
- nginx+keepalived负载均衡可用框架(二 nginx负载均衡-ip_hash)
- Python基于nginx访问日志并统计IP访问量
- 海量Web日志分析 用Hadoop提取KPI统计指标
- Nginx 日志文件 访问IP统计
- python 脚本统计squid日志中的IP访问数和URL访问数量
- linux下使用awk,wc,sort,uniq,grep对nginx日志进行分析和统计