Zabbix监控Nginx
程序员文章站
2022-07-11 10:37:51
...
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中的参数配置监控项
配置完监控项可以继续配置图形监控
下面是根据个人理解画的原理图(若有误请见谅)
上一篇: springmvc(2)---入门示例
下一篇: SOCKET
推荐阅读
-
Nginx做网站缓存 nginx apache nginx php nginx rewrite
-
如何通过测试让 PHP / Nginx / MySQL / Memcached / Redis 挂掉?
-
nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
-
nginx pathinfo配置,适用于较高版本的nginx nginx pathinfo support nginx rewrite pathinfo nginx pathinfo 支
-
MaxCompute按量计费计算任务消费监控告警 mapreducesql
-
nginx的mongodb的gridfs模块安装 博客分类: nginxmongodbgridfs WebnginxGitMongoDB
-
windows下nginx调试时的技巧 博客分类: confwindowsnginx配置技巧 Windowsnginx配置技巧conf
-
nginx的mongodb的gridfs模块安装 博客分类: nginxmongodbgridfs WebnginxGitMongoDB
-
windows下nginx调试时的技巧 博客分类: confwindowsnginx配置技巧 Windowsnginx配置技巧conf
-
SpringCloud中的断路器(Hystrix)和断路器监控(Dashboard)