Zabbix 介绍
什么是 Zabbix?
Zabbix 是一个开源的企业级监控解决方案。 它能够使用一种或多种方法来监控网络中设备发生的事件,并在超过定义的值时,通知相关负责人。
Zabbix 支持主流的 Linux 发行版本,如,Redhat,CentOS,Ubuntu,Debian等等。
Zabbix 的功能
数据收集: Zabbix 可用收集很多种性能与可用性数据的值。
自定义阈值: 灵活地自定义故障警告阈值,也叫做触发器。
可配置的警告: 支持多种报警方式,如邮件,短信等。还可以设置当警报发生后执行一些自动化的操作。
**实时的图形展示:**使用内置的图形展示功能,实时的展示监控项的实时情况。
**Web 站点的监控:**监控 web 站点的功能和响应情况。
可视化选项: 支持多种图形化的方式显示监控项的实时或历史情况。
历史数据存储: 所有的历史数据以及历史配置都将会被存储在数据库中
**丰富的模板:**Zabbix 内置了很多通用模板,供你直接使用。
**网络发现:**可以自动发现网络上面的设备。
Web 页面: 基于 PHP 的 Web 前端可以从任何地方进行访问,还可以通过审核日志来查看历史操作。
**与第三方软件集成:**Zabbix 可以与第三方软件集成,以及二次开发,从而达到更广泛的用途。
适应复杂的环境: 可以使用 Zabbix Proxy 轻松实现分布式远程监控。
Zabbix 的架构
Zabbix 由以下几个组件组成:
Zabbix Server: Zabbix 的核心组件,负责将收集到的数据存储到数据库中,并通过前端 Web 界面友好地展示给用户。Zabbix 有两种收集数据的模式:主动模式和被动模式
Zabbix Agent: 部署在监控目标中,负责主动地监控本地资源和应用程序,并将收集到的数据发送给 Zabbix Server。
Zabbix 数据库: 存储 Zabbix 的所有配置信息,以及采集到的数据信息。
Web 页面: 为用户提供一个友好的界面,方便用户查看和配置数据信息。
**Zabbix Proxy:**可选组件,可以替代 Zabbix Server 进行数据收集,减轻 Zabbix Server 的负载。
Zabbix 支持的操作系统
Zabbix 支持以下操作系统:
- Linux
- IBM AIX
- FreeBSD
- NetBSD
- OpenBSD
- HP-UX
- Mac OS X
- Solaris
- Windows:只支持 Zabbix Agent
支持的数据系统:
- MySQL/MariaDB
- Oracle
- PostgreSQL
- SQLite
* 对于 IBM DB2 数据库支持属于实验性的,所以不建议使用。
* 对于 SQLite 数据库只支持 Proxy 服务器
* 不建议在 Proxy 上使用 Oracle 数据库
Zabbix 的优缺点
优点:
- 开源,没有软件成本;
- 支持多种设备的监控;
- 可以与第三方集成,以及二次开发;
- 支持分布式环境;
- 通报阈值,设置报警,以及多种报警通知方式;
缺点:
- 当监控的机器过多时,数据库的写入会成为瓶颈,所以在大规模的环境,数据库需要单独部署。
- 对容器的监控不如 Prometheus