mod_status
描述: | 提供有关服务器活动和 performance 的信息 |
状态: | Base |
模块标识符: | status_module |
源文件: | mod_status.c |
摘要
Status 模块允许服务器管理员了解其服务器的性能。提供了一个 HTML 页面,以易于阅读的形式提供当前的服务器统计信息。如果需要,可以使该页面自动刷新(给定兼容的浏览器)。另一个页面给出了当前服务器 state 的简单 machine-readable 列表。
给出的细节是:
- worker 服务请求的数量
- idle worker 的数量
- 每个 worker 的状态,worker 执行的请求数以及 worker 服务的总字节数(*)
- 提供的访问总数和字节数(*)
- 服务器的 time 是 started/restarted,time 是 running 的 time
- 给出每秒请求数,每秒服务的字节数和每个请求的平均字节数的平均值(*)
- 每个 worker 使用的当前百分比 CPU 以及所有 workers 的总和(*)
- 正在处理的当前主机和请求(*)
标有“(*)”的 lines 仅在ExtendedStatus为On
时可用。在 version 2.3.6 中,将默认切换ExtendedStatus开。
启用状态支持
要仅为来自 example.com 域的浏览器启用状态报告,请将此 code 添加到httpd.conf
configuration 文件中
<Location "/server-status"> SetHandler server-status Require host example.com </Location>
您现在可以使用 Web 浏览器访问页面http://your.server.name/server-status
来访问服务器统计信息
自动更新
如果您的浏览器支持“刷新”,则可以让状态页面自动更新。访问页面http://your.server.name/server-status?refresh=N
以每 N 秒刷新一次页面。
机器可读状态文件
通过访问页面http://your.server.name/server-status?auto
可以获得状态文件的 machine-readable version。这在自动 run 时很有用,请参阅 Apache HTTP Server 安装的/support
目录中的 Perl 程序log_server_status
。
应该注意的是,如果将 mod_status 加载到服务器中,则其处理程序功能在所有 configuration files 中都可用,包括 per-directory files(e.g.,.htaccess).这可能会对您的网站产生 security-related 分支.
使用 server-status 进行故障排除
server-status
页面可以用作故障排除服务器消耗所有可用资源(CPU 或 memory)的情况的起始位置,并且您希望识别导致问题的请求或客户端。
首先,确保已设置ExtendedStatus,以便您可以查看每个子项或线程的完整请求和 client 信息。
现在查看 process 列表(使用top
或类似的 process 查看实用程序)来识别作为主要罪魁祸首的特定进程。按 CPU 使用率或 memory 使用情况输出top
的输出,具体取决于您尝试解决的问题。
重新加载server-status
页面,并查找那些 process ID,您将能够看到该 process 正在为什么 client 服务的请求。请求是暂时的,因此您可能需要尝试多次才能在行动中捕获它,可以这么说。
这个 process 应该给你一些 idea client 或者什么类型的请求,主要负责你的负载问题。通常,您会识别出行为不当的特定 web application,或者攻击您网站的特定客户端。