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就可以读取文件了
网友评论