关于zabbix-server以及zabbix-agent2的安装这里不做说明了
anget2端配置
使用RPM包编译安装的nginx 编译安装时加上该选项 —with-http_stub_status_module
修改nginx的配置文件
[root@jumpserver ~]# vim /usr/local/nginx/conf/nginx.confserver {listen 80;server_name localhost;location /nginx_status{stub_status on;access_log off;allow 127.0.0.1;deny all;}nginx -s reload 重新加载nginx
nginx状态解释
Active connections Nginx正处理的活动链接数个数;
重要 server Nginx启动到现在共处理了多少个连接。
accepts Nginx启动到现在共成功创建几次握手。
handled requests Nginx总共处理了几次请求。
Reading Nginx读取到客户端的 Header 信息数。
Writing Nginx返回给客户端的 Header 信息数。
Waiting Nginx已经处理完正在等候下一次请求指令的驻留链接,开启。 Keep-alive的情况下,Waiting这个值等于active-(reading + writing)。 请求丢失数=(握手数-连接数)可以看出,本次状态显示没有丢失请求。
修改agent2端的配置文件 监控nginx状态配置
[root@jumpserver ~]# cat /etc/zabbix/zabbix_agent2.d/nginx_monitor.confUserParameter=nginx_status[*],/bin/bash /etc/zabbix/zabbix_agent2.d/nginx_monitor.sh "$1"
获取nginx状态的shell脚本
[root@jumpserver zabbix_agent2.d]# pwd/etc/zabbix/zabbix_agent2.d[root@jumpserver zabbix_agent2.d]# cat nginx_monitor.shNGINX_PORT=80NGINX_COMMAND=$1nginx_active(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Active/ {print $NF}'}nginx_reading(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Reading/ {print $2}'}nginx_writing(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Writing/ {print $4}'}nginx_waiting(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk '/Waiting/ {print $6}'}nginx_accepts(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $1}'}nginx_handled(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $2}'}nginx_requests(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/nginx_status/" |awk 'NR==3 {print $3}'}case $NGINX_COMMAND inactive)nginx_active;;;reading)nginx_reading;;;writing)nginx_writing;;;waiting)nginx_waiting;;;accepts)nginx_accepts;;;handled)nginx_handled;;;requests)nginx_requests;;;*)echo $"USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"esac
给脚本添加执行权限
chmod +x nginx_monitor.sh 给文件提权systemctl restart zabbix-agent2 重启agent2服务
服务器端配置 server
思路:定义模板—->定义应用集—->定义监控项——>定义图形—->定义触发器——>添加主机或主机关联这个模板
Server端验证是否能获取agent2端的key值
[root@zabbix ~]# zabbix_get -s '192.168.10.26' -k nginx_status[active]1[root@zabbix ~]#
键值
nginx_status[active]nginx_status[reading]nginx_status[writing]nginx_status[waiting]nginx_status[accepts]nginx_status[handled]nginx_status[requests]
zabbix Web端添加主机模板
先把这个angent2主机添加进去 关联好模板文件 Template OS Linux by Zabbix agent
添加完主机以后 可用性zbx应是绿色
下面开始配置模板文件
配置应用集
创建监控项
创建触发器
创建图形
在浏览器中打开多个网页测试即可
