什么是 Apache?

Apache 是一款 HTTP 服务器软件,现在更名为 "http",而 Apache 则成了一个(包含httpd的项目)巨大的基金组织,根据习惯后文都用 Apache 特指 Apache HTTP Server(httpd)。Apache 诞生于1995年,且从 96 年 4 月起就一直是全球最流行的 web 服务器。该项目的定位是一个开源且跨平台(支持类 UNIX 系统和 Windows 系统)的 HTTP 服务器,旨在提供与当前 HTTP 标准同步,安全、高效、可拓展的服务。

监控Apache的参数

Apache提供哪些监控参数

现在主要使用的 Apache 版本是 Version 2.0,Version 2.2 和 Version 2.4。提供的监控参数基本没有变化,下表是 Apache2.2 提供的主要监控参数(相对实用的)。

参数名称 参数描述
Total Accesses 服务器自启动来接收到的请求连接数
Total kBytes 传输的总数据量,单位是KB
CPULoad NCPU负荷
Uptime 运行时间,单位秒
ReqPerSec 每秒请求数
BytesPerSec 每秒传输数据量,单位B/s
BytesPerReq 平均每个请求的数据传输量(事实上就是BytesPerSec/BytesPerSec)
BusyWorkers 在跑的进程数
IdleWorkers 空闲的进程数

此外,还有其他监控参数如当前使用的 Apache 版本号、每个进程状态,以及 Apache2.4 提供的新参数如当前的系统时间、Apache 安装时间等等。这些数据犹如鸡肋,有用却并不是我们想在监控页需要看到的。

简单说明一下

Total Accesses 就是服务器启动后,总访问数,Total kBytes 对应于这些访问共用了多少数据传输量,单位是 KB。

CPULoad 是指当前服务器占用 CPU 的负荷值。值的一提的是,在 2.4 版本里还有 Server Load1,Server Load5 和 Server Load15 三个参数,分别表示前 1、5 和 15 分钟内 cpu 的平均负荷。

Uptime 就是从启动到你看到不间断的运行时间,单位秒。在 2.4 版里也多了个 ServerUptime 参数,表示结果也人性化一点,会分开显示天时分秒,然而这也改变不了它没有什么用命运。

ReqPerSec,BytesPerSec 和 BytesPerReq,这个就不用解释了就是字面上的意思,前两个分别是每秒请求数、每秒传输的数据量。第三个参数是前两个参数计算来的,计算公式是BytesPerReq=BytesPerSec/ReqPerSec

BusyWorkers,IdleWorkers 分别是在跑的进程和空闲的进程数。IdleWorkers 就是负责等待新的访问(连接请求),而 BusyWorkers 就是在读请求和发送回应。监控参数 Scoreboard 里面的'_'对应于 IdleWorkers,'W' 和 'R' 对应于 BusyWorkers。

具体参数可看示例官网状态页,另外这个页面是为了方便抓取数据而设置的。

下图是通过定时抓取这些参数值制作的图表。

如何获取Apache监控参数

Apache性能监控参数会在一个监控页面上显示,这个监控页需要开启 Apache 的 mod_status 模块。这就要求在 Apache 的配置文件 httpd.conf 里添加一段 Location。在版本 2.0 和 2.2 里面,添加如下

<Location /server-status>
SetHandler server-status Order Deny,Allow
Deny from all
Allow from example.com
</Location>

在版本 2.4 里面添加如下

<Location "/server-status">
SetHandler server-status
Require host example.com
</Location>

在版本 2.3.6 之后指令 ExtendedStatus 默认处于 On 的状态。所以,在版本 2.3.6 之前,想要看到全部的监控参数,需要在 httpd.conf 中添加如下:

ExtendedStatus On

官网上也说了,把这个打开的话会影响到 Apache 的速度。请根据自身情况和实际需求,酌情使用。

配置完了需要重起一下 Apache,然后就会在你your.server.name/server-status上看到监控页面,大概是这个样子:

如果需要定时刷新的话,只需要把网址改为your.server.name/server-status?refresh=N,每 N 秒自动刷新一次。如果需要采集数据的话,这个your.server.name/server-status?auto对你帮助会大一些。

顺便安利一下,装一个Ci,就能看到前面关于 Apache 基于时间的运行状态的图了。免费注册免费使用,还能设置报警策略。具体,戳这里

Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。

本文转自 OneAPM 官方博客

教你如何监控 Apache?的更多相关文章

  1. cacti监控apache和nginx的配置

    一.监控apache1.下载http://forums.cacti.net/about25227.html&highlight=apachestats2.其中的ss_apache_stats. ...

  2. apache支持中文域名绑定,apache支持中文域名绑定,教你怎样让apache支持中文域名绑定

    摘要:apache支持中文域名绑定,apache支持中文域名绑定,教你怎样让apache支持中文域名绑定,根据本人实际经验,叫你如何让apache支持中文域名绑定,绝对管用的让apache支持中文域名 ...

  3. 怎么监控apache运行状态和页面统计

    通过使用mod_status的模块来监控Apache web server的负载. 1. mod_status是什么? mod_status是一个apache模块,它帮助监控web server负载和 ...

  4. zabbix监控Apache

    zabbix 3.4.4监控apache   一.Apache开启状态页面 [root@oneapm-test scripts]# httpd -v Server version: Apache/2. ...

  5. Zabbix 3.4.11监控 apache服务,ftp服务的配置

    一 zabbix 的安装部署 略 二监控 apache服务的配置 首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/m aster. ...

  6. 应用LR监控Apache性能

    1)对Apache服务器中的http.conf进行如下配置修改Apache中Httpd.conf文件,添加如下代码(该文件中都有,只要取消注释就好了)<Location /server-stat ...

  7. 使用LoadRunner监控Apache的步骤 (转)

    一.Apache上的设置 打开<Apache Installation>/conf/httpd.conf,进行如下修改: 1.  设置允许查看Apache运行状态的主机 # # Allow ...

  8. 通过Centreon监控apache、MySQL、Hadoop服务状态

    在上面的章节中,只是简单介绍了Centreon的几个基础监控项,例如添加主机.服务等,这些对于一个监控系统来说是远远不够的,本节将重点介绍对一些扩展服务的监控,也就是对一些常见应用的监控. 一. Na ...

  9. Loadrunner监控Apache

    一.安装Apache yum -y install httpd 二.配置Apache 1.设置开机启动 chkconfig httpd on 2.开启Apache service httpd star ...

随机推荐

  1. Android 开发第三天

    今天学习的内容

  2. Java Interface and Abstraction

    本文引用资源申明: http://blog.csdn.net/xw13106209/article/details/6923556 http://www.cnblogs.com/dolphin0520 ...

  3. ASP.NET Mvc开发之EF延迟加载

    EF延迟加载:就是使用Lamabda表达式或者Linq 从 EF实体对象中查询数据时,EF并不是直接将数据查询出来,而是在用到具体数据的时候才会加载到内存. 一,实体对象的Where方法返回一个什么对 ...

  4. C#迭代语句

    1,do while语句 do语句重复执行语句或者语句块,直到指定的表达式为false为止.循环体如果为单个语句,可以不放在{}内,如果不是,那么必须放在{}内.如下面的代码 Codeint i=0; ...

  5. A Swift Tour(4) - Objects and Classes

    Objects and Classes(对象和类) 用 class 关键字后面跟一个类名来创建一个class,在一个类中声明 常亮或变量,他存在于当前类的上下文,函数的方法是同样的 var numbe ...

  6. Android 70道面试题汇总

    1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指 ...

  7. MyEclipse2014中项目名更改后如何使用新的项目名部署到Tomcat中去

    在项目中调试的时候突然发现我复制的项目(项目名修改过了)部署在Tomcat中运行的时候还是显示的是原来的项目名,以至于我使用新的项目名称作为URL请求竟然是404,我去,当时感觉就不怎么好了. 当然, ...

  8. windows 定时任务

    创建定时任务 创建定时任务,时间间隔为1min,开始时间为04:00:00,任务名称为backupSchedule,运行当前目录下的copyData.bat脚本 schtasks /create /s ...

  9. TPL(Task Parallel Library)多线程、并发功能

    The Task Parallel Library (TPL) is a set of public types and APIs in the System.Threading and System ...

  10. 学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))

    RBAC ->基于角色的权限控制 l  tb_user l  tb_role l  tb_userrole l  tb_menu(增.删.改.查) l  tb_rolemenu 1 说明 我们给 ...