2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > zabbix监控服务器性能 使用zabbix监控apache性能

zabbix监控服务器性能 使用zabbix监控apache性能

时间:2020-01-13 17:32:10

相关推荐

zabbix监控服务器性能 使用zabbix监控apache性能

文章目录

[隐藏]

原理

开启apache status

创建zabbix模板

原理

监控原理跟之前写的监控nginx差不多,都是利用web服务器自身提供的状态信息页获取运行状态信息。apache的监控状态信息如下:

Total Accesses: 252523 Total kBytes: 2154830 CPULoad: 2.7 Uptime: 16624 ReqPerSec: 15.1903 BytesPerSec: 132733 BytesPerReq: 8738 BusyWorkers: 1 IdleWorkers: 9 Scoreboard:

我们一般只需要这四个数据:ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers

开启apache status

创建状态页配置文件/etc/httpd/conf.d/status.conf

Listen 89 CustomLog /dev/null common ErrorLog /dev/null SetHandler server-status Require ip 192.168.7.227

CustomLog 和 ErrorLog在这里的作用是将日志写入/dev/null,即关闭咋apache状态页面日志记录。但是CustomLog和ErrorLog指令不能放到Location里,所以就新建一个VirtualHost。

访问http://192.168.7.227:89/server-status?auto即可得到上面的状态信息。我这里测试用的就是zabbix-server安装时自带的apache,所以限定可以访问的IP和apache服务器的IP是同一个。

创建zabbix模板

/etc/zabbix/zabbix_agentd.d/apache_status.sh

#!/bin/bash URL="http://192.168.7.227:89/server-status?auto" function ReqPerSec(){ /usr/bin/curl -s $URL |grep ReqPerSec|awk '{print $2}' } function BytesPerSec(){ /usr/bin/curl -s $URL |grep BytesPerSec|awk '{print $2}' } function BusyWorkers(){ /usr/bin/curl -s $URL |grep BusyWorkers|awk '{print $2}' } function IdleWorkers(){ /usr/bin/curl -s $URL |grep IdleWorkers|awk '{print $2}' } function ping(){ /usr/sbin/pidof httpd|wc -l } #根据脚本参数执行对应函数 $1

/etc/zabbix/zabbix_agentd.d/apache_status.conf

Bash

UserParameter=apache.status[*],/etc/zabbix/zabbix_agentd.d/apache_status.sh $1

重启zabbix-agent后就可以创建apache监控模板了。

items配置都和nginx监控大同小异,特别看下这个带单位的:单位我这里写的Bps,Bytes每秒的意思,但在zabbix中,它会自动帮你换算成KBps:

并不是说zabbix很聪明知道你这个单位什么意思,它只是简单的除以1000然后加上一个大写“K”在前面而已,加入你的单位是”obe”,那么就显示成了Kobe,哈哈^_^

再添加3个Graphs,模板就算做完了:

最后附上版本文件,适用于zabbix-3.2.7-1:/dmli30/shell/blob/master/zabbix/apache_status_templates.xml

原文出处:muzifei -> /post/zabbix_monitor_apache.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。