Zabbix
概述
Zabbix 由 Alexei Vladishev 创建,目前由 Zabbix SIA 主导开发和支持。
Zabbix 是一个企业级的开源分布式监控解决方案。
Zabbix 是一款监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康和完整性的软件。Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,以实现对服务器问题做出快速反应。Zabbix 基于存储的数据提供出色的报告和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。
Zabbix 支持轮询和 trapping。所有 Zabbix 报告和统计数据以及配置参数都可以通过基于 Web 的前端访问。基于 Web 的前端确保可以从任何位置评估您的网络状态和服务器的健康状况。如果配置得当,不管对于拥有少量服务器的小型组织还是拥有大量服务器的大公司来讲,Zabbix 都可以在监控 IT 基础设施方面发挥重要作用。
Zabbix 是免费的。Zabbix 是在 GPL 通用公共许可证第 2 版下编写和分发的。这意味着它的源代码是免费分发的,可供公众使用。
功能
Zabbix 是一个高度集成的网络监控解决方案,在一个软件包中提供了多种功能。
数据收集
§ 可用性和性能检查
§ 支持 SNMP(trapping 和 polling)、IPMI、JMX、VMware监控
§ 自定义检查
§ 以自定义间隔收集所需数据
§ 由 server/proxy 和 agents 执行
灵活的阈值定义
§ 可以定义非常灵活的问题阈值,称为触发器,从后端数据库引用值
高度可配置的告警
§ 可以针对升级计划、收件人、媒体类型自定义发送通知
§ 使用宏可以使通知变得有意义和有用
§ 自动化操作包括执行远程命令
实时图形
§ 采集到的监控项值可以使用内置的绘图功能立即绘图
网络监控功能
§ Zabbix 可以跟踪网站上的模拟鼠标点击路径并检查功能和响应时间
广泛的可视化选项
§ 创建自定义图形的能力,可以将多个监控项组合成一个聚合图形
§ 网络拓扑图
§ 在仪表盘中显示幻灯片
§ 报表
§ 受监控资源的高级(业务)视图
历史数据存储
§ 存储在数据库中的数据
§ 可配置的历史(保留趋势)
§ 内置管家程序
建议的配置
§ 将受监控的设备添加为主机
§ 一旦主机被数据库添加,就会开始进行数据采集
§ 将模板应用于受监控的设备
模板的使用
§ 在模板中分组检查
§ 模板可以继承其他模板
网络发现
§ 网络设备自动发现
§ agent 自动注册
§ 发现文件系统、网络接口和 SNMP OID
便捷的 web 界面
§ 基于web的PHP前端
§ 可从任何地方访问
§ 可以通过你的方式点击(到任何页面)
§ 审计日志
Zabbix API
§ Zabbix API 为 Zabbix 提供可编程接口,用于大规模操作、第 3 方软件集成和其他用途。
权限系统
§ 安全用户认证
§ 某些用户可以被限制仅访问某些视图
全功能且易于扩展的 agent
§ 部署在被监控目标上
§ Linux 和 Windows 操作系统都适用于
二进制守护进程
§ 用 C 编写,用于提高性能和减少内存占用
§ 轻量级、便携
为复杂环境做好准备
§ 使用 Zabbix proxy 轻松实现远程监控
结构体系
Zabbix 由几个主要的软件组件组成。他们的职责概述如下。
Server
Zabbix server 是 agents 向其报告可用性和完整性信息和统计信息的中心组件。server 是存储所有配置、统计和操作数据的中央存储库。
数据存储
Zabbix 收集的所有配置信息以及数据都存储在数据库中。
Web 界面
为了从任何地方和任何平台轻松访问,Zabbix 提供了基于 Web 的界面。该接口是 Zabbix server 的一部分,通常(但不一定)与 server 运行在同一台设备上。
Proxy
Zabbix proxy 可以代替 Zabbix server 收集性能和可用性数据。proxy 是 Zabbix 部署的可选部分;但是对于分散单个 Zabbix server 的负载非常有用。
Agent
Zabbix agent 部署在被监控目标上,以主动监控本地资源和应用程序,并将收集到的数据报告给 Zabbix server。从 Zabbix 4.4 开始,有两种类型的 agent 可用:Zabbix agent (轻量级,在许多平台上支持,用 C 编写)和 Zabbix agent 2 (非常灵活,易于使用插件扩展,用 Go 编写)。
数据流
此外,回顾一下 Zabbix 中的整体数据流也是很重要的。为了创建一个收集数据的监控项,必须首先创建一个主机。另一方面 Zabbix 必须首先拥有一个监控项来创建触发器。必须有触发器才能创建动作。因此,如果你想收到 服务器 X 上的 CPU 负载过高的警报,必须首先为 服务器 X 创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,然后是一个触发器,如果 CPU 过高则触发动作,然后通过通过动作操作向您发送电子邮件。这可能看起来像很多步骤,其实使用模板并不需要。而且,由于这种设计,可以自定义创建非常灵活的设置。
web界面
1. 安装中文语言包
zabbix命令行输入
dnf install -y langpacks-zh_CN
2. 在web界面设置中文
User settings-profile-language-Chinese(zh_CN)-update
3. 图形界面中文乱码
zabbix命令行输入
mv /usr/share/zabbix/assets/fonts/graphfont.ttf graphfont.ttf.bak
在window字体文件夹C:\Windows\Fonts中复制一个字体文件,修改名称为graphfont.ttf,
上传到/usr/share/zabbix/assets/fonts文件夹。