阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache服务器性能监控

192次阅读
没有评论

共计 2578 个字符,预计需要花费 7 分钟才能阅读完成。

Apache 服务器性能监控

1、使用自带 mod_status 模块监控

1)加载 mod_status.so 模块

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

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

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>
ExtendedStatus On

<location /server-status>: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(简单的状态表格)
   Apache 服务器性能监控

重要指标:

  • 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 配置文件增加(删注释 #)如下内容:

<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from all
</Location>

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

  ?config  显示 apache 配置文件

  ?<module-name>  显示模块相关信息

  ?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 资源图双击并右键添加度量,如下图:

     Apache 服务器性能监控

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

     Apache 服务器性能监控                         Apache 服务器性能监控

   可能或存在 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:等待所有分组死掉

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139824.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2578字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中