统计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
统计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 acces ...
- python统计apache、nginx访问日志IP访问次数并且排序(显示前20条)【转】
前言:python统计apache.nginx访问日志IP访问次数并且排序(显示前20条).其实用awk+sort等命令可以实现,用awk数组也可以实现,这里只是用python尝试下. apach ...
- 用shell统计访问日志里每个ip访问次数【转】
今天,要统计一个系统的每个ip访问次数,于是我找到该系统访问日志,并写脚本实现. 访问日志情况: [root@qular ~]# cd /usr/local/nginx/logs/ [root@q ...
- 使用python脚本实现统计日志文件中的ip访问次数
使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...
- nginx安全:配置allow/deny控制ip访问(ngx_http_access_module)
一,nginx中allow/deny指令的用途 1, Nginx的deny和allow指令是由ngx_http_access_module模块提供, Nginx安装默认内置了该模块 2, nginx访 ...
- 在虚拟机上的关于Apache(阿帕奇)(3)基于IP访问网站
这篇随笔是基于IP访问网站,和后面两篇文章基于域名和基于端口一起练习效果更好 基于IP(记得下载httpd服务) 首先使用nmtui命令为网卡添加多个ip地址 输入命令:nmtui 进入下面这个界 ...
- ARTS-S docker里程序通过ip访问外部数据库
要先确保外部数据库能通过ip访问,然后启动docker的时间加参数--network host,如 docker run \ --name fcheck_async_worker \ -it \ -v ...
- 统计Apache或nginx日志里访问次数最多的前十个IP
1.根据访问IP统计UV awk '{print $1}' access.log|sort | uniq -c |wc -l 2.统计访问URL统计PV awk '{print $7}' access ...
- Apache按天截断日志工具,无法生成访问日志
rotatelogs实现Apache的日志轮转 httpd.conf配置如下: ErrorLog "logs/error_log" CustomLog "|$/usr/l ...
随机推荐
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)
1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...
- centos 7 下安装numpy、scipy等python包
本文适用于刚入门的小白,欢迎大牛们批评指正. 因为要开始数据分析,而python又不像R和matlab那么简洁.需要安装的包很多~ 网上找了好多牛人博客,想在centos7下安装numpy,scipy ...
- hibernate中validate的使用(转)
原文链接:http://blog.csdn.net/xing_sky/article/details/8484551 首先是要加入下面两个包 hibernate-validator-4.1.0.Fin ...
- 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;
import java.util.Scanner; public class Test2 { public void reverse(String str) { String[] wordArray ...
- org.springframework.beans.MutablePropertyValues.add
最近在项目中,通过maven引入其他包时,启动报错如下: [ERROR][2016-10-08 14:01:20.716]Context initialization failed[org.sprin ...
- C#中去除字符串空格的三种方法
static void Main() { //demo1 除去空格,提取出各个单词 string s = "a b c"; string[] word = s.Split(new ...
- Python学习之运算符
Python运算符 算术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 取模 ** 幂 // 整除 比较运算符 运算符 描述 == 等于 != 不等于 <> 不等于 &g ...
- 用Java编程找到两个字符串中共有的字符
这道题的算法思想是把字符串1中的每个字符与字符串2中的每个字符进行比较,遇到共同拥有的字符,放入另一个数组中,最后顺序输出即可 但是这道题的难点在于怎么排除重复的字符 public class bot ...
- UE4 执行Console Command ----ExecuteConsoleCommand
void UKismetSystemLibrary::ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Com ...
- NSOperation操作依赖和监听
1.操作依赖 NSOperation之间可以设置依赖来保证执行顺序 比如一定要让操作A执行完后,才能执行操作B,可以这么写 [operationB addDependency:operationA]; ...