对于大部分监控项而言,随着时间流逝,监控数据会快速地脱离Zabbix server的使用范围,进入冷数据区。虽然冷数据脱离了Zabbix server的使用范围,但是Zabbix仍然不能对冷数据进行离线化,因为前端UI和网络API需要访问这些冷数据,这些访问一般***于少量监控项的读取。从Zabbix server的角度来说,对于任一特定监控项,数据的热区和冷区分界线是固定的,并且热区的数据量相对于冷数据要小得多。如果使用mysql来存储监控数据,由于索引的存在,数据的写入性能会随着存储规模的增加而降低,查询性能也是一样。因此,控制数据规模成为解决数据库访问性能的关键。如果将热数据和冷数据分开存储,并且在需要时让数据在两者之间进行流动,则对于Zabbix server而言,可以**降低数据规模。如果进一步考虑如何实现热数据表的**小化,就需要建立一种动态机制,每次修改触发器表达式后按照触发器的数据需求量在冷热数据之间进行双向调整。zabbix元数据的访问与协调。企业级zabbix监控nginx的流程
假若当前有个新的监控要求:业主希望快速将一批主机的某个监控项关联到一张图上来(非grpfunc叠加),即以CPU、MEM、DISK等维度纵向对比这批主机的资源使用情况。很显然,当主机数超过一定量时手工创建会非常枯燥和繁琐,所幸Zabbix提供了API。我们通过分析Zabbix Docs中的图表接口,得知要提供的主机HostID、监控项键值ItemID,使用到的Zagbix Method主要有:User Host HostGroup Item Graph等5种方法。如上图,描述本次批量创建图表的主要脚本逻辑,即先获取Zabbix的身份验证令牌,然后查询主机或主机群获得其HOSTID,接着以HOSTID依次获取指定监控键值ID加入列表池,***一次性请求进行图表创建。哪里有zabbix需求Zabbix 与 Prometheus 到底该如何选择?
ValueCache以哈希表形式存储每个监控项的热数据,这些数据主要用于触发器表达式的计算,从而,监控项数量的增长基本不会影响触发器表达式计算所消耗的时间。趋势缓存中存储的是每个监控项**近自然小时内的累计趋势数据,这些数据的更新和写库均需要经历查找的过程,因为数据的更新和写库都是由***到来的监控数据驱动的,需要根据到来的监控数据查找对应的监控项数据。除了需要解决快速查找问题,Zabbix还需要解决快速排序问题,这一问题源于historysyncer进程处理监控数据时应该按照什么样的顺序进行处理,Zabbix是以监控项为单位对所有监控数据按照时间戳从小到大进行全局性的排序,所使用的排序方法就是堆排序,当需要选择目标时,只需要访问根节点即可。在使用堆排序的情形下,每次排序所消耗的时间与堆的规模直接相关。所以我们应该尽可能降低历史缓存中的监控项的数量,以加快数据处理速度。在压力较小的Zabbix系统中,历史缓存中的数据总是接近于0。上述哈希表结构的设计体现了监控数据的**性,正是由于**性,每次查找数据只需要访问单个目标。而堆排序的设计则体现了监控数据在时间维度的先后次序。
开放性:源代码全公开,任何用户都可以编译和发布自己的版本。同时,社区和互联网可以找到大量的模版。可扩展性:支持用户自定义监控项,只要能想得到的KPI,基本都能监控的到。数据采集:可用性和性能检测,自动发现,支持agent、SNMP、JMX、telnet等多种采集方式,支持主动和被动模式数据传输高可用:server对设备性能要求低,支持proxy分布式监控,分布式集中管理,开放式接口,扩展性强告警管理:支持多条件告警,支持多种告警方式,模板能力:支持多组模板,模板继承。告警设置:告警周期,告警级别,告警恢复通知、告警暂停,时段阈值、支持维护周期、支持单机停用历史数据:历史数据查询可配置,内置housekeeping数据清理机制安全审计:具备安全的用户审计日志,权限认证,用户可以限制允许维护的列表。无商业版本:平台本身没有商业版和社区版本的区分,ZABBIX只对商业服务收费(如培训、定制开发、部署服务等)。Zabbix 优缺点分别有哪些?
两种消息格式均为文本格式,相较于使用二进制格式,文本格式使得agent端的接口设计更简单,从而为自定义agent开发提供了便利,可以吸纳更多的监控目标转向Zabbix。在tcp连接的管理方面,Zabbix的每个连接只处理一个请求,处理完就会关闭,无论在trapper进程还是poller进程中都是这样。每个tcp连接的建立和关闭都意味着一定的开销,但是这种模式也有优点,就是灵活性。每次连接只处理一个请求,意味着每个请求都可以在多个进程之间重新调度。从而可以更好地在众多进程之间实现动态均衡。退一步说,通过增加单个连接的数据量也能够降低频繁建立连接的成本。在扩展性方面,除了可以通过增加进程数量来增加数据吞吐量之外,Zabbix还支持多地址***,从而可以突破单套接字的吞吐量限制。如何在10分钟内塔建Zabbix Server HA集群?哪里有zabbix需求
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。企业级zabbix监控nginx的流程
1、Zabbix_Server:zabbix_server作为**组件,用来获取agent存活情况和监控数据。所有的配置、统计、操作数据均通过server进行存取到database;2、Zabbix_Database:用户存储所有的zabbix的配置信息、监控数据的数据库;3、Zabbix_Web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,通常与zabbix_server运行在同一台主机上,也可以单独部署在**的服务器上;4、Zabbix_Proxy:通常用于分布式监控,代理zabbix_server收集部分被监控的数据并统一发送给server端;(通常大于500台主机需要使用)5、Zabbix_Agent:部署在被监控主机上,负责收集被监控主机的数据,并发送给servre端或者proxy端;ZabbixServer、Proxy、Agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。企业级zabbix监控nginx的流程
上海观纵科技有限公司位于上海市奉贤区望园南路1288弄80号1904、1909室,交通便利,环境优美,是一家服务型企业。公司致力于为客户提供安全、质量有保证的良好产品及服务,是一家有限责任公司企业。公司始终坚持客户需求优先的原则,致力于提供高质量的webfunny前端监控,webfunny前端埋点,全链路应用性能监控,Argus-IT运维监控。观纵科技将以真诚的服务、创新的理念、***的产品,为彼此赢得全新的未来!