假设有一个监控系统存在100万个监控项,30万个触发器,nvps值为一万,意味着每秒需要处理1万个值,而每处理1个值都需要从100万个监控项中找到所对应的item状态信息。同样地,在计算触发器时也需要从大量触发器中查找目标。对于这一查找问题,Zabbix通过哈希表结构来解决,也就是,以itemid、hostid、triggerid等作为键,构建哈希表来组织这些需要频繁查找的数据。哈希表结构存在于配置缓存、历史缓存、历史索引缓存、值缓存valuecache和趋势缓存中,配置信息缓存中的哈希表主要是解决刚才说的频繁查找大规模元数据的问题。历史缓存和历史索引缓存中也使用了哈希表,当有大量的监控数据来不及处理时,可以先放到历史缓存的哈希表中,等待historysyncer进程处理。由于使用了哈希表,即使有大量监控项的数据进入缓存,historysyncer进程仍然可以以固定的时间复杂度来查找这些数据。如何在10分钟内塔建Zabbix Server HA集群?新疆zabbix好处
Zabbix对数据的处理能力集中体现在Zabbixserver端。总体上,Zabbixserver采用流水线式的多进程架构来处理监控数据,其中比较关键的有3类进程,每一类又可以启动多个进程。这3类进程分别是:trapper/poller进程,负责接收监控数据;预处理进程,负责对接收的监控数据进行预处理;historysyncer进程负责将监控数据写入数据库以及计算触发器表达式并生成event。这3类进程之间可以通过共享内存和Unix域套接字实现进程间通信。这里没有展开讲lld进程,是因为lld进程处理的是底层自动发现的数据,并不是严格意义上的监控值。新疆zabbix好处监控工具之Zabbix,搭建过程和使用心得。
两种消息格式均为文本格式,相较于使用二进制格式,文本格式使得agent端的接口设计更简单,从而为自定义agent开发提供了便利,可以吸纳更多的监控目标转向Zabbix。在tcp连接的管理方面,Zabbix的每个连接只处理一个请求,处理完就会关闭,无论在trapper进程还是poller进程中都是这样。每个tcp连接的建立和关闭都意味着一定的开销,但是这种模式也有优点,就是灵活性。每次连接只处理一个请求,意味着每个请求都可以在多个进程之间重新调度。从而可以更好地在众多进程之间实现动态均衡。退一步说,通过增加单个连接的数据量也能够降低频繁建立连接的成本。在扩展性方面,除了可以通过增加进程数量来增加数据吞吐量之外,Zabbix还支持多地址***,从而可以突破单套接字的吞吐量限制。
下面看一下元数据对数据处理效率的影响。元数据位于共享内存中,包含监控项、主机、触发器、接口等所有必要的信息,这些信息分别存储在很多个哈希表结构中。这些信息供几乎所有Zabbix进程使用,在Zabbixserver端,无论是数据接收阶段、预处理阶段、数据计算阶段都离不开对元数据的访问。此外,元数据还需要通过configurationsyncer进程进行定期数据同步,目的是将数据库中所作的修改同步到缓存中。当在同步过程中需要修改元数据,configurationsyncer进程会对面临一个较大的挑战,就是与其他进程的协调。考虑到大部分进程只是读取元数据,而不会进行写操作,Zabbix选择使用读写锁来协调所有进程对元数据的访问,从而允许多个进程同时读取元数据。太硬核!Zabbix、Prometheus等5种监控工具总结!
对于大部分监控项而言,随着时间流逝,监控数据会快速地脱离Zabbix server的使用范围,进入冷数据区。虽然冷数据脱离了Zabbix server的使用范围,但是Zabbix仍然不能对冷数据进行离线化,因为前端UI和网络API需要访问这些冷数据,这些访问一般***于少量监控项的读取。从Zabbix server的角度来说,对于任一特定监控项,数据的热区和冷区分界线是固定的,并且热区的数据量相对于冷数据要小得多。如果使用mysql来存储监控数据,由于索引的存在,数据的写入性能会随着存储规模的增加而降低,查询性能也是一样。因此,控制数据规模成为解决数据库访问性能的关键。如果将热数据和冷数据分开存储,并且在需要时让数据在两者之间进行流动,则对于Zabbix server而言,可以**降低数据规模。如果进一步考虑如何实现热数据表的**小化,就需要建立一种动态机制,每次修改触发器表达式后按照触发器的数据需求量在冷热数据之间进行双向调整。如何利用Git对Zabbix监控模板进行版本管理及备份?服务zabbix轻量级部署
Zabbix主要功能和优劣势有哪些?新疆zabbix好处
Zabbix 是一个企业级的、开源的、分布式的监控套件,被用来监控IT基础设施的可用性和性能。Zabbix可以监控网络和服务的监控状况,Zabbix 利用灵活的告警机制,允许用户对事件发送基于邮件、短信、微信和钉钉等告警方式,这样可以保证快速的对问题作出相应。Zabbix支持主动和被动两种方式.所有的Zabbix报告都可以通过配置参数在WEB前端进行访问。Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况。zabbix架构不仅支持小型组织,还支持大规模的公司的部署。Zabbix 是零成本的. 因为 Zabbix 编写和发布基于 GPL V2 协议. 意味着源代码是**发布的。新疆zabbix好处
上海观纵科技有限公司是以提供webfunny前端监控,webfunny前端埋点,全链路应用性能监控,Argus-IT运维监控为主的有限责任公司,观纵科技是我国传媒、广电技术的研究和标准制定的重要参与者和贡献者。公司主要提供一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;软件开发;人工智能基础软件开发;人工智能应用软件开发;数据处理服务;信息技术咨询服务;信息系统集成服务:信息系统运行维护服务;计算机系统服务;软件销售;计算机软硬件及辅助设备批发;计算机软硬件及辅助设备零售;电子产品销售;通信设备销售;通讯设备销售;咨询策划服务;市场调查(不含涉外调查);广告制作;广告发布;广告设计、代理;会议及展览服务;货物进出口。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动) 许可项目:建筑智能化系统设计;建设工程施工;网络文化经营;互联网信息服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动,具体经营项目以相关部门批准文件或许可证件为准)等领域内的业务,产品满意,服务可高,能够满足多方位人群或公司的需要。多年来,已经为我国传媒、广电行业生产、经济等的发展做出了重要贡献。