当前位置: 首页 > news >正文

免费且开源的企业级监控解决方案:Zabbix

一、Zabbix 简介

Zabbix 是一款功能强大的企业级开源监控解决方案。它可以监控各种 IT 基础设施组件,包括网络设备、服务器、虚拟机、云服务、应用程序和数据库等。Zabbix 提供实时的监控、告警、报表和可视化功能,帮助用户及时发现和解决 IT 系统中的问题,保障系统的稳定性和可用性。

Zabbix 的主要特点包括:

  • 灵活的数据采集: 支持多种数据采集方式,包括 Zabbix Agent、SNMP、IPMI、JMX、HTTP 等。用户可以根据不同的监控对象选择合适的采集方式。
  • 强大的告警机制: 可以根据预设的阈值和条件触发告警,并通过邮件、短信、Webhook 等多种方式通知用户。告警可以进行升级、抑制和自定义。
  • 丰富的可视化: 提供各种图表、仪表盘和网络拓扑图,帮助用户直观地了解监控数据的变化趋势和系统状态。用户可以自定义仪表盘以满足不同的需求。
  • 可扩展性: 支持分布式监控,可以通过 Zabbix Proxy 扩展监控规模,适用于各种规模的 IT 环境。
  • 模板化管理: 提供丰富的监控模板,可以快速部署对常见服务的监控。用户也可以自定义模板以方便管理。
  • 安全可靠: 支持对 Zabbix 组件之间的通信进行加密,保障监控数据的安全性。同时提供高可用性方案,确保 Zabbix 系统的稳定运行。
  • 完全开源: Zabbix 是完全开源的,用户可以免费使用和修改。

二、在 Debian 下安装 Zabbix

以下是在 Debian 系统下安装 Zabbix Server、Zabbix Frontend 和 Zabbix Agent 的步骤,以使用 MySQL 数据库和 Nginx Web 服务器为例。请根据您的具体需求选择相应的组件和数据库。

1. 添加 Zabbix 官方仓库:

首先,您需要添加 Zabbix 官方的 APT 仓库。请根据您使用的 Debian 版本执行相应的命令。以 Debian 12 (Bookworm) 为例:

wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian12_all.deb
sudo apt update

注意: 请将 7.0debian12 替换为您实际使用的 Zabbix 版本和 Debian 版本。您可以在 Zabbix 下载页面 找到对应的仓库信息。

2. 安装 Zabbix Server、Frontend、Agent 和相关组件:

执行以下命令安装 Zabbix Server、Frontend、Agent、MySQL 数据库支持和 Nginx Web 服务器:

sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3. 创建数据库和用户:

登录 MySQL 服务器并创建 Zabbix 数据库和用户,并授予相应的权限。请将 password 替换为您设置的密码:

mysql -uroot -p

在 MySQL 命令行中执行:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
EXIT;

4. 导入初始数据库架构和数据:

导入 Zabbix 的初始数据库架构和数据。系统会提示您输入之前创建的 Zabbix 用户的密码:

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

导入完成后,禁用 log_bin_trust_function_creators 选项:

mysql -uroot -p
SET GLOBAL log_bin_trust_function_creators = 0;
EXIT;

5. 配置 Zabbix Server 连接数据库:

编辑 Zabbix Server 的配置文件 /etc/zabbix/zabbix_server.conf,找到以下参数并进行修改,将 DBPassword 设置为您在 MySQL 中为 Zabbix 用户设置的密码:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

6. 配置 Zabbix Frontend 的 PHP:

编辑 Nginx 的 Zabbix 配置文件 /etc/zabbix/nginx.conf,取消注释并设置 listenserver_name 指令。例如:

listen 8080;
server_name your_zabbix_domain_or_ip;

您可以根据您的网络环境修改监听端口和服务器名称。

7. 启动 Zabbix Server、Agent 和 Nginx:

启动 Zabbix Server、Agent 和 Nginx 服务,并设置开机自启:

sudo systemctl restart zabbix-server zabbix-agent nginx php$(php -v | awk '/PHP/ {print substr($2, 1, 3)}')-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php$(php -v | awk '/PHP/ {print substr($2, 1, 3)}')-fpm

注意: php$(php -v | awk '/PHP/ {print substr($2, 1, 3)}')-fpm 用于匹配您系统上安装的 PHP-FPM 版本。

8. 访问 Zabbix Web 界面:

在您的 Web 浏览器中访问您在 Nginx 配置文件中设置的 server_name 或服务器 IP 地址,加上您设置的监听端口(如果不是默认的 80 端口)。例如:http://your_zabbix_domain_or_ip:8080

您将看到 Zabbix 的安装向导。按照向导的指示完成前端的配置,包括设置管理员账号和密码等。默认的管理员账号是 Admin,密码是 zabbix

三、配置 Zabbix

成功安装 Zabbix 后,可以通过 Web 界面进行配置。以下是一些常见的配置任务:

  • 添加主机: 在 "Configuration" -> "Hosts" 中添加您要监控的服务器、网络设备等。需要指定主机名、可见名称、主机组、IP 地址或 DNS 名称以及使用的 Agent 接口等信息。
  • 添加监控项: 在 "Configuration" -> "Hosts" 中选择一个主机,然后点击 "Items" 创建监控项。监控项定义了您要收集的数据,例如 CPU 使用率、内存使用率、磁盘空间、网络接口流量等。您可以选择不同的监控项类型和配置参数。
  • 添加触发器: 在 "Configuration" -> "Hosts" 中选择一个主机,然后点击 "Triggers" 创建触发器。触发器定义了告警的条件。当监控项的值满足触发器的条件时,Zabbix 会生成告警。
  • 添加图形: 在 "Monitoring" -> "Hosts" 中选择一个主机,然后点击 "Graphs" 创建图形。图形可以将监控项的数据以图表的形式展示出来,方便您分析数据的变化趋势。
  • 创建仪表盘: 在 "Monitoring" -> "Dashboards" 中创建自定义仪表盘,将您关心的监控数据以各种小组件的形式展示在一个页面上。
  • 配置告警通知: 在 "Administration" -> "Media types" 中配置告警通知的方式,例如邮件、短信、Webhook 等。然后在 "Administration" -> "Users" 中为用户配置接收告警的媒介。最后,在 "Configuration" -> "Actions" 中创建告警动作,定义在哪些情况下发送告警通知给哪些用户。
  • 使用模板: Zabbix 提供了丰富的模板,可以快速部署对常见服务的监控。您可以在 "Configuration" -> "Templates" 中导入和链接模板到您的主机。

四、 Zabbix使用手册

Zabbix 使用手册,点链接可以访问官方使用手册,非常详细。

相关文章:

  • JEnv-for-Windows​管理JDK版本
  • 如何提升个人解决问题的能力?
  • 【论文精读】Reformer:高效Transformer如何突破长序列处理瓶颈?
  • 本地服务器 Odoo 安装指南,并实现公网访问
  • STM32提高篇: 蓝牙通讯
  • 服务器上部署Nginx的几种方式
  • 位运算知识
  • 第九篇:系统分析师第三遍——5、6章
  • 相机中各个坐标系的转换关系如像素坐标系到世界坐标系以及相机标定的目的
  • Java Arrays工具类解析(Java 8-17)
  • Python flask入门
  • Scanpy可视化技巧--UMAP图优化
  • 大模型Rag - 检索增强技术
  • Certimate本地化自动化 SSL/TLS 证书管理解决方案
  • Windows Server 2022 常见问题解答
  • 【Element Plus】解决移动设备使用 el-menu 和 el-sub-menu 时,子菜单需要点击两次才会隐藏的问题
  • 【期末复习-考试】软件质量测试与保考试题库(选择题+填空题)
  • KBEngine 源代码分析(一):pyscript 目录文件介绍
  • SQL技术终极指南:从内核原理到超大规模应用
  • 【学习准备】算法和开发知识大纲
  • 龙头券商哪家强:中信去年营收领跑,中金净利下滑
  • 漫游者秦龙,一生为经典画插图
  • 蚌埠一动物园用染色犬扮熊猫引争议,园方回应:被投诉已撤走
  • 龚正会见巴西里约热内卢州州长克劳迪奥·卡斯特罗
  • 工人日报评一些旅行社不收记者律师:“拒客黑名单”暴露心虚病
  • 大学2025丨浙大哲学院院长王俊:文科的价值不在于直接创造GDP