Zabbix预处理和数据开源节流

2023-09-17 12:03:56

一、简介

在监控环境中构建高频率的监控时,从设计选择的角度需要考虑如何减少性能影响,数据存储空间的保留时长等,Zabbix现成的功能解决能否解决这些问题,是值得探索的。

本文中讨论什么时候应该使用预处理,什么时候适合使用“不保存历史记录”选项,谈及这两种方法的优缺点。

二、数据节流及预处理

数据节流是高频监测的首选方法。使用数据节流,可以丢弃重复的值,并且也可以设置丢弃重复值的心跳间隔。对于离散值的监控项非常有用,例如:服务状态,网络端口状态等。

从Zabbix4.2版本开始所有的预处理都可以由Zabbix proxies来处理。这意味着我们可以在重复的值到达Zabbix Server之前丢弃它们。Zabbix Server采集监控指标数据的值入库将减少进而提高性能并节约了数据库的存储空间大小。

注意事项:监控项的值在到达 Zabbix Server之前被丢弃,此时触发器不会触发就是设置心跳检查的作用。由于 Zabbix Server根据接收到的历史数据计算趋势,所以可能缺少这些监控项的趋势信息。适用于数据节流的预处理规则,任何预处理都可以在代理上完成,任何预处理规则都可以进行数据转换。

三、不保留历史数据

数据节流在配置监控项时设置“不保存历史记录”的设置有点不同。如果通过Proxy来采集一个监控项并设置了“不保存历史记录”,历史数据并不总是被丢弃。原因如下:

  • 有些值可以填入主机资产中,如果特定监控项值被配置填充到主机资产字段里就会被转发到Zabbix Server,但不会被存入历史表中。

  • 如监控项没有被填入主机资产字段中的文本数据,例如:字符、日志及文本,在达到Zabbix Server之前会被丢弃,但数值类型的浮点数和整型,将被转发到Zabbix Server。是为从数值中推算出趋势信息。值得注意的是:数值类型的数据不会存入历史表中,只有趋势数据会保留。

注:从Zabbix 5.2开始实现了此功能。参考:ZBX-17548

 

四、趋势函数高频率监控

切记"不保存历史数据"的具体内容,从Zabbix 5.2开始,就提供了一些趋势函数!

可以通过历史函数例如trendavg,trendcount,trendmax,trendmin,trendsum来执行不同类型的趋势计算,对一段时间内的趋势数据进行统计并计算出最小(min)/最大(max)/平均(avg)趋势值。

如果只需要特定时间段(小时、天、周等)的指标趋势数据,就可以使用这些趋势函数并结合“不保存历史数据”选项,来丢弃不必要的数据,提高 Zabbix 服务器的性能!

使用趋势函数的方法有两种:

  • 如果采集并展示趋势数据,需要创建一个监控项来采集指标(例如:通过Agent类型的监控项net.if.in来采集网络入口流量)并创建一个单独的可计算类型监控项,对这个可计算型监控项使用趋势函数来计算一段时间内趋势数据的平均(avg)/最小(min)/最大(max)值。原始监控项可以选择“不保存历史数据”。

  • 如果需要对一段趋势数据定义触发器,而不需要收集趋势数据,那么可以不创建可计算监控项,直接在原始监控项中使用趋势函数来创建触发器。在实际环境中结合预处理方法丢弃或转换数据,并且选择不保存历史数据,在一定的程度上就可以降低对Zabbix的性能影响。基于分布式 Zabbix Proxies上可以实现大型、可伸缩、 Zabbix 架构方案。此架构经过优化且可以快速获取和处理数据。

博客可能不能及时回复问题,技术问题欢迎加入交流。

具有丰富的模板资源及模板开发能力、项目落地管理经验分享欢迎加入交流

微信号:king_songax

更多推荐

算法通关村-----图的基本算法

图的实现方式邻接矩阵定义邻接矩阵是一个二维数组,其中的元素表示图中节点之间的关系。通常,如果节点i与节点j之间有边(无向图)或者从节点i到节点j有边(有向图),则矩阵中的元素值为1或者表示边的权重值。如果没有边相连,则元素值为0或者一个特定的标记(通常表示无穷大)。优点适用于稠密图,即节点之间有很多边的情况,因为它不会

AI实战营第二期 第七节 《语义分割与MMSegmentation》——笔记8

文章目录摘要主要特性案例什么是语义分割应用:无人驾驶汽车应用:人像分割应用:智能遥感应用:医疗影像分析三种分割的区别语义分割的基本思路按颜色分割逐像素份分类全卷积网络FullyConvolutionalNetwork2015存在问题基于多层级特征的上采样UNet20115PSPNet2016DeepLab系列空洞卷积解

crAPI靶场学习记录

靶场搭建[靶场下载地址](我fork了一份)docker安装,笔者是用的wsl+docker.[lab0:**初始账户**]1.注册一个账户,邮箱为[API@qq.com],密码为Admin@1231.登陆后访问对应IP的8025端口,接收邮件获取车辆信息。[lab1:**访问其它用户车辆的详细信息**]登录后首先找到

PyTorch实战-实现神经网络图像分类基础Tensor最全操作详解(二)

前言PyTorch可以说是三大主流框架中最适合初学者学习的了,相较于其他主流框架,PyTorch的简单易用性使其成为初学者们的首选。这样我想要强调的一点是,框架可以类比为编程语言,仅为我们实现项目效果的工具,也就是我们造车使用的轮子,我们重点需要的是理解如何使用Torch去实现功能而不要过度在意轮子是要怎么做出来的,那

背包问题学习笔记-01背包

背景背包问题是动态规划问题中的一个大类,学习背包问题对于掌握动态规划十分重要。背包问题也很容易成为程序员算法面试中的一个槛,但其实背包问题已经被研究,讲解的比较成熟了,在这些丰富的讲解资料的基础之上,大家理解背包问题的难度也被大大减弱了。本篇笔记主要参考了AcWing上的题目列表以及讲解视频,原因有二:1)上面截图中相

神经网络:基本概念、模型与技术

神经网络:基本概念、模型与技术引言在近年来,人工智能领域取得了显著的进步,其中最引人注目的成就之一就是神经网络。神经网络是一种模拟人脑工作机制的算法,以其出色的学习和识别能力,对各个领域的实际问题产生了深远影响。在本篇博客中,我们将深入探讨神经网络的基本概念、模型和技术。神经网络的基本概念神经网络是一种模拟人脑神经元网

决策树(中):数据挖掘十大算法之一

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️🐴作者:秋无之地🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、留言💬、关注🤝,关注必回关上一篇文章已经跟大家介绍过

Flink——Flink检查点(checkpoint)、保存点(savepoint)的区别与联系

FlinkcheckpointCheckpoint是Flink实现容错机制最核心的功能,能够根据配置周期性地基于Stream中各个Operator的状态来生成Snapshot,从而将这些状态数据定期持久化存储下来,从而将这些状态数据定期持久化存储下来,当Flink程序一旦意外崩溃时,重新运行程序时可以有选择地从这些Sn

【校招VIP】前端专业课之七层模型

考点介绍OSI七层参考模型将通信协议中必要的功能分成了7层。通过这些分层,可以将比较复杂的网络协议更加简单化。将每个分层独立使用,即使系统中某些分层发生变化,也不会波及整个系统。前端专业课之七层模型-相关题目及解析内容可点击文章末尾链接查看!一、考点题目1.以下哪一项与传输层面向连接服务无关A.两端之间传输数据前存在协

【JAVA】String类

作者主页:paperjie_的博客本文作者:大家好,我是paperjie,感谢你阅读本文,欢迎一建三连哦。本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造,将javaSE基础知识一网打尽,希望可以帮到读者们哦。其他专栏:《JAVA》《算法详解》《C语言》等内

Spring 声明式事务机制

😀前言本篇是Spring声明式事务系列的第二篇介绍了Spring声明式事务机制🏠个人主页:尘觉主页🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉在csdn获奖荣誉:🏆csdn城市之星2名⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣⁣💓Java全栈群星计划

热文推荐