关于zabbix监控的高频问题?
1.监控(Zabbix、Prometheus)
1.1 简述Zabbix组件架构和工作原理?
1.1.1 zabbix组件
(1)Zabbix Server:负责接收agent发送报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行。
(2)Database Storage:专用于存储所有配置信息,以及有zabbix收集的数据。
(3)Web interface(frontend):zabbix的GUI接口,通常与server运行在同一台机器上。
(4)Proxy:可选组件,常用于分布式监控环境中,代理Server收集部分被监控数据,并统一发往Server端。
(5)Agent:部署在被监控主机上,负责收集本地数据并发往Server端或者Proxy端。
1.1.2 监控原理
zabbix agent安装在被监控的主机上,zabbix agent负责定期收集客户端本地各项数据,并发送至zabbix server端;zabbix server收到数据后,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell命令、reboot、restart、install等)。
zabbix监控部署在系统中,包含常见的五个程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender等。
- zabbix server:zabbix服务端守护进程,其中zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy的数据,最终都提交给zabbix server(说明:当然数据不都是主动提交给zabbix_server,也有的是server主动去取数据,主要看使用了什么模式进行工作)
- zabbix agent:客户端守护进程,负责收集客户端数据,例如:收集 CPU负载、内存、硬盘使用情况等
- zabbix proxy:zabbix分布式代理守护进程,功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。通常大于500台主机,需要进行分布式监控架构部署,转发数据时可以减小跨区域产生的网络延迟
- zabbix get:zabbix数据接收工具,单独使用的命令,主动获取数据,通常在server或者proxy端执行获取远程客户端信息的命令(常用于测试,排错)
- zabbix sender:zabbix数据发送工具,主动发送数据,用户发送数据给server或proxy端,通常用户耗时比较长的检查(常用于测试)
1.2 zabbix你都监控哪些参数?
我们用zabbix主要监控数据库,web,网络,中间件和一些其他应用,比如我们监控mysql,主要关注磁盘,内存,并发数,数据库的增删改查频率,主从状态等。
数据库性能方面,主要关注:
查询吞吐量
查询执行性能
连接情况
缓冲池使用情况