zabbix官网:https://www.zabbix.com/documentation/4.0/zh/manual
1.zabbix介绍
-
Zabbix 是一个企业级分布式开源监控解决方案。
-
Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。
-
Zabbix 使用灵活的告警机制,用户可以快速响应服务器问题。
-
Zabbix 基于存储的数据提供出色的报表和数据可视化功能。
-
Zabbix 支持主动轮询(polling)和被动捕获(trapping)。
-
Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。
-
适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。
-
适用少量服务器的小型组织及拥有大量服务器的大企业。
2.zabbix通讯方式
-
agent:通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。
-
ssh/telnet:通过远程控制协议进行通讯,比如ssh或者telnet。
-
SNMP:通过SNMP协议与被监控对象进行通讯,SNMP协议即“简单网络管理协议",通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件往往都支持SNMP协议,SNMP是一种比较久远的、通行的协议,大部分网络设备都支持这种协议,其实SNMP协议的工作方式也可以理解为master/agent的工作方式,只不过是在这些设备中内置了SNMP的agent而已,所以,大部分网络设备都支持这种协议。
-
IPMl:通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态,电源状态等。
-
JMX:通过JMX进行监控,JMX(Java Management Extensions,即Java管理扩展),可用来监控VM虚拟机。
3.zabbix工作原理
zabbix包括采集数据(zabbix agent),存到数据库(zabbix database),做前端展示(可视化,zabbix web),可额外做报警系统。
一般情况下,我们将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database,如果管理员需要查看各种监控信息,则需要zabbix的GUl,zabbix的GUI是一种Web GUl,我们称之为zabbix web,zabbix web是使用php编写的,所以,如果想要使用zabbix web展示相关监控信息,需要依赖LAMP环境,不管是zabbix server,或是zabbix web,他们都需要连接到zabbix database获取相关数据.
当监控规模变得庞大时,zabbix如何实现监控?
zabbix支持分布式监控,我们可以把成干上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机zabbix proxy,在这个区域内,代理主机zabbix proxy的作用就好比zabbix server,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,如上图所示。
注:zabbix proxy 只是一个数据收集器,它不计算触发器、不处理事件、不发送报警。
名词解释:
- zabbix agent:部署在被监控主机上,负责采集被监控主机的数据,并将数据发送给zabbix server。
- zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
- zabbix database:用于存储所有zabbix的配置信息,监控数据的数据库。
- zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
工作模式:
- **主动模式:**agent端会将采集完的数据主动发送给server端,即对于agent端来说是主动的。
- 被动模式:agent端也可以不主动发送数据,而是等待server过来拉取数据。
不管是主动模式还是被动模式,都是对于agent端
来说的,而且,主动模式与被动模式可以同时存在,并不冲突
。管理员可以在agent端使用一个名为zabbix_sender的工具,测试是否能够向server端发送数据。管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据
4.zabbix数据库容量
历史数据、趋势数据最占数据库存储空间计算公式,数据库给多大?
-
Zabbix 配置文件数据需要固定数量的磁盘空间,且增长不大。
-
Zabbix 数据库大小主要取决于这些变量,这些变量决定了存储的历史数据量
-
每秒处理值的数量
这是 Zabbix server 每秒接收的新值的平均数。 例如,如果有3000个监控项用于监控,取值间隔为60秒,则这个值的数量计算为 3000/60 = 50 。 -
关于
历史数据
的管家设置
Zabbix 将接收到的值保存一段固定的时间,通常为几周或几个月。 每个新值都需要一定量的磁盘空间用于数据和索引。
所以,如果我们每秒收到 50 个值,且希望保留 30 天的历史数据,值的总数将大约在 (30243600) 50 = 129.600.000,即大约 130M 个值*。
根据所使用的数据库引擎,接收值的类型(浮点数、整数、字符串、日志文件等),单个值的磁盘空间可能在 40 字节到数百字节之间变化。 通常,数值类型的每个值大约为 90 个字节。
在上面的例子中,这意味着 130M 个值需要占用130M * 90 bytes = 10.9GB 磁盘空间
。
文本和日志类型的监控项值的大小是无法确定的,但可以以每个值大约 500 字节来计算
-
趋势数据
的管家设置
Zabbix 为表 trends 中的每个项目保留1小时的最大值 / 最小值 / 平均值 / 统计值。 该数据用于趋势图形和历史数据图形。 这一个小时的时间段是无法自定义。
Zabbix数据库,根据数据库类型,每个值总共需要大约90个字节。
假设我们希望将趋势数据保持5年。 3000 个监控项的值每年需要占用 300024365* 90 = 2.2GB 空间,或者5年需要占用 11GB 空间。
-
zabbix数据采集方式:https://www.cnblogs.com/hozon/p/10320094.html
zabbix部署参考
:https://blog.youkuaiyun.com/qiao_qing/article/details/112807512