实际需求:公司已经有了100台服务器,如今须要使用zabbix所有监控起来。
先出个方案(规划)
常规监控:cpu,内存,磁盘,网卡 问题:怎样快速添加100台机器 html
方法1:使用克隆的方式 python
方法2:自动注册和自动发现 mysql
方法3:调用zabbix api接口 curl 、python nginx
开发本身的运维平台兼容zabbix的通道 web
方法4:服务监控,url监控等特殊监控:自定义监控 sql
具体的实施步骤
全网监控技术要点分析 vim
考试目标:使用zabbix将期中架构全部集群监控 api
具体内容: 服务器
1、硬件、系统、网络监控 网络
全部集群节点(全部虚拟机)都监控上
交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)
snmp监控
2、应用服务监控
监控备份服务器,简单方法是监控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地址来更精确的监控咱们的网站运行正常;
监控反向代理服务器,PPTP服务器等你在期中架构部署的服务。nginx,pptp ntp 端口udp 123
监控Nginx的7种链接状态。
在web下操做查看nginx状态信息
-
location /status {
查看Nginx的一些状态信息
-
stub_status on;
-
access_log off;
-
}
在zabbix-agent配置文件中添加key
-
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}'
用awk 取这7种状态
在zabbix-server web界面操做
建立模板
设置模板名
建立应用集
建立监控项
七个监控项挨个添加
建立监控项图形
建立聚合图形
聚合图形完成
端口,进程,url监控zabbix自带
监控web、url
建立一个网页
echo ok >>/usr/share/nginx/html/check.html
建立web场景
建立名称
建立步骤
更新设置
查看监控状况
端口监控
建立应用集
建立监控项
添加键值
点击更新
建立触发器
建立图形
查看图形
监控进程
-
zabbix_get -s 172.16.1.61 -p 10050 -k 'proc.num[httpd,]'
在键值中添加
后面步骤能够参考监控端口的步骤