zabbix监控网站访问量

linux上zabbix监控网站,站点访问量(每秒,分,时,天)

zabbix-agent客户端操作

1:自定义监控项

   vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

以baidu当做站点名称举例

baidu网站站点web今日所有访问量:

       UserParameter=baidu.d,A=`date | awk '{print $3,$2,$6}' | sed 's# #/#g'`;cat /var/log/nginx/baidu/web.access.log   | grep "$A"  | wc -l

baidu站点web每小时的访问量:

       UserParameter=baidu.h,A=`date | awk '{print $3,$2,$6}' | sed 's# #/#g'`;B=`date | awk '{print $4}'  | awk -F":"  '{print $1}'`;cat /var/log/nginx/baidu/web.access.log   | grep "$A":"$B"   | wc -l

baidu站点web每分钟的访问量

       UserParameter=baidu.m,A=`date | awk '{print $3,$2,$6}' | sed 's# #/#g'`;B=`date | awk '{print $4}' | awk -F":"  '{print $1,$2}'  | sed 's# #:#g'`;cat /var/log/nginx/baidu/web.access.log   | grep "$A":"$B"   | wc -l

baidu站点web每秒访问量

       UserParameter=baidu.s,A=`date | awk '{print $3,$2,$6}' | sed 's# #/#g'`;B=`date | awk '{print $4}' | awk -F":"  '{print $1,$2,$3}'  | sed 's# #:#g'`;cat /var/log/nginx/baidu/web.access.log   | grep "$A":"$B"   | wc -l

说明:

  grep "$A":"$B"   | wc -l 也可以直接用  grep -c "$A":"$B" 

2:重启zabbix-agent

3:web端添加监控项(这个应该不用说了吧)

备注:在设置的时候遇到一个坑,我用的是HAproxy,但是HAproxy的日志是在rsyslog中配置的,rsyslog的日志生成的文件权限是600,导致zabbix在读取文件的时候提示没有权限,找了半天解决办法,最终在rsyslog.conf文件中添加

$FileOwner root
$FileGroup root
$FileCreateMode 0755
$DirCreateMode 0755
$Umask 0022

最终生成的文件是775了,zabbix就可以读取文件了

你可能感兴趣的:(zabbix监控网站访问量)