Apache性能监控

Linux下通过server-status监控性能                                                      

 

要监控apache的性能,我们需要修改配置文件,允许查看apache运行状态的主机。

 

1)加载mod_status.so 

对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so ,服务器信息管理的模块为

LoadModule info_module modules/mod_info.so,所以需要...apache\conf'\httpd.conf配置文件中修改。

[root@localhost /]# cd /usr/local/apache/conf

[root@localhost /]# vi httpd.conf

找到LoadModule status_module modules/mod_status.so ,去掉其前面的# 号(默认是没有# 号的)

找到LoadModule info_module modules/mod_info.so,去掉其前面的#号

 

2)下面有修改配置文件有两种方式

方式一: 在httpd.conf文件底部分添加以下内容(如果在配置文件在有这些配置的话,可以不用添加,而是按照下面的配置进行修改即可):

复制代码
#这个为监控服务器状态的配置信息
<location /server-status>
         SetHandler server-status
         Order Deny,Allow
         Deny from nothing
         Allow from all
</location>
#这个为查看服务器信息的配置信息
<location /server-info>
      SetHandler server-info
      Order allow,deny
      Deny from nothing
      Allow from all
</location>
 
 
ExtendedStatus On
复制代码

 注:Deny from all为默认的设置,可以选择改为Deny from nothing或者将该行注释掉:#Deny from all

方法二:在httpd.conf中找到以下内容

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf   //去掉这一行前面的#号

打开...apache\conf\extra\http-info.conf 配置文件进行修改。修改内容与方式与方法一相同

其实,两种无方法是相同的,只是第二种方法更为优雅一点。

 

修改信息解释:

<location /server-status>  : server-status 这个名字可以任意的取,但最好不要被别人猜到。

Deny from   表示禁止的访问地址;nothing 表示没有禁止访问的地址 。
Allow from   表示允许的地址访问;all 表示所有的地址都可以访问。

ExtendedStatus On   表示的是待会访问的时候能看到详细的请求信息,另外该设置仅能用于全局设置,不能在特定的虚拟主机中打开或关闭。启用扩展状态信息将会导致服务器运行效率降低。

 

3)重启apache

[root@localhost /]# cd /usr/local/apache/bin/

[root@localhost bin]# apachectl start  启动

[root@localhost bin]# apachectl stop  停止  

 

4)访问

查看服务器状态方法:

http://你的IP地址:端口/server-status 

http://你的IP地址:端口/server-status ?refresh=N 

N将表示访问状态页面可以每N秒自动刷新一次

查看服务器信息方法:

http://你的IP地址:端口/server-info


5)问题:

按照如上方法还是无法访问,比如我就是,出现如下问题:


apache服务器日志的信息为:

[Thu Jun 27 18:10:31 2013] [error] [client 10.1.188.170] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

经过多种尝试,最后发现是由于在服务器的根目录下的配置文件.htaccess导致的,打开文件可以看到如下的重定向信息:

<IfModule mod_rewrite.c>
   RewriteEngine on

#RewriteRule             ^$ app_interface_2.1.1/webroot/    [L]
#RewriteRule             (.*) app_interface_2.1.1/webroot/$1 [L]
RewriteRule             ^$ app_interface_2.1.3/webroot/    [L]
RewriteRule             (.*) app_interface_2.1.3/webroot/$1 [L]

</IfModule>

可以看到,第4条标红的重定向规则有问题,这条规则的意思就是说将所有域名后的访问地址重定向到后面的URL中,并替换为第一个匹配到的值

比如你访问的地址为http://你的IP地址:端口/server-status 实际上你访问的地址变成了http://你的IP地址:端口/app_interface_2.1.3/webroot/server-status

这样当然是不对的,所以,把这行注释掉就可以了,问题解决!!

6)在LoadRunner中配置监控apache:

在LoadRunner可用的监视器中双击Web Server Resource Graphs下的Apache节点,然后在右边对应的窗口中添加Apache所在主机的IP地址,并且加入计数器后单击OK,这样就可以在LoadRunner中实时显示Apache的运行状态信息了。

下表描述了可以监控的度量和服务器属性:
       度量                               描述
# Busy Servers 处于忙碌状态的服务器数
# Idle Servers 处于空闲状态的服务器数
Apache CPU Usage Apache 服务器利用 CPU 的时间百分比
Hits/sec HTTP 请求速率
KBytes Sent/sec 从 Web 服务器发送数据字节的速率

注意:

您可能收到如下消息:

【Monitor name :Apache. Parsing error, cannot find token: BusyServers. Measurement: BusyServers|192.168.0.186. Hints: 1) Such a measurement does not exist, or the html page may be different from the supported one. 2) Try to replace the Apache.cfg with appropriate Apache_<version>.cfg file in <Installation>\dat\monitors and rerun the application (entry point: CApacheMeasurement::NewData).   [MsgId: MMSG-47479]】

这是由于要监视Apache的版本提供的计数器与LoadRunner默认的计数器不一致导致的。此时建议先关闭Controller,打开<Installation>\dat\monitors下的apache.cfg文件(其它文件名类似Apache_<version>.cfg的是Apache监视配置的备份,只有apache.cfg是生效的):

1、  修改Counter0=IdleServers为Counter0=IdleWorkers,同时修改注释信息Label0=#Idle Servers (Apache)为Label0=#Idle Workers (Apache),描述信息也建议修改;
2、  修改Counter4=BusyServers为Counter4=BusyWorkers,同时修改注释信息Label4=#Busy Servers (Apache)为Label4=#Busy Workers (Apache) ,描述信息也建议修改。
        然后保存并关闭该文件,重新打开Controller并添加计数器,这样监视就正常了。

附注:

有些时候需要修改下面的信息,比如说你配置的时候更改了URL或者端口号之类的信息:
Delimiter=: 语句后的下列参数 :
InfoURL 服务器统计信息 URL
ServerPort 服务器端口号
SamplingRate LoadRunner 监控器轮询服务器以获取统计信息的间隔时
间(毫秒)。 如果该值大于 1000, LoadRunner 将使用
该值作为采样速率。 否则, LoadRunner 将使用在“选
项”对话框的“监控器”选项卡中定义的采样速率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值