使用 Apachetop 实时监测web服务器运行状况
对于 Linux 下使用 Apache 作为 Web 服务器来说,大家也许经常会需要查看服务器的实时运行情况,比如哪些 URL 的访问量最大,服务器每秒的请求数,等等。 apachetop 就是这样一个工具, 能够让你实时的监测 apache 服务器的运行状况。
apachetop 是一个命令行工具,它的运行原理是通过分析 apache 服务器的日志文件,来向用户展示服务器的运行情况。
- 安装与使用 apachetop
以 CentOS 为例,输入如下命令:
1 |
|
- 使用 apachetop
安装完成后,可以在命令行中输入:
1 |
|
如果成功找到了日志文件,apachetop 就会在命令行中显示类似如下的内容,并且这些内容会自动刷新:
1 |
|
上面的命令行输出,向我们展示了 apache 服务器当前的运行状况,我们可以逐行进行分析:
首先,这行中的 last hit 列出了最后点击(也就是请求)的时间, atop runtime 代表 apachetop 已经运行的时间,这行最后的那个是当前的时间。
1 |
|
接下来,这行列出了自从 apachetop 开始运行以来所有的请求次数,以及每秒平均的请求次数, 接收到的字节数,每秒接收的字节数,每次请求平均的字节数。 第二行代表服务端发出的HTTP响应代码情况,例如,2xx 表示请求成功的响应代码发送的次数,比如 200 响应,4xx 代表比如 404 这类的响应次数。
1 |
|
下面这两行各个属性所表示的含义和上面那两行是一样的,唯一不同的是它们跨越的时段不一样。 前两行是统计自从 apachetop 启动以来所有的请求,而这两行默认统计的是 30 秒之内的请求。
1 |
|
下面这些行就是具体每一个 URL 的请求状况了:
1 |
|
这里面列出了在指定时段内对每一个 URL 分别的请求数量,每秒的平均请求次数,这些请求的字节数,以及每秒平均的字节数。
到这里,我们了解了 apachetop 最基本的使用方法,下面我们将更进一步的介绍它更多的特性。
*apachetop 的各种视图模式
如果仔细看一下的话,你会发现 URL 列表的第一行多了一个星号:
1 |
|
这个星号代表你选中了当前这一行,你可以按键盘的上下键来选择其他行,当你选中一行后,按下 → 键,就可以进入该条 URL 的详细信息界面:
1 |
|
在这个界面中,你可以看到对于该条 URL,请求它的 IP 都是什么。看完这个之后,你可以按下 ← 按键,回到列表视图。
在列表视图中,你可以按 d 键,在 URL/Referrer/Host 这三个列表视图之间进行切换:
1 |
|
在上面的 HOST 视图中,我们可以看到IP的来源情况,而且可以按下 → 键进入详细视图查看该条 IP 都访问过哪些 URL。
1 |
|
在上面的 REFERRER 视图中, 我们可以看到各个网站的来源情况,这对于分析链接来源非常有用。
*为 URL 列表添加过滤器
如果你的 URL 列表中的链接太多了,你可以添加一些过滤器来对这个列表进行筛选,从而找到你需要检测的 URL。
在 URL 列表视图中,按下 f 键,这时你会看到这样一个菜单:
1 |
|
再按下 a 键,添加一个过滤器,这时会让你选择过滤器的类型:
1 |
|
我们按下 u 键,选择 URL 过滤器, 然后输入你的过滤条件,再按下回车键,这时候,列表视图中我们就可以看到筛选后的内容了。
还有一些其他的选项,比如还可以设置如何对列表视图进行排序, 我们可以在列表视图中按下 h 键来查看运行时的帮助信息:
1 |
|
上面的帮助文档列出了在运行时所有可以执行的操作,比如我们前面提到的 d 键切换视图, f 键添加过滤器,还有一个 s 键,可以用来对列表进行排序等等。
apachetop 的命令行参数
默认情况下, apachetop 会在 apache http 服务器的默认日志路径上面来查找日志文件,以便于通过这些日志文件来生成实时检测报告,但如果你的日志文件没有在默认的位置,那么 apachetop 就没办法 找到它了。 这时候可以使用 -f 参数来明确的指定日志文件的位置:
1 |
|
- apachetop 的列表视图,默认情况下是不显示出 URL 参数的, 如果你还需要显示 URL 参数,那么可以使用 -q 参数:
1 |
|
- apachetop 会使用一个缓存区域来存放一定数量的日志记录,以生成最终的实时检测报表,默认情况下会以保存 30 秒之内的请求记录。 它提供了两个参数可以让你来控制这个缓存区的大小。
-H num 以请求数来计算,比如你想让 apachetop 记录 1000 次点击之内的情况:
1 |
|
-T sec 以时间进行来计算,比如记录 20秒之内的请求:
1 |
|
还有更多的命令行参数, 可以通过 -help 参数来查看:
1 |
|
使用 Apachetop 实时监测web服务器运行状况的更多相关文章
- apachetop 实时监测web服务器运行状况
apachetop 实时监测web服务器运行状况 我们经常会需要知道服务器的实时监测服务器的运行状况,比如哪些 URL 的访问量最大,服务器每秒的请求数,哪个搜索引擎正在抓取我们网站?面对这些问题 ...
- Linux的watch命令 — 实时监测命令的运行结果
Linux的watch命令 — 实时监测命令的运行结果 watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得 ...
- Web服务器集群搭建关键步骤纪要
前言:本文记述了搭建一个小型web服务器集群的过程,由于篇幅所限,系统.软件的安装和基本配置我这里就省略了,只记叙关键配置和脚本内容.假如各位朋友想了解各软件详细配置建议查阅官方文档. 一 需求分析: ...
- ASP.NET Core中的运行状况检查
由卢克·莱瑟姆和格伦Condron ASP.NET Core提供了运行状况检查中间件和库,用于报告应用程序基础结构组件的运行状况. 运行状况检查由应用程序公开为HTTP终结点.可以为各种实时监视方案配 ...
- 前端学HTTP之WEB服务器
前面的话 Web服务器每天会分发出数以亿计的Web页面,它是万维网的骨干.本文主要介绍WEB服务器的相关内容 总括 Web服务器会对HTTP请求进行处理并提供响应.术语“Web服务器”可以用来表示We ...
- C#中使用Socket实现简单Web服务器
上一篇博客中介绍了怎样使用socket访问web服务器.关键有两个: 熟悉Socket编程: 熟悉HTTP协议. 上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重 ...
- Web服务精讲–搭个 Web 服务器(二)
导读 曾几何时,你所选择的 Python Web 框架会限制你所可选择的 Web 服务器,反之亦然.如果某个框架及服务器设计用来协同工作的,那么一切正常. 在第一部分中,我提出了一个问题:“如何在你刚 ...
- 如何在Web服务器80端口上开启SSH服务
本文所讨论的网络端口复用并非指网络编程中采用SO_REUSEADDR选项的 Socket Bind 复用.它更像是一个带特定路由功能的端口转发工具,在应用层实现. 背景 笔者所处网络中防火墙只开放了一 ...
- JAVA编写WEB服务器
一.超文本传输协议 1.1 HTTP请求 1.2 HTTP应答 二.Socket类 三.ServerSocket类 四.Web服务器实例 4.1 HttpServer类 4.2 Requ ...
随机推荐
- PHP--封装干净利落的输出dump()函数
/** * 打印函数 * */ if (! function_exists ( 'dump' )) { function dump($var, $exit = true) { echo '<pr ...
- python进阶_浅谈面向对象进阶
python进阶_浅谈面向对象进阶 学了面向对象三大特性继承,多态,封装.今天我们看看面向对象的一些进阶内容,反射和一些类的内置函数. 一.isinstance和issubclass class F ...
- Windows下shell神器
想找一个可以在Windows平台玩命令行的东西,不想装虚拟机搞linux,所以找到两个神器 如何升级Babun中的Git Babun中默认已经集成Git,只是有可能不是最新的版本 如果只是更新Babu ...
- 学习Python笔记---变量和简单数据类型
首先声明,这个是个人在自学的一些笔记,因为是小白,刚接触Python,之前也没有过类似的经验,所以很多东西对于其他人来说可能是小白级别的,写出来没有其他的意思就是自己整理然后记录一下,顺便分享出来,而 ...
- 2019-8-30-BAT-脚本判断当前系统是-x86-还是-x64-系统
title author date CreateTime categories BAT 脚本判断当前系统是 x86 还是 x64 系统 lindexi 2019-08-30 08:47:40 +080 ...
- 完美解决IE8不支持margin auto问题
不用js,超级简单,完美支持. body下的整个container .container { overflow: hidden; margin: 0px auto; text-align: cente ...
- PHP获取搜索引擎关键词
有时候我们需要知道用户通过哪个搜索引擎,通过拿个关键词访问我们页面,当然js也可以实现,这里介绍下php的实现代码,包含(百度.谷歌.雅虎.搜狗.搜搜.必应.有道)几大搜索引擎的获取方法. //获取来 ...
- 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾
区块链.云计算.大数据.人工智能.FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾 | 作者 韩婷 发布于 2016年12月26日. 估计阅读时间: 不到一分钟 | 欲知区块链.VR.Te ...
- java并发系列(八)-----java异步编程
同步计算与异步计算 从多个任务的角度来看,任务是可以串行执行的,也可以是并发执行的.从单个任务的角度来看,任务的执行方式可以是同步的,也可以是异步的. Runnable.Callable.Future ...
- netbeans 代码自动补全设置
编辑器-----代码完成------语言选择"JAVA"------在如图红框中输入 @ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst ...