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(简单的状态表格)
   

重要指标:  

  • 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服务器IP地址、选择系统平台、添加需要监控的计数器即可进行监控了。

                              

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

Apache服务器性能监控的更多相关文章

  1. Zynga 开源其服务器性能监控分析工具 zPerfmon

    流年不利的社交游戏服务商Zynga近日在官方博客宣布开源zPerfmon——该工具负责监控Zynga数以千计的社交游戏服务器.zPerfmon的源代码目前已经上传至Github. 包括Facebook ...

  2. Web服务器性能监控分析与优化

    Web服务器性能监控分析与优化 http://www.docin.com/p-759040698.html

  3. linux 服务器性能监控(一)

    这篇文章主要介绍一些常用的linux服务器性能监控命令,包括命令的常用参数.指标的含义以及一些交互操作. 几个问题 命令本身并不复杂,关键是你对操作系统基础知识的掌握和理解,先来看看下面几个问题: C ...

  4. jmeter使用笔记——脚本录制,JMeter使用plugins插件进行服务器性能监控

    脚本录制: 1.badboy录制 2.代理服务器录制 ①工作台添加HTTP代理服务器 ②设置目标控制器,分组,排除模式,包含模式(使用正则表达式筛选) ③设置浏览器,手动设置代理服务器,localho ...

  5. JMeter使用plugins插件进行服务器性能监控

    JMeter使用plugins插件进行服务器性能监控 性能测试时,我们的关注点有两部分 1 服务本身:并发响应时间 QPS 2 服务器的资源使用情况:cpu memory I/O disk等 JMet ...

  6. 性能测试学习之路 (三)jmeter常见性能指标(相关术语、聚合报告 && 服务器性能监控配置 && 图形结果 && 概要报告)

    1 性能测试目的 性能测试的目的:验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,以优化软件. 最后起到优化系统的目的性能测试包括如下几个方面: 1.评估系统的能力:测试 ...

  7. Jmeter工具使用-分布式架构和服务器性能监控解决方案

    在对项目做大并发性能测试时,常会碰到并发数比较大(比如需要支持10000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能来搭建分布式并发环境. 一.J ...

  8. Apache服务器性能如何优化

    配置网站,要充分的把系统资源利用出去,榨干系统的一切潜能,让网站速度发挥到极致.Apache,是用户浏览和网站数据的一个中间桥梁.但是在这里,我们虽然做得并不是很多,但是如果心细打理,有些设置也会起到 ...

  9. 服务器性能监控神器nmon使用介绍

    介绍 Nmon (Nigel's Monitor)是由IBM 提供.免费监控 AIX 系统与 Linux 系统资源的工具.该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 exc ...

随机推荐

  1. html5 Worker学习

    HTML: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <t ...

  2. Droidbox恶意软件动态分析环境搭建

    @author : Dlive 0x01 DroidBox简介 DroidBox是一款,可以获得以下信息 1.APK包hash值 2.网络通信数据 3.文件读写操作 4.网络通信,文件读写,SMS中的 ...

  3. 同步异步,阻塞非阻塞 和nginx的IO模型

    同步与异步 同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication).所谓同步,就是在发出一个*调用*时,在没有得 ...

  4. Linux虚拟机添加新硬盘的全程图解

    查看网的文章,我将在vm虚拟机LinuxRedhat中添加一个新的硬盘, 过程大致如下: 1.选择"VM"----"setting"并打开,将光标定位在hard ...

  5. 与你相遇好幸运,Postgresql和postgis安装

    笔者开发环境: windows 7 x86_64 一开始安装的是官网最新版 PostgreSQL 9.6 ,安装成功 之后安装PostGIS Bundle 2.2 for PostgreSQL x64 ...

  6. MongoDB的ObjectId和基本操作增删改查(3)

    ObjectId 基本操作增删改查 增: insert 介绍: mongodb存储的是文档,. 文档是json格式的对象. 语法: db.collectionName.insert(document) ...

  7. Hbase+ Phoenix搭建教程

    Hbase+ Phoenix搭建教程 一.Hbase简介 HBase是基于列存储.构建在HDFS上的分布式存储系统,其主要功能是存储海量结构化数据. HBase构建在HDFS之上,因此HBase也是通 ...

  8. C#将数据大小字节转换为MB,GB,TB

    http://www.myluoluo.com/c%E5%B0%86%E6%95%B0%E6%8D%AE%E5%A4%A7%E5%B0%8F%E5%AD%97%E8%8A%82%E8%BD%AC%E6 ...

  9. html学习第一天笔记——第七章节

    第7章 CSS样式基本知识<span style="color:blue"> </span>嵌入式css样式,写在当前的文件中[**********]嵌入式 ...

  10. 【html+css】关于页面布局中遇到的问题记录

    关于行内元素: 行内元素设置width无效, height无效(可以设置line-height), margin上下无效,padding上下无效,margin和padding可设置左右.   text ...