Zabbix监控解决方案详解
一、监控服务概述
1.1 监控目的
(1)实时查看服务或者服务器的状态 7*24小时。
(2)可以发送报警信息(邮件报警、微信报警、钉钉报警、短信告警、电话告警等)
(3)可以进行数据分析(发现潜在的风险、对业务部门给出数据建议)
1.2 监控维度
硬件监控:服务器、路由器、交换机、防火墙等
系统监控:CPU、内存、磁盘、网络、进程、TCP连接状态信息、流量等
服务监控:nginx、php、tomcat、redis、memcache、mysql、oracle等
网站监控:响应时间、加载时间、请求时间
日志监控:及早发现日志中异常问题
安全监控:Firewalld
网络监控:站长工具
业务监控:类似于b2c网站推出活动页面
二、Zabbix监控介绍
2.1 了解zabbix是什么
zabbix是一个基于WEB界面的提供zabbix proxy分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由两部分构成,zabbix server与组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
2.2 zabbix组件说明
(1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
(2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
(3)web interface:zabbix的GUI接口;通常与 Server 运⾏在同⼀台主机上;
(4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
(5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;
三、监控流程
3.1 agentd
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。
agentd收集数据分为主动和被动两种模式:
(1)主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
(2)被动:server向agent请求获取监控项的数据,agent返回数据。
客户端守护进程:此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
3.2 zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
3.3 zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
3.4 zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
【注】当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
3.5 zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。思考一下为什么要用代理?代理是做什么的?
3.6 zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
四、Zabbix常用监控架构
在实际监控架构中,zabbix根据网络环境、监控规模等 分了三种架构: server-client 、master-node-client、server-proxy-client三种 。
4.1 server-client架构简介
Server-client也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
4.2 server-proxy-client架构
其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。该架构经常是和master-node-client架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控。
4.3 master-node-client架构
该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性。
作者:UStarGao
链接:https://www.starcto.com/monitor/139.html
来源:STARCTO
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
UCloud云平台推荐
随便看看
- 2023-08-18ubuntu修改hosts解析导致sudo命令卡住/hang住
- 2021-07-17开源EyouCms博客安装教程
- 2022-03-07percona-toolkit工具集使用教程(pt工具)
- 2021-03-04MySQL性能瓶颈分析-大事务/执行计划
- 2022-07-21Linux 磁盘性能指标之磁盘I/O观测与进程I/O观测