Centos 7 zabbix 实战应用
实际需求:公司已经有了100台服务器,现在需要使用zabbix全部监控起来。
先出个方案(规划)
常规监控:cpu,内存,磁盘,网卡 问题:怎样快速添加100台机器
方法1:使用克隆的方式
方法2:自动注册和自动发现
方法3:调用zabbix api接口 curl 、python
开发自己的运维平台兼容zabbix的通道
方法4:服务监控,url监控等特殊监控:自定义监控
具体的实施步骤
全网监控技术要点分析
考试目标:使用zabbix将期中架构所有集群监控
具体内容:
一、硬件、系统、网络监控
所有集群节点(所有虚拟机)都监控上
交换机,路由器监控(简单方法:换成端口对应服务器网卡流量监控;标准方法:监控交换机的网卡)
snmp监控
二、应用服务监控
监控备份服务器,简单方法是监控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,]'
在键值中添加
后面步骤可以参考监控端口的步骤