linux 监控 apache,Apache服务器性能监控

Apache服务器性能监控

1、使用自带mod_status模块监控

1)加载mod_status.so 模块

在httpd.conf中打开LoadModule status_module modules/mod_status.so

2)修改httpd.conf配置文件增加(删注释#)如下内容:

SetHandler server-status

Order deny,allow

Deny from all

Allow from all

ExtendedStatus On

:server-status这个名字可以修改。

Deny from:表示禁止的访问地址;nothing 表示没有禁止访问的地址 。

Allow from:表示允许的地址访问;all 表示所有的地址都可以访问。

ExtendedStatus On:显示其他信息,包括子httpd进程的应答信息。

Order deny,allow:优先级顺序,deny---拒绝,allow--允许。

重启apache服务器后在浏览器中访问:http://serverip/server-status 或 http://serverip/server-status?refresh=N(刷新时间) 或 http://serverip/server-status/auto(简单的状态表格)

762024cf3c19150115f87dd2dfb280ad.png

重要指标:

Total Accesses:到目前为止apache接收的联机数量

Total kBytes:接收的总的字节数

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

CPULoad:当前由apache服务器消耗的CPU

ReqPerSec:平均每秒请求数,也就是命中率HPS

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

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

BusyWorkers:提供服务的线程数,正在工作数

IdleWorkers:空闲的线程数

2、使用自带mod_info模块监控

相对于mod_status模块提供的服务器状态信息,mod_info主要提供服务器的配置信息,并且不能动态更新

修改httpd.conf配置文件增加(删注释#)如下内容:

SetHandler server-info

Order deny,allow

Deny from all

Allow from all

重启apache服务器后在浏览器中访问:http://serverip/server-info,可以使用如下查询参数:

?config  显示apache配置文件

?  显示模块相关信息

?list   显示所有使用中的模块列表

?server   显示基本的服务器信息

?hooks   显示每个模块所属的钩子列表

另外,mod_info模块还提供了AddModuleInfo指令来为server-info显示的模块增加额外的定制信息。

apache自带的mod_status和mod_info模块提供的监控功能比较弱,而且还可能会带来有安全方面的问题,所以一般建议取消这些模块功能,使用第三方工具来进行监控。

3、第三方工具监控

zabbix:基于PHP脚本的分布式系统监控以及网络监视功能的企业级解决方案,也能监控apache服务器。

Nagios:监视系统运行状态和网络信息的监视系统,和zabbix一样也提供基于Web的管理页面

4、LR监控apache服务器

开启mod_status模块功能,在LR的controller中找到apache资源图双击并右键添加度量,如下图:

d5cb48e3e5a21092673163041b77ddd5.png

添加apache服务器IP地址、选择系统平台、添加需要监控的计数器即可进行监控了。

a65c4d8bd839371faec3271d9d8e3d34.png                         

6e9b81c14cdceb276cf283203126aa0b.png

可能或存在Apache版本提供的计数器与LR默认计数器不一致的问题,就需要通过修改LR安装目录下\dat\monitors下的apache.cfg配置文件来解决。

5、利用apachetop工具监控apache日志

apachetop以类似top命令的方式实时显示apache的访问日志的统计信息,安装apachetop工具后,运行如下命令即可:

apachetop -f /usr/local/apache2/logs/access_log (apache日志文件目录)

6、其他实用监控命令

1)用ps来看httpd进程数

ps aux | grep httpd | wc -l

2)用netstat来看当前的连接数

netstat -ant | grep ":80" | wc -l

3) 实时检测httpd连接数

watch -n 1 -d  "pgrep httpd | wc -l"

4)计算httpd进程占用内存的平均数

ps aux|grep -v grep|awk ‘/httpd/{sum+=$6}; END{print sum/n}’

5)查看Apache的并发请求数及期TCP连接状态

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

• 其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数.

状态:描述

• CLOSED:无连接是活动的

• LISTEN:服务器在等待进入呼叫

• SYN_RECV:一个连接请求已经到达,等待确认

• SYN_SENT:应用已经开始,打开一个连接

• ESTABLISHED:正常数据传输状态

• FIN_WAIT1:应用说它已经完成

• FIN_WAIT2:另一边已同意释放

• ITMED_WAIT:等待所有分组死掉

• CLOSING:两边同时尝试关闭

• TIME_WAIT:另一边已初始化一个释放

• LAST_ACK:等待所有分组死掉

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值