什么是zabbix?
Zabbix 由 Alexei Vladishev 创立,目前由其成立的公司—— Zabbix SIA 踊跃的继续开发更新保护, 并为用户提供技术支持服务。
Zabbix 是一个企业级分布式开源监控解决方案。
Zabbix 软件可能监控泛滥网络参数和服务器的衰弱度、完整性。Zabbix 应用灵便的告警机制,容许用户为简直任何事件配置基于邮件的告警。这样用户能够疾速响应服务器问题。Zabbix 基于存储的数据提供杰出的报表和数据可视化性能。这些性能使得 Zabbix 成为容量布局的现实抉择。 Zabbix 反对被动轮询(polling)和被动捕捉(trapping)。
Zabbix所有的报表、统计数据和配置参数都能够通过基于 Web 的前端页面进行拜访。基于 Web 的前端页面确保您能够在任何中央拜访您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 能够在监控 IT 基础设施方面施展重要作用。无论是对于有大量服务器的小型组织,还是领有大量服务器的大企业而言,同样实用。
Zabbix 是收费的。Zabbix 是依据 GPL 通用公共许可证的第二版编写和公布的。这意味着产品源代码是收费公布的,可供公共应用。
zabbix的性能
Zabbix 是一个高度成熟欠缺的网络监控解决方案,一个的软件包中蕴含了多种性能。
数据采集
- 可用性和性能查看;
- 反对 SNMP(包含被动轮询和被动捕捉)、IPMI、JMX、VMware 监控; 自定义查看;
- 依照自定义的工夫距离采集须要的数据;
- 通过 Server/Proxy 和 Agents 来执行数据采集。
灵便的阈值定义
- 您能够参考后端数据库定义非常灵活的告警阈值,即触发器
高度可配置化的告警
- 能够依据递增打算、接收者、媒介类型自定义发送告警告诉;
- 应用宏变量能够使告警告诉变得更加高效有用;
- 主动操作蕴含近程执行命令。
实时图形
- 应用内置图形性能能够将监控项实时绘制成图形。
Web 监控性能
- Zabbix能够追踪模仿鼠标在 Web 网站上的点击操作,来查看 Web 网站的性能和响应工夫。
丰盛的可视化选项
- 能够组合多个监控项到单个视图中,创立自定义图表;
- 网络拓扑图;
- 以仪表盘款式展现自定义聚合图形和幻灯片演示;
- 报表;
- 监控资源的更高层次展现视图(业务视图)。
历史数据存储
- 存储在数据库中的数据;
- 历史配置;
- 内置数据管理机制(housekeeping)。
配置简略
- 将被监控设施增加为主机;
- 主机一旦增加到数据库中,就会采集数据用于监控;
- 将模板用于监控设施。
应用模板
- 模板中分组查看;
- 模板能够关联模板,继承已关联模板的属性。
网络发现
- 主动发现网络设备;
- Zabbix Agent 发现设施后主动注册;
- 主动发现文件系统、网络接口和 SNMP OIDs 值。
快捷的 Web 界面
- 基于 PHP 的 Web 前端;
- 能够从任何中央拜访;
- 您能够定制本人的操作形式;
- 您能够通过审计日志来查看你的操作。
Zabbix API
- Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其余用处。
权限管理系统
- 平安的用户身份验证;
- 指定的用户只能查看指定的权限范畴内的视图。
功能强大且易于扩大的 Zabbix Agent
- 部署于被监控对象上;
- 反对 Linux 和 Windows ;
二进制守护过程
- 为了更好的性能和更少的内存占用,采纳 C 语言编写;
- 便于移植。
适应更简单的环境
- 应用 Zabbix Proxy 代理,能够轻松实现分布式近程监控。
zabbix的组件
Server
Zabbix server 是 Zabbix软件的外围组件,agent 向其报告可用性、零碎完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的外围存储库。
数据库
所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。zabbix反对的数据库有MySQL, PGSQL(postgreSQL)、Oracle、DB2、SQLite。
Web 界面
为了从任何中央和任何平台轻松拜访 Zabbix ,咱们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不肯定)和 Zabbix server 运行在同一台物理机器上。
Proxy
Zabbix proxy 能够代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选局部;然而proxy的部署能够很好的分担单个Zabbix server的负载。
Agent
Zabbix agents 部署在被监控指标上,用于被动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。
数据流
另外,为了创立一个采集数据的监控项,您就必须先创立主机。其次,在工作的另外一端,必须要有监控项能力创立触发器(trigger),必须要有触发器来创立动作(action)。
因而,如果您想要收到相似“X个server上CPU负载过高”这样的告警,您必须首先为 Server X 创立一个主机条目,其次创立一个用于监控其 CPU的监控项,最初创立一个触发器,用来触发 CPU负载过高这个动作,并将其发送到您的邮箱里。
尽管这些步骤看起来很繁琐,然而应用模板的话,实际操作非常简单。也正是因为这种设计,使得 Zabbix 的配置变得更加灵便易用。
zabbix优缺点
zabbix性能很弱小,如何了解zabbix的性能,咱们能够和cacti、nagios的性能比照一下:
cacti是一款数据采集,数据存储,外加web界面展现的工具,它负责阈值范畴内的实时变动,然而对超过阈值的告警性能很单薄
长处:实时监控数据变动,以web页面的形式出现,更直观。
毛病:告警不及时
nagios是一款告警性能很弱小的工具,它不关怀阈值范畴内的变动,只关怀状态变动(超过阈值),而后报警。报警形式通过邮件,短信等。
长处:告警反映迅速。
毛病:监控主机数量无限,承载低
zabbix = cacti + nagios
长处:基于两款工具长处于一身并更弱小,实现企业级分布式监控。
毛病:2.2版本带宽占用大然而降级到2.4版本后更节俭了带宽资源,其它再无发现。
zabbix监控流程
agentd须要装置到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web依据数据在前端进行展示和绘图。
这里agentd收集数据分为被动和被动两种模式:
被动:agent申请server获取被动的监控项列表,并被动将监控项内须要检测的数据提交给server/proxy
被动:server向agent申请获取监控项的数据,agent返回数据。
【被动监测】通信过程如下:
zabbix首先向ServerActive配置的IP申请获取active items,获取并提交active tiems数据值server或者proxy。很多人会提出疑难:zabbix多久获取一次active items?它会依据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。分两个局部:
获取ACTIVE ITEMS列表
- Agent关上TCP连贯(被动检测变成Agent关上)
- Agent申请items检测列表
- Server返回items列表
- Agent 解决响应
- 敞开TCP连贯
- Agent开始收集数据
被动检测提交数据过程如下:
- Agent建设TCP连贯
- Agent提交items列表收集的数据
- Server解决数据,并返回响应状态
- 敞开TCP连贯
【被动监测】通信过程如下:
- Server关上一个TCP连贯
- Server发送申请agent.pingn
- Agent接管到申请并且响应
- Server解决接管到的数据1
- 敞开TCP连贯
这里,被动模式每次都须要关上一个tcp连贯,这样当监控项越来越多时,就会呈现server端性能问题了。
那理论监控中是用被动的还是被动的呢?这里次要波及两个中央:
1、新建监控我的项目时,抉择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是被动模式。
2、agentd配置文件中StartAgents参数的设置,如果为0,示意禁止被动模式,否则开启。个别倡议不要设置为0,因为监控我的项目很多时,能够局部应用被动,局部应用被动模式。
zabbix罕用架构
server-agentd模式:
这个是最简略的架构了,罕用于监控主机比拟少的状况下。
server-proxy-agentd模式:
这个罕用于比拟多的机器,应用proxy进行分布式监控,无效的加重server端的压力。
之前珍藏的无关zabbix收费学习视频分享给大家,心愿能够帮到你
- - 【Linux系列】zabbix 入门篇
- - 【Linux系列】zabbix 模板篇
- - 【Linux系列】zabbix 高级篇
福利:豆花同学为大家精心整顿了一份对于linux和python的学习材料大合集!有须要的小伙伴们,关注豆花集体公众号:python头条!回复关键词“材料合集”即可收费支付!