Apache监控

185 阅读4分钟
原文链接: zhuanlan.zhihu.com

Apache服务器中的httpd配置文件中有很多可被调用的模块,主要包括以下模块:

# LoadModule foo_module modules/mod_foo.so

LoadModule access_module modules/mod_access.so

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_module modules/mod_auth.so

#LoadModule auth_anon_module modules/mod_auth_anon.so

#LoadModule auth_dbm_module modules/mod_auth_dbm.so

#LoadModule auth_digest_module modules/mod_auth_digest.so

LoadModule autoindex_module modules/mod_autoindex.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

LoadModule cgi_module modules/mod_cgi.so

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dir_module modules/mod_dir.so

LoadModule env_module modules/mod_env.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule file_cache_module modules/mod_file_cache.so

#LoadModule headers_module modules/mod_headers.so

LoadModule imap_module modules/mod_imap.so

LoadModule include_module modules/mod_include.so

#LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule negotiation_module modules/mod_negotiation.so

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

#LoadModule speling_module modules/mod_speling.so

LoadModule status_module modules/mod_status.so

#LoadModule unique_id_module modules/mod_unique_id.so

LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule ssl_module modules/mod_ssl.so

前面有“#”号的代码,表示该代码被注释不生效,如果需要该行代码生效,那么需要将前面的“#”号取消。监控Apache的状态需要启动LoadModule status_module modules/mod_status.so模块。

启动Apache服务器状态管理模块后(LoadModule status_module modules/mod_status.so),默认情况下,只能看到以下一些基础信息,如图所示。



如果需要显示所有的状态信息,需要将ExtendedStatus的值设置为On,该选项的缺省值为Off,所以正常情况下只能看到如图10-1所示的基本信息,在监控过程中需要将该选项的值设置为On,以便显示Apache服务器所有的状态信息,服务器的状态信息是通常“server-status”中的“handler”调用,server-status的代码如下:

<Location /server-status>

SetHandler server-status

Order deny,allow

# Deny from all

Allow from all

</Location>

Deny from:表示禁止的访问地址;

Allow from:表示允许的地址访问;

注意:在监控之前一定要启动“server-status”模块,否则SetHandler无法读到服务器的状态信息,进而导致监控失败。

输入URL地址(http://IP/server-status),测试是否可以正确的显示Apache服务器的状态信息,如果正确,则会显示如图所示的详细信息。




关于显示详细状态还有两个参数:

?refresh=N:设置每N秒后动态刷新一次详细信息(?refresh=5表示每5秒钟刷新一次),如果不设置具体的时间间隔(如?refresh),那么缺省值为每1秒钟动态刷新一次详细信息。

?auto:表示服务器处于访问状态下的动态态信息;

http://localhost/server-status?auto&refresh=5表示每5秒动态刷新一次详细信息,结果如图所示。





Total Accesses:到目前为此Apache接收的联机数量及传输的数据量;

To kBytes:接收的总的字节数;

Uptime:服务器运行的总时间(单位秒);

ReqPerSec:平均每秒请求数;

BytesPerSec:平均每秒发送的字节数;

BytesPerReq:平均每个请求发送的字节数;

BusyWorkers:正在工作数;

IdleWorkers:空闲工作数;

BusyWorkers加IdleWorkers的和为服务所允许的同时工作的线程数,配置文件中同时允许的最多线程中的设置项为ThreadsPerChild,其缺少值为250。即ThreadsPerChild=BusyWorkers+IdleWorkers。

只输入http://IP/server-status,则只显示相关的统计信息,而非动态信息,信息内容如下:

Apache Server Status for localhost

Server Version: Apache/2.0.59 (Win32) mod_ssl/2.0.59 OpenSSL/0.9.8e PHP/5.2.5

Server Built: Jul 21 2006 08:48:52

Current Time: Thursday, 29-Nov-2012 19:41:08 中国标准时间

Restart Time: Thursday, 29-Nov-2012 18:53:47 中国标准时间

Parent Server Generation: 0

Server uptime: 47 minutes 21 seconds

Total accesses: 626 - Total Traffic: 1.3 MB

.22 requests/sec - 468 B/second - 2124 B/request

1 requests currently being processed, 249 idle workers

________________________________________________________________

________________________________________________________________

________________________________________________________________

_________________________________________________________W......

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

................................................................................................................................

Scoreboard Key:

"_" Waiting for Connection, "S" Starting up, "R" Reading Request,

"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,

"C" Closing connection, "L" Logging, "G" Gracefully finishing,

"I" Idle cleanup of worker, "." Open slot with no current process



统计部分内容信息含义依次为:到目前为止Apache接收的联机数量及传输的数据量、已发送的总的字节数、平均每秒请求数、平均每秒发送的字节数、平均每个请求发送的字节数、当前正在请求的线程数、空闲的结程数。

关于M列的状态主要包括以下几种:

_:等待连结中。

S:启动中。

R:正在读取要求。

W:正在送出回应。

K:处于保持联机的状态。

D:正在查找DNS。

C:正在关闭连结。

L:正在写入记录文件。

G:进入正常结束程序中。

I:处理闲置。

.:尚无此程序。

关于请求表格中各列的含义见表。