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

免费且开源的企业级监控解决方案: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 使用手册,点链接可以访问官方使用手册,非常详细。

http://www.xdnf.cn/news/1527.html

相关文章:

  • MySQL存储过程
  • 初识Redis · 持久化
  • 基于LangChain的RAG召回率增强技术实现:智能分块策略实现、多路召回与重排序实现、异构数据溯源与关联实现
  • Windows上使用Python 3.10结合Appium-实现APP自动化
  • 机器视觉的智能手机屏贴合应用
  • Java单例模式详解:实现线程安全的全局访问点
  • 小白自学python第一天
  • 天梯-这是字符串题
  • Android TV 输入框架(TIF)深度解析与实践指南
  • 2.第二章:政策法规与标准体系
  • 国内外文献免费下载网站
  • Python内置函数---bool()
  • 私有知识库 Coco AI 实战(二):摄入 MongoDB 数据
  • Docker Python 官方镜像使用说明(TAG说明)
  • Playwright自动化测试实战指南-中级部分
  • 聊聊SpringAI流式输出的底层实现?
  • gem5教程第四章 了解gem5统计和输出
  • Elasticsearch 集群节点下线方案
  • 新市场环境下新能源汽车电流传感技术发展前瞻
  • 开源项目实战学习之YOLO11:项目结构及功能分析(一)
  • Shell编程学习笔记1-Shell入门
  • 【漫话机器学习系列】219.支持向量机分类器(Support Vector Classifier)
  • Java并发编程之CompletableFuture原理与实践
  • Linux系统编程 day10 接着线程(中期头大,还要写论文)
  • 钧瓷产业原始创新的许昌共识:技术破壁·产业再造·生态重构(一)
  • C++入门基础知识110—【关于C++嵌套 if 语句】
  • 使用 LangChain 掌握检索增强生成 (RAG) 的终极指南:6、索引
  • Linux:41线程控制lesson29
  • Linux安全防护:全方位服务安全配置指南
  • gem5教程第六章 为ARM扩展gem5 这也是改进gem5的一个基础