监控备份服务器,简单方法是监控rsync端口,如果有其他更佳方案可以说明
方法1:监控873端口net.tcp.port[,873]
方法2:模拟推送拉取文件监控NFS服务器,使用监控NFS进程来判断NFS服务器正常,如果有其他更佳方案可以说明;
方法1:端口(通过111的rpc端口获取nfs端口) net.tcp.port[,111]
方法2:showmount -e ip|wc -l监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以说明;
方法1:端口(通过3306的mysql端口) net.tcp.port[,3306]
方法2:mysql远程登录
方法3:使用zabbix agent自带的模板及key监控2台web服务器,简单方法监控80端口,如果有其他更佳方案可以说明;
方法1:端口(通过80的web端口) net.tcp.port[,80]
方法2:看网页状态码、返回内容==zabbix 自带WEB检测监控URL地址来更精确的监控我们的网站运行正常;
使用zabbix自带的监控Web监测 进行监控监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。
监控Nginx的7种连接状态
自定义监控
当zabbix监控不能满足需求,需要自定义监控才能解决问题。
创建key
客户端创建/etc/zabbix/zabbix_agentd.d/tcp-status.sh脚本
#!/bin/bash
NUM=$(ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'|grep -w "$1"|awk '{print $2}')
echo $NUM
修改客户端/etc/zabbix/zabbix_agentd.conf ,最后一行加入
UserParameter=tcp.status[*],/etc/zabbix/zabbix_agentd.d/tcp-status.sh $1
重启agent服务
systemctl restart zabbix-agent
Server使用item
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[LISTEN]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[ESTAB]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[SYN-SENT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[SYN-RECV]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[FIN-WAIT-1]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[FIN-WAIT-2]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[TIME-WAIT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[UNCONN]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[CLOSE-WAIT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[LAST-ACK]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[CLOSING]"
Zabbix Web页面
创建一个模板
创建应用集
创建监控项
创建多个监控项
触发器-tcp连接数满了
Nginx七种状态
/etc/nginx/conf.d/status.conf
server {
listen 80;
server_name 127.0.0.1;
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
访问
[root@localhost ~]# curl 127.0.0.1/status
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
客户端创建/etc/zabbix/zabbix_agentd.d/nginx-status.sh脚本
#!/bin/bash
url="127.0.0.1/status"
case $1 in
"active")
curl -s $url|grep "Active"|awk '{print $3}'
;;
"reading")
curl -s $url|grep "Reading"|awk '{print $2}'
;;
"writing")
curl -s $url|grep "Writing"|awk '{print $4}'
;;
"waiting")
curl -s $url|grep "Waiting"|awk '{print $6}'
;;
"accepts")
curl -s $url|awk 'NR==3{print $1}'
;;
"handled")
curl -s $url|awk 'NR==3{print $2}'
;;
"requests")
curl -s $url|awk 'NR==3{print $3}'
;;
esac
Server使用item
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[LISTEN]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[ESTAB]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[SYN-SENT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[SYN-RECV]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[FIN-WAIT-1]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[FIN-WAIT-2]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[TIME-WAIT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[UNCONN]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[CLOSE-WAIT]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[LAST-ACK]"
zabbix_get -s 10.211.55.5 -p 10050 -k "tcp.status[CLOSING]"