关于zabbix-server以及zabbix-agent2的安装这里不做说明了
anget2端配置
使用RPM包编译安装的nginx 编译安装时加上该选项 —with-http_stub_status_module
修改nginx的配置文件
[root@jumpserver ~]# vim /usr/local/nginx/conf/nginx.conf
server {
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.conf
UserParameter=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.sh
NGINX_PORT=80
NGINX_COMMAND=$1
nginx_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 in
active)
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应是绿色
下面开始配置模板文件
配置应用集
创建监控项
创建触发器
创建图形
在浏览器中打开多个网页测试即可