前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Z大牛 | 谈谈Zabbix的容量规划

Z大牛 | 谈谈Zabbix的容量规划

作者头像
Zabbix
发布2021-02-03 09:49:39
1.5K0
发布2021-02-03 09:49:39
举报
文章被收录于专栏:Zabbix中国官方

谈谈Zabbix的容量规划

Shawn Cai

作为开源的企业级监控平台,Zabbix有着先天的优势:

1、长期由官方提供免费的技术支持服务(亦可购买收费的高级服务)

2、完全开源(如有自主的技术力量,可扩展性非常强)

3、可实现全栈级监控(从底层硬件、网络、存储,到虚拟化层、操作系统、中间件,以及最上层的应用和API)

同样的,由于其是开源产品,同时Zabbix在中国的推广刚刚起步,实际部署中会遇到很多“坑”。

本文主要探讨Zabbix部署前的容量规划。

CPU

根据监控参数及选择的数据库引擎,Zabbix,特别是Zabbix数据库,可能需要大量的CPU资源

内存和磁盘

Zabbix主要是基于Linux系统的软件,因此不需要占用过多的内存和磁盘。刚开始使用Zabbix,建议128MB物理内存和256MB可用磁盘空间。

然而, 具体需要的内存大小和磁盘空间要根据主机数量和监控参数而定。如果你计划对监控的参数进行长期保存,你应该考虑至少在数据库中预留几个GB的空间,以用来保留历史数据。 每个Zabbix的守护进程需要与数据库服务器建立多个连接。分配给连接的内存数量,取决于数据库引擎的配置。

当然,你使用的内存越多,你的数据库和Zabbix工作得越快!

数据库容量

Zabbix配置数据需要保留固定的磁盘空间,而且这个空间不会随着Zabbix系统的扩容不会增长太多。

Zabbix数据库容量主要依赖于下列这些参数,这些参数也决定了存储历史数据所需要的空间:

每秒处理值的数量

(Number of processed values per second)

这个参数是指每秒种Zabbix server收到的新值数量的平均数。比如,如果我们有3000个监控项(item),监控周期是60s,经计算所得,每秒处理值的数量为3000/60 = 50.

这意味着每秒钟有50个新值写入Zabbix数据库。

历史数据的回收清理设置

(History-Housekeeper)

Zabbix会在一个固定周期内保存收到的值。正常情况下保留数周或者数月。每一个新收到的值会占用一定数量的磁盘空间以存放数据和索引。

所以,如果我们每秒钟收到50个值,且希望保留30天的历史数据,值的总数将大约在 (30*24*3600)* 50 = 129,600,000,即大约130M个值。

根据所使用的数据库引擎,以及收到值的类型【浮点(floats),整型(integers),字符串(strings),日志文件(log files)等】,单个值的磁盘使用量从40字节到数百个字节不等。一般而言,数值型(Numeric)的监控项占用大约90字节。 按之前的例子, 这意味着130M个值需要占用 130M * 90 bytes = 10.9GB 的磁盘空间。

文本(text)/日志(log)类型的监控项值的大小无法准确地预测,但你可以按每个值大约500字节来计算。

趋势数据的回收清理设置

(Trends-Housekeeper)

Zabbix为trends表中的每个监控项的值,保留一组数据:一个小时的最大值/最小值/平均值/数量。这些数据用于趋势图表和历史图表的展现。用户无法自定义这一小时的保留周期。

根据数据库的类型,Zabbix数据库需要为每组值总共占用约90字节的空间。 如果你需要保留趋势数据5年,那么3000个监控项值,每年需要 3000*24*365* 90 = 2.2GB 的空间 , 即5年需要 11GB 的空间。

事件数据的回收清理设置

(Events-Housekeeper)

每个Zabbix事件需要大约170字节的磁盘空间。很难估计Zabbix每天生成的事件数量。最糟糕的情况下,我们可能需要假设Zabbix每秒会生成一个事件。

这意味着,如果我们需要保留3年的事件,需要3*365*24*3600* 170 = 15GB的磁盘空间。

下面列出了用于计算Zabbix系统所需磁盘空间的计算公式:

范围所需磁盘空间的计算公式 (单位:字节)

Zabbix配置文件固定大小。一般10MB或更少。

历史(History)days*(items/refresh rate)*24*3600*bytes

items : 监控项数量

days : 保留历史数据的天数

refresh rate : 监控项平均轮询时间

bytes : 保留单个值所需要占用的字节数,依赖于数据库引擎,一般大约90字节。

趋势(Trends)days*(items/3600)*24*3600*bytes

items : 监控项数量

days : 保留趋势数据的天数

bytes : 保留单个趋势数据所需要占用的字节数,依赖于数据库引擎,一般大约90字节。

事件(Events)days*events*24*3600*bytes

events : 每秒事件数。最糟糕的情况下,每秒一(1)个事件。

days : 保留事件数据的天数

bytes : 保留单个事件所需要占用的字节数,依赖于数据库引擎,一般大约90字节。

根据现实环境中使用的MySQL后端数据库的统计,数值型(Numeric)监控项的值平均占用约90个字节,事件(Events)平均占用约170个字节。

因此,所需要的磁盘总空间按下列方法计算:

配置(Configuration) + 历史(History) + 趋势(Trends) + 事件(Events)

安装完Zabbix,磁盘空间不会立即被分配。数据库大小根据回收清理(housekeeper)设置,在某些时间点增长或停止增长。

根据上述公式,可计算出Zabbix需要使用的空间。同时,考虑到后续的扩容,建议预留至少20%的冗余量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Zabbix开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档