Zabbix 监控 Nginx
1.在被控机上安装zabbix-agent
#rpm -Uvh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.9-1.el6.x86_64.rpm
2.配置zabbix_agentd.conf中参数
zabbix_agentd.conf在/etc/zabbix文件下
修改conf文件一下参数:
Server=[zabbix server ip]
ServerActive=[zabbix server ip]
Hostname=[ Hostname of client system ]
3.在/etc/zabbix下创建xxx文件夹,并在文件夹中创建nginx_qps.sh和nginx_status.sh
nginx_qps.sh
HOST="127.0.0.1"
PORT="80端口"
# 检测nginx qps
function qps {
/usr/bin/curl "http://$HOST:$PORT/qps" 2>/dev/null | grep 'qps_qps' | awk '{print $NF}'
}
# 执行function
qps
nginx_status.sh
HOST="127.0.0.1"
PORT="80端口"
# 检测nginx进程是否存在
function ping {
/sbin/pidof nginx | wc -l
}
# 检测nginx性能
function active {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | grep 'Active' | awk '{print $NF}'
}
function reading {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | grep 'Reading' | awk '{print $2}'
}
function writing {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | grep 'Writing' | awk '{print $4}'
}
function waiting {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | grep 'Waiting' | awk '{print $6}'
}
function accepts {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | awk NR==3 | awk '{print $1}'
}
function handled {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | awk NR==3 | awk '{print $2}'
}
function requests {
/usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null | awk NR==3 | awk '{print $3}'
}
# 执行function
$1
4.在/etc/zabbix/zabbix_agentd.d文件下创建userparameter_nginx.conf文件
# nginx status
UserParameter=nginx.status[*],/etc/zabbix/xxx/nginx_status.sh $1
# for qps
UserParameter=nginx.qps,/etc/zabbix/xxx/nginx_qps.sh
5.在/usr/local/openresty/nginx/conf/conf.d下项目conf中配置
server{
location /status {
stub_status on;
allow 127.0.0.1;
access_log off;
}
# qps
location ~* ^/qps {
default_type text/html;
content_by_lua_file conf/lua/qps.lua;
}
}
6.可以测试是否成功
在控制端
zabbix-get -s 被控端ip-p 10050 -k "nginx.qps" //如果有数据说明成功
在被控端
zabbix-get -s 127.0.0.1 -p 10050 -k "nginx.qps"
7.配置zabbix Web端
创建主机
根据之前在nginx_status.sh中的参数配置监控项
配置完监控项可以继续配置图形监控