Linux服务器——搭建Zabbix

一、Zabbix简介

        Zabbix​​ 是一款开源的分布式监控解决方案,由 Alexei Vladishev 于 2001 年创立,专为实时监控 IT 基础设施(服务器、网络设备、应用程序等)的性能和状态而设计。其核心目标是通过自动化监控、告警和可视化,帮助运维团队快速定位问题并优化资源。

  •  主要功能
    • 多协议数据采集​

      • ​​Agent 监控​​:通过部署轻量级 Agent(支持 Linux/Windows)实时采集 CPU、内存、磁盘等指标。
      • 无 Agent 监控​​:支持 SNMP(网络设备)、JMX(Java应用)、IPMI(硬件传感器)、HTTP/API(自定义接口)等。
      • 日志监控​​:分析日志文件,匹配关键字触发告警(如错误日志检测)。
      • 自定义脚本​​:通过 UserParameter 扩展监控项,灵活适配业务需求。
    •  告警与通知​

      • 多级告警​​:支持触发器(Trigger)定义复杂阈值条件(如连续3次CPU超90%)。
      • ​​告警升级​​:可配置告警自动升级策略(如未及时处理则通知更高级别人员)。
      • 通知渠道​​:邮件、Slack、Telegram、短信(需集成第三方服务)、Webhook 等。
    • 自动化与扩展​

      • ​​​​​​​自动发现​​:扫描网络设备或云资源,动态添加监控对象。
      • API 驱动​​:提供 RESTful API,支持与 CI/CD、运维工具链集成。
      • 分布式监控​​:通过 Proxy 节点实现跨地域、大规模环境的分层监控。
  • 架构组成​

    • ​​​​​​​Zabbix Server​​:核心组件,负责数据处理、告警计算和存储。
    • Zabbix Agent​​:部署在被监控主机上,采集本地数据。
    • ​​Zabbix Proxy​​:可选组件,用于分布式环境中缓存和转发数据。
    • ​​Web 前端​​:基于 PHP 的交互界面,提供配置、监控和报告功能。
    • 数据库​​:支持 MySQL/MariaDB、PostgreSQL、Oracle 等,存储配置和历史数据。

二、安装步骤

1.安装必要组件;

  • 更新dnf系统工具(安装完毕后如果没有生效可以reboot执行虚拟机重启)
    sudo dnf update -y

        备注: 之前使用yum安装了之后可能会缺少文件的现象,所以现在我们是有dnf,用法是一致的;

  • 安装系统的必要工具
    sudo dnf install -y vim wget curl net-tools
  • 安装EPEL仓库(Zabbix有一些依赖包还需要从EPEL仓库中下载)
    sudo dnf install -y epel-release
  • 添加Zabbix官方仓库(用于后面下载Zabbix组件)
    sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$(rpm -E %rhel)/x86_64/zabbix-release-6.0-4.el$(rpm -E %rhel).noarch.rpm
  • 安装Zabbix组件
    sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y

         备注:如果在安装组件的过程中出现一下问题的话需要执行下面的解决办法;

[root@localhost ~]# sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y
上次元数据过期检查:0:00:10 前,执行于 2025年04月10日 星期四 14时18分43秒。
错误:
 问题: package zabbix-web-deps-6.0.39-release1.el9.noarch from zabbix requires zabbix-web = 6.0.39-release1.el9, but none of the providers can be installed
  - cannot install both zabbix-web-6.0.39-release1.el9.noarch from zabbix and zabbix-web-1:6.0.36-1.el9.noarch from epel
  - package zabbix-nginx-conf-6.0.39-release1.el9.noarch from zabbix requires zabbix-web-deps = 6.0.39-release1.el9, but none of the providers can be installed
  - package zabbix-web-mysql-1:6.0.36-1.el9.noarch from epel requires zabbix-web = 1:6.0.36-1.el9, but none of the providers can be installed
  - 无法为该任务安装最佳候选
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)

        解决办法:

1.修改EPEL仓库的配置文件
sudo vi /etc/yum.repos.d/epel.repo
2.添加规则,过滤从EPEL仓库去寻找zabbi一切相关的安装包
在 [epel] 部分添加排除规则:excludepkgs=zabbix* 
  •  安装数据库并配置(以MariaDB数据库为例)
sudo dnf install -y mariadb-server
sudo systemctl enable --now mariadb	# 设置启动数据库
  • 配置数据库

# 安全初始化数据库
sudo mysql_secure_installation
# 按照提示设置root密码
sudo mysql_secure_installation
# 创建Zabbix数据库和用户
mysql -u root -p # 进入数据库
> CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Abc@123!';
> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;
  • 导入初始数据(输入刚刚数据库设置的用户为zabbix的密码Abc@123!)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix

2.配置Zabbix Server

  • 编辑配置文件(进入配置文件/etc/zabbix/zabbix_server.conf后可以通过/号来进行字段搜索进行修改)
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Abc@123!
  • 启动Zabbix服务
sudo systemctl enable --now zabbix-server zabbix-agent

3.配置前端Web界面(Nginx + PHP)

  • 安装PHP和Nginx
sudo dnf install -y nginx php-fpm php-mysqlnd php-gd php-xml php-bcmath php-mbstring
  • 配置PHP(进入/etc/php.ini配置文件,可以按照自己的需求设置)
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai 
  • 配置启动Nginx
sudo mv /etc/nginx/conf.d/zabbix.conf.example /etc/nginx/conf.d/zabbix.conf
sudo systemctl enable --now nginx php-fpm

   通过以上操作,我们可以通过ip访问到我们的Zabbix的Web界面了,下面开始Web之旅!

4.Web界面 

 好了,经过我们傻瓜式的下一步点点点就可以得到下面这个界面了,这样我们就搭建成功了!撒花!!(账号默认Admin,密码默认zabbix)

 验证安装!

        祝各位轻舟已过万重山,这才是刚刚开始!!

 三、被监控主机加入

1.服务器主机

  • 使用web端(图片步骤!)

2.被控主机 

  • 被控主机命令行;
    • 安装Zabbix Agent

      sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$(rpm -E %rhel)/x86_64/zabbix-release-6.0-4.el$(rpm -E %rhel).noarch.rpm
      sudo dnf install -y zabbix-agent
    • 配置Agent
      sudo vim /etc/zabbix/zabbix_agentd.conf
      
      # 修改以下参数:
      
      Server=zabbix-server-ip       # 被动模式:允许Zabbix Server连接
      ServerActive=zabbix-server-ip # 主动模式:Agent主动上报
      Hostname=Web-Server-01        # 必须与Zabbix Web中设置的Host name完全一致
    • 启动服务并放行防火墙(如果是测试学习捡起防火墙直接关闭)
      sudo systemctl enable --now zabbix-agent
      sudo firewall-cmd --permanent --add-port=10050/tcp
      sudo firewall-cmd --reload

3.成功 

        下面我们就可以看到我们创建的监控主机的状态成绿色的了,这样说明我们监控成功了!

        

结尾:

        以上只是简单的搭建,学习的可以看看,大佬就别看了,对你们是0帮助!笔记只为了后面自己更好的使用!

内容概要:本文详细介绍了Zabbix监控系统的安装部署过程,涵盖从监控目的、资源类别、自动化监控系统概述,到具体的Zabbix环境搭建、配置步骤。文章详细讲解了Zabbix的安装环境要求、组件介绍、服务安装部署、客户端配置、自定义监控项设置、报警机制(邮件和微信告警)、自动发现功能、主动监控配置、低级别自动发现、拓扑图绘制、Nginx状态监控、分布式监控配置、以及与Grafana的集成等。此外,还涉及了Zabbix在不同操作系统(如Ubuntu、CentOS、Debian、Windows)上的安装方法,以及IPMI的介绍和命令使用。 适合人群:具备一定Linux系统管理和网络基础知识,负责服务器监控、运维工作的技术人员,特别是对Zabbix监控系统感兴趣的初学者和有一定经验的运维工程师。 使用场景及目标:①帮助用户快速搭建一套完整的Zabbix监控环境,实现对企业IT基础设施的有效监控;②通过详细的配置指南,让用户能够灵活定制监控项、报警机制和可视化展示;③掌握分布式监控架构的设计思路,提高大规模环境下的监控效率;④了解如何集成第三方工具(如Grafana),增强监控系统的功能性和易用性。 其他说明:本文不仅提供了详尽的技术操作步骤,还穿插了一些实用技巧和注意事项,确保用户在实际部署过程中少走弯路。同时,文中提到的部分命令和配置文件路径可能因版本差异而有所不同,请根据实际情况进行适当调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值