文章目录
zabbix监控nginx状态
1、nginx虚拟主机配置
server{
listen 80;
server_name www.stub.com;
location /stub_status {
stub_status on;
}
}
测试
2、编写监控项采集脚本
#!/bin/bash
#active 当前活动的客户端连接数,包括waiting连接数
#accepts 已接受的客户端连接数
#handled 已处理的连接总数
#requests 客户端请求的总数
#reading 正在读取请求头的当前连接数
#writing 将响应写回客户端的当前连接数
#waiting 等待请求空闲客户端的当前连接数
result="/usr/bin/curl -s 127.0.0.1/stub_status"
case $1 in
active)
$result |awk '/Active/ {print $NF}'
;;
accepts)
$result |awk 'NR==3 {print $1}'
;;
handled)
$result |awk 'NR==3 {print $2}'
;;
requests)
$result |awk 'NR==3 {print $3}'
;;
reading)
$result |awk '/Reading/ {print $2}'
;;
writing)
$result |awk '/Writing/ {print $4}'
;;
waiting)
$result |awk '/Waiting/ {print $6}'
;;
*)
echo "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac
3、配置文件定义监控项
#vim /etc/zabbix/zabbix_agentd.conf
#添加下面这行
UserParameter=nginx.status[*],/bin/bash /data/script/nginx_status.sh $1
#重启服务
systemctl restart zabbix-agent.service
4、zabbix_get 测试
5、创建模板
创建监控项
创建图形
6、应用模板,查看图形
zabbix监控tcp状态
详细步骤可参照监控nginx的操作,这里只记录不同的地方
1、配置
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=tcp.status[*],ss -antp | awk '{s[$$1]++};END{print s["'$1'"]}'
#重启服务
systemctl restart zabbix-agent.service