统计Apache或Nginx访问日志里的独立IP访问数量的Shell

1、把IP数量直接输出显示:

cat access_log_2011_06_26.log |awk ‘{print $1}’|uniq -c|wc -l

2、把IP数量输出到文本显示:

cat access_log_2011_06_26.log |awk ‘{print $1}’|uniq -c|wc -l > ip.txt

总结:如果单个访问日志大小超过2G,用这个命令查看时很占系统资源,系统负载会上升;所以在服务器高负载时不要查看,最好在低负载时间段查看。上面截图是公司其中一台广告服务器的一天ip访问量,这个访问量其实还包括了搜索引擎的。访问日志只能做个参考,要准确还是要程序来统计。

4、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

或者:

netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,”t”,state[key]}’

返回结果一般如下:

LAST_ACK 5 (正在等待处理的请求数)
SYN_RECV 30
ESTABLISHED 1597 (正常数据传输状态)
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

其他参数说明:

CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉

5、查看Nginx并发进程数

ps -ef | grep nginx | wc -l

返回的数字就是nginx的并发进程数,如果是apache则执行

ps -ef | grep httpd | wc -l

还可以用如下命令:

watch -n 1 -d “pgrep nginx|wc -l”

6、查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

7、查看MySQL进程连接数:

ps -axef | grep mysqld -c
时间: 2024-10-24 15:32:36

统计Apache或Nginx访问日志里的独立IP访问数量的Shell的相关文章

(总结)统计Apache或Nginx访问日志里的独立IP访问数量的Shell

1.把IP数量直接输出显示:cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l 2.把IP数量输出到文本显示:cat access_log_2011_06_26.log |awk '{print $1}'|uniq -c|wc -l > ip.txt 总结:如果单个访问日志大小超过2G,用这个命令查看时很占系统资源,系统负载会上升:所以在服务器高负载时不要查看,最好在低负载时间段查看.上面截图是公司其中一台广告服务器的一天i

python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)

前言:python统计apache.nginx访问日志IP访问次数并且排序(显示前20条).其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下. apache脚本: ips = {} with open("/root/mail_access_log-20180629") as fh:     for line in fh:         ip = line.split(" ")[0]         if 6 < le

apache 2.4 配置httpd:添加域名禁止IP访问网站

apache 2.4 配置httpd:添加域名禁止IP访问网站 一般来说,网站可以用域名和IP来访问.你的网站可以通过IP直接访问,本来这没什么问题,但是会有些隐患:由于搜索引擎也会收录你的IP地址的页面,所以同一个页面搜索引擎会重复收录,造成页面的权重不如单个收录高.域名恶意指向的可能:还记得google.com.sb 事件吗?google.com.sb 这个域名被恶意指向了百度,后来证实了 google.com.sb 这个域名为第三者恶意指向的,并不是Google所为.当然这只是个玩笑,但是

Docker容器之内网独立IP访问

Docker容器之内网独立IP访问 实验介绍 今天在学习Docker容器的时候,在虚拟机中创建并开启了一个nginx的container,然后通过端口映射的方法,即将container的80端口映射到虚拟机的80端口,然后在宿主机上通过访问虚拟机的IP从而访问到Docker容器的Nginx服务. 然后开始思考,能否通过分配给container一个独立的IP,然后在宿主机上访问这个独立IP从而访问Nginx服务.通过各种探索,百度,最终实现,下面开始实验,这里用的是虚拟机的NAT模式. 实验图解

apache环境下web站点禁止用服务器ip访问

在我们的web站点做好后其实可以通过ip来直接访问的,当然这样在我们在做测试的时候是方便,但是一旦在实际的生产服务器中这样允许ip直接访问源站点是一个危险的举动,如果你的生产服务器被人恶意绑定,流量劫持到别的域名,会被广告联盟给封杀.因为你的域名本来就可以通过ip来访问的,如果被人恶意用域名解析到你的ip上,你的网站就能通过别人的域名来访问,时间一长广告联盟发现域名和ip不符合就封杀了,还有这样别人把你的ip绑定到其它恶意域名上一样也是很危险的.所以我们可以用apache的Rewrite和PHP

hadoop中的hive查询cdn访问日志指定时间段内url访问次数最多的前10位(结合python语言)

hadoop环境描述: master节点:node1 slave节点:node2,node3,node4 远端服务器(python连接hive):node29 需求:通过hive查询到cdn日志中指定时间段内url访问次数最多的前10个url ps:用pig查询可以查询文章: http://shineforever.blog.51cto.com/1429204/1571124 说明:python操作远程操作需要使用Thrift接口: hive源码包下面自带Thrift插件: [[email pr

统计Apache或nginx日志里访问次数最多的前十个IP

nginx awk '{print $1}' urlogfile | sort | uniq -c | sort -nr -k1 | head -n 10 awk '{print $1}' /usr/local/nginx/logs/localhost.access.log | sort | uniq -c | sort -nr -k1 | head -n 10 Apache cd /var/log/httpd/&&cat access_log | awk '{print $1}' | u

Apache按天截断日志工具,无法生成访问日志

rotatelogs实现Apache的日志轮转 httpd.conf配置如下: ErrorLog "logs/error_log" CustomLog "|$/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log_%Y-%m-%d 86400" common 切记加上美元符号.网上那么多文章都是骗人的,加上美元符号才管用,浪费了一天时间,悲催啊.

在nginx上部署页面,使用ip访问页面,实现跨设备访问本地静态页面

1.在nginx官网下载并安装nginx,下载链接:http://nginx.org/en/download.html. 2.修改安装包中conf文件夹中的nginx.conf的root路径,使用#将默认的路径注释掉,增加新的root路径,如下: location / { #root html; root F:/weike/dazuoye; index index.html index.htm; } 3.命令行输入ipconfig查看本机ip地址 4.在pc端或移动端浏览器输入http://xx