需求:公司有100台服务器,部署了zabbix后,须要使用zabbix将其所有监控mysql
规划:nginx
一、监控各类服务引用web
二、监控经常使用端口sql
三、监控网络带宽数据库
四、监控基础设置环境apache
五、自定义监控vim
全部集群节点(全部虚拟机)都监控上浏览器
交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)服务器
snmp监控网络
简单方法是监控rsync端口
方法1:监控873端口net.tcp.port[,873] 方法2:模拟推送拉取文件
浏览器操做
proc.num[<name>,<user>,<state>,<cmdline>]
name 进程名
user 进程用户
state 进程状态
cmdline 命令行参数
[root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[httpd]' 11 [root@m02 ~]# zabbix_get -s 172.16.1.62 -p 10050 -k 'proc.num[,apache]' 10
使用监控NFS进程来判断NFS服务器正常
方法1:端口(经过111的rpc端口获取nfs端口) net.tcp.port[,111] 方法2:showmount -e ip|wc -l
命令行测试
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'net.tcp.port[,111]' 0
web操做
监控是否有可挂载信息 showmount -e ip|wc -l
首先编辑配置文件
[root@cache01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_nfs.conf UserParameter=nfs,showmount -e ip|wc -l
zabbix服务端命令测试
[root@m01 ~]# zabbix_get -s 172.16.1.21 -p 10050 -k 'nfs' 0
而后在网页操做
方法1:端口(经过3306的mysql端口) net.tcp.port[,3306] 方法2:mysql远程登陆 方法3:使用zabbix agent自带的模板及key
简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板
监控端口(经过3306的mysql端口) net.tcp.port[,3306]
使用zabbix agent自带的模板及key
注意:mysql数据库若是设置了密码要在配置文件中指定密码才可以使用
监控端口(经过80的web端口) net.tcp.port[,80]
看网页状态码、返回内容(zabbix自带WEB检测)
vim /etc/nginx/nginx.conf …… location /status { stub_status on; access_log off; } ……
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf UserParameter=nginx_active,curl -s 127.0.0.1/status|awk '/Active/ {print $NF}' UserParameter=nginx_accepts,curl -s 127.0.0.1/status|awk 'NR==3 {print $1}' UserParameter=nginx_handled,curl -s 127.0.0.1/status|awk 'NR==3 {print $2}' UserParameter=nginx_requests,curl -s 127.0.0.1/status|awk 'NR==3 {print $3}' UserParameter=nginx_reading,curl -s 127.0.0.1/status|awk 'NR==4 {print $2}' UserParameter=nginx_writing,curl -s 127.0.0.1/status|awk 'NR==4 {print $4}' UserParameter=nginx_waiting,curl -s 127.0.0.1/status|awk 'NR==4 {print $6}'
1. 监控端口 netstat、ss、lsof ==》 wc -l
2. 监控进程 ps -ef|grep 进程|wc -l 试运行一下
3. 模拟客户端的使用方式监控服务端
web ==》 curl
mysql ==》 select insert
memcache ==》 set再get