Prometheus有自己的查询语言,称为PromQL(Prometheus查询语言)。PromQL非常灵活、简单且功能强大。它可以将函数和运算符应用于度量查询、过滤、按标签分组,并使用正则表达式来改进匹配和过滤。表达式的结果既可以显示为图形,也可以在Prometheus的表达式浏览器中以表格数据的形式显示,或者由外部系统通过HTT***I使用。Zabbix在查询方面没有那么灵活。它使用项目键来获取指标。当zabbix监控的体量上去后,数据量就会非常大,在web页面上总是查询很慢、甚至查询失败时。又或者,当其他用户向你提出一些查询需求,特别是在web页面很难做到的个性化查询时,那么就要编写查询sql了。本篇不是sql教程,而是分享如何快速获得查询zabbix数据的sql语句,并在其基础上改造成适合你的sql。
zabbix大流量数据的存储。北京zabbix创新
假设有一个监控系统存在100万个监控项,30万个触发器,nvps值为一万,意味着每秒需要处理1万个值,而每处理1个值都需要从100万个监控项中找到所对应的item状态信息。同样地,在计算触发器时也需要从大量触发器中查找目标。对于这一查找问题,Zabbix通过哈希表结构来解决,也就是,以itemid、hostid、triggerid等作为键,构建哈希表来组织这些需要频繁查找的数据。哈希表结构存在于配置缓存、历史缓存、历史索引缓存、值缓存valuecache和趋势缓存中,配置信息缓存中的哈希表主要是解决刚才说的频繁查找大规模元数据的问题。历史缓存和历史索引缓存中也使用了哈希表,当有大量的监控数据来不及处理时,可以先放到历史缓存的哈希表中,等待historysyncer进程处理。由于使用了哈希表,即使有大量监控项的数据进入缓存,historysyncer进程仍然可以以固定的时间复杂度来查找这些数据。新疆zabbix值得推荐集中化监控工具zabbix的安装配置。
除了监控数据本身,Zabbix中的元数据(或者叫主数据)也体现出性,元数据主要包含host、item、trigger等信息,其性主要体现在host层面,因为item属性与host属性是关联的,而trigger又是与item关联的。所以每个host元数据相互关联,构成整体。然而,某个host属性的修改不会影响到其他host。在Zabbix系统中所反映出的监控数据以及元数据之间的性,为并行和可扩展性提供了基础,可以说Zabbix监控系统非常适合基于数据分组的并行化和微服务化。
Q:老师,请教个问题,zabbix通过自动发现扫描网段,然后添加主机,有没有什么办法区分路由器或者交换机类型的方法,这样才能把交换机模板或者路由器模板挂给对应的主机
A:不多的话,批量加2次模板就行了
Q:后续上线网络设备后,如果我们组之间沟通不协调,监控会有一些误差或者遗漏,想减少人工去介入
A:可以找一下类型的oid。然后匹配交换机和路由器的字段套上对应的模板
Q:老师,没有网络设备类型通用的oid吧
A:主机名oid应该是通用的,华为和华三、cisco的mib比较通用A:cisco进入特权模式有条命令showsnmp-serveroidlist。可以看到设备的oid的列表。前面是描述,后面是对应的oid,华三和华为应该也是有对应的命令,具体可能需要问下客服
Q:好的,我去试试ciscoQ:那要想做全自动呢?
A:全自动的话,一般这边是通过型号的oid,提取到型号的关键字,cisco字眼的的就套cisco模板,华为就套华为的模板,华三的就套华三的模板
Q:嗯嗯,这种方法我们想过,只要拿到所有设备的型号,在自动发现的时候就可以通过型号区分是交换机还是路由器,感觉太复杂,想要更简单的做法。 成熟企业级开源监控解决方案Zabbix6.2关键功能实战。
既然进程之间是流水线式的协作,我们看一下监控数据在三类进程之间如何进行输入和输出。首先,Trapper和poller进程接收到的数据按照来源分为两种,一种是来自proxy端,一种是来自agent端。由于来自proxy端的数据已经由proxy完成了预处理,所以,这部分数据会直接输出到共享内存,供historysyncer进程使用。对于来自agent端的数据,无论其监控项是否设置了预处理步骤,都会通过unix域套接字传递给预处理进程。预处理进程接收到数据以后,如果发现该数据并没有设置预处理步骤,则直接写入共享内存,供historysyncer进程使用;如果发现需要预处理,则在预处理完毕以后再写入共享内存,供historysyncer进程使用。对于historysyncer进程来说,其输入数据来自共享内存,它会批量地从共享内存读取数据进行处理,具体处理过程是先写入数据库,然后计算触发器表达式生成event。zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。企业级zabbix怎样监控数据库
Zabbix前端的高可用性如何?北京zabbix创新
综合来看,Zabbix 的成熟度更高,上手更快,但更好的集成导致灵活性较差,问题更大是,监控数据的复杂度增加后,Zabbix 做进一步定制难度很高,即使做好了定制,也没法利用之前收集到的数据了(关系型数据库造成的问题)。目前很多zabbix监控的企业案例,要想再度升华zabbix可用性,基本都是找成熟的zabbix开发公司定制,比如乐维软件或者直接找zabbix官方购买定制服务。Prometheus 基本上是正相反,上手难度大一些,但由于定制灵活度高,数据也有更多的聚合可能,起步后的使用难度远小于 Zabbix。但如果已经对传统监控系统有技术积累的话,还是要谨慎考虑更换监控。北京zabbix创新
上海观纵科技有限公司一直专注于一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;软件开发;人工智能基础软件开发;人工智能应用软件开发;数据处理服务;信息技术咨询服务;信息系统集成服务:信息系统运行维护服务;计算机系统服务;软件销售;计算机软硬件及辅助设备批发;计算机软硬件及辅助设备零售;电子产品销售;通信设备销售;通讯设备销售;咨询策划服务;市场调查(不含涉外调查);广告制作;广告发布;广告设计、代理;会议及展览服务;货物进出口。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动) 许可项目:建筑智能化系统设计;建设工程施工;网络文化经营;互联网信息服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动,具体经营项目以相关部门批准文件或许可证件为准),是一家传媒、广电的企业,拥有自己**的技术体系。一批专业的技术团队,是实现企业战略目标的基础,是企业持续发展的动力。上海观纵科技有限公司主营业务涵盖webfunny前端监控,webfunny前端埋点,全链路应用性能监控,Argus-IT运维监控,坚持“质量保证、良好服务、顾客满意”的质量方针,赢得广大客户的支持和信赖。公司凭着雄厚的技术力量、饱满的工作态度、扎实的工作作风、良好的职业道德,树立了良好的webfunny前端监控,webfunny前端埋点,全链路应用性能监控,Argus-IT运维监控形象,赢得了社会各界的信任和认可。