Apache性能监控

本文介绍如何通过启用Apache的ServerStatus模块来监控Apache服务器的性能,并提供详细的配置步骤。此外还介绍了如何利用Cacti进行监控,以及如何在Linux下编写脚本来方便地查看Apache状态。
摘要由CSDN通过智能技术生成

我们平时使用apache常常了解他的性能只能使用ps aux|grep httpd|wc -l查看有多少个进程,但处理了多少http的请求我们不清楚,进程是不是在工作,还是在等都不是很明白,要了解apache的性能,我们需要使用Apache Server Status的模块来详细了解apache工作的怎么样.并可以使用cacti来监控它.

 

Apache Server Status的启用

Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以这个需要有,然后打开下面的配置

ExtendedStatus On

配置Apache Server Status的权限

<location /server-status>

         SetHandler server-status

         Order Deny,Allow

         Deny from all

         Allow from .foo.com

</location>

打开查看的话就使用http:// your.server.name/server-status来访问,注意VHapache要设置在一个VH,不然你分不清是那个地址来查看看这个信息.ExtendedStatus不能放在VH.

 

调用接口

http:// your.server.name/server-status,将会生产详细的状态报表,可以在浏览器中直接浏览。

另外可以加下面两种参数:

?refresh=N :设置多久自动刷新一次

?auto :生产机器可以读状态

 

如下,是我的机器的显示

Apache Server Status for 124.254.29.8

Server Version: Apache/2.2.4 (Unix) PHP/5.2.5

Server Built: Dec 4 2007 16:52:24

Current Time: Sunday, 12-Oct-2008 08:01:16 HKT

Restart Time: Sunday, 12-Oct-2008 08:00:35 HKT

Parent Server Generation:3

Server uptime: 40 seconds

Total accesses: 722 - Total Traffic: 5.2 MB

CPU Usage: u3.12 s.39 cu0 cs0 - 8.78% CPU load

18 requests/sec - 133.8 kB/second - 7.4 kB/request

22 requests currently being processed, 4 idle workers

 

KKKWK__K_KKKKKKKW_KKKKKKKW......................................

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

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

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

 

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

Srv

PID

Acc

M

CPU

SS

Req

Conn

Child

Slot

Client

VHost

Request

0-3

5847

16/20/20

K

0.12

0

19

34.2

0.07

0.07

203.208.60.11

img.xxx.com

GET /114890205599297025/.jpg HTTP/1.1

1-3

5848

3/20/20

K

0.06

4

0

0.0

0.07

0.07

203.51.165.54

img.xxx.com

GET /search/images/nophoto_small.gif HTTP/1.1

2-3

5849

4/22/22

K

0.06

4

0

0.0

0.07

0.07

203.51.165.54

img.xxx.com

GET /search/images/bg-title-05.gif HTTP/1.1

3-3

5850

0/46/46

W

0.26

0

0

0.0

0.40

0.40

192.168.0.5

localhost

GET /engine/search.php?ofmt=php&rand=1&kw=curved+sectional+sofa

4-3

5851

9/30/30

K

0.11

1

0

18.8

0.16

0.16

68.225.175.102

img.xxx.com

GET /search/images/bg-search-02.gif HTTP/1.1

5-3

5852

0/22/22

_

0.15

0

3

0.0

0.13

0.13

192.168.0.6

localhost

GET /words/word.php?ofmt=php&site=3&start=1&rand=0 HTTP/1.0

6-3

5853

0/31/31

_

0.22

0

16

0.0

0.42

0.42

192.168.0.5

cms.xxx.com

GET /module/get_people-also-search_word.php?kw=curved sectional

7-3

5855

5/22/22

K

0.08

0

35

17.5

0.10

0.10

67.234.174.148

img.xxx.com

GET /1123600163997000/Cutting_Saw.jpg HTTP/1.1

8-3

5856

0/28/28

_

0.17

0

3

0.0

0.27

0.27

192.168.0.5

localhost

GET /words/word.php?ofmt=php&day=335&count=10&site=3 HTTP/1.0

9-3

5857

4/42/42

K

0.14

4

0

0.0

0.36

0.36

203.51.165.54

img.xxx.com

GET /search/images/icon-iso.gif HTTP/1.1

Srv

Child Server number - generation

PID

OS process ID

Acc

Number of accesses this connection / this child / this slot

M

Mode of operation

CPU

CPU usage, number of seconds

SS

Seconds since beginning of most recent request

Req

Milliseconds required to process most recent request

Conn

Kilobytes transferred this connection

Child

Megabytes transferred this child

Slot

Total megabytes transferred this slot

 

 

server-status 的输出中每个字段所代表的意义如下:

字段                         说明

Server Version       Apache 服务器的版本。

Server Built         Apache 服务器编译安装的时间。

Current Time        目前的系统时间。

Restart Time         Apache 重新启动的时间。

Parent Server Generation        Apache 父程序 (parent process) 的世代编号,就是 httpd 接收到 SIGHUP 而重新启动的次数。

Server uptime         Apache 启动后到现在经过的时间。

Total accesses         到目前为此 Apache 接收的联机数量及传输的数据量。

CPU Usage           目前 CPU 的使用情形。

_SWSS....            所有 Apache process 目前的状态。每一个字符表示一个程序,最多可以显示 256 个程序的状态。

Scoreboard Key         上述状态的说明。以下为每一个字符符号所表示的意义:

    * _:等待连结中。

    * S:启动中。

    * R:正在读取要求。

    * W:正在送出回应。

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

    * D:正在查找DNS

    * C:正在关闭连结。

    * L:正在写入记录文件。

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

    * I:处理闲置。

    * .:尚无此程序。

Srv        本程序与其父程序的世代编号。

PID        本程序的process id

Acc        分别表示本次联机、本程序所处理的存取次数。

M         该程序目前的状态。

CPU        该程序所耗用的CPU资源。

SS         距离上次处理要求的时间。

Req        最后一次处理要求所耗费的时间,以千分之一秒为单位。

Conn       本次联机所传送的数据量。

Child       由该子程序所传送的数据量。

Slot        由该 Slot 所传送的数据量。

Client       客户端的地址。

VHost       属于哪一个虚拟主机或本主机的IP

Request     联机所提出的要求信息。

 

报表相当不错吧。

 

Linux下查看脚本

linux下编写一个state脚本,可以方便查看apache状态。

#!/bin/sh

wget -o /dev/stdout -O /dev/stdout "http://localhost/server-status?auto"

 

运行state脚本可以得到如下结果:

--08:37:58--  http://localhost/server-status?auto

           => `/dev/stdout'

正在解析主机 localhost... 127.0.0.1

Connecting to localhost|127.0.0.1|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:433 [text/plain]

Total Accesses: 38405

Total kBytes: 311445

CPULoad: 3.29514

Uptime: 2243

ReqPerSec: 17.1222

BytesPerSec: 142184

BytesPerReq: 8304.12

BusyWorkers: 6

IdleWorkers: 20

Scoreboard: C__________K___W___KW__K_........_..............................................................................................................................................................................................................................

 

    0K                                                       100%   45.88 MB/s

 

08:37:58 (45.88 MB/s) - `/dev/stdout' saved [433/433]

 

各结果项介绍如上。

 

 

Cacti中进行监控

下载模板和脚本

http://forums.cacti.net/about25227.html&highlight=apachestats

在上面的地址下载一个叫 ApacheStats08.zip,中间有二个文件,一个处理脚本php,另一个是xml的文件.

1.其中的ss_apache_stats.php是脚本文件,它是一个php的文件,放到你的cacti/scripts/下面.

2.接下来在cacti界面导入cacti_host_template_webserver_-_apache.xml这个文件

3.你就可以在cacti中加入这些设置.就不细写了,如下

被监测的apache服务器需要向上面一样,打开mod_status功能,记的设置好权限访问,不然任何人都可以见到可不好哦

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值