CentOS 7 上通过 RPM 包安装 Zabbix 4.x

在 CentOS 7 上通过 RPM 包安装 Zabbix 4.x 可以按照以下步骤操作(以 Zabbix 4.0 为例,4.x 系列步骤类似):

前置准备

  1. 关闭 SELinux(临时关闭,永久关闭需修改配置文件):

    bash 复制代码
    setenforce 0

    永久关闭:编辑 /etc/selinux/config,将 SELINUX=enforcing 改为 SELINUX=disabled,重启生效。

  2. 安装依赖包:

    bash 复制代码
    yum install -y net-snmp net-snmp-devel curl curl-devel libevent libevent-devel mysql-devel

步骤 1:添加 Zabbix 4.x 官方 RPM 源

Zabbix 4.x 官方提供了针对 CentOS 7 的 RPM 源,直接下载安装即可:

bash 复制代码
# 安装 Zabbix 4.0 源(注意:4.x 最新版本为 4.4,可替换版本号)
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

# 清除 yum 缓存并更新
yum clean all

步骤 2:安装 Zabbix 组件

根据需求安装服务器、代理或前端组件(以 Zabbix Server + 前端 + 代理 为例):

bash 复制代码
# 安装 Zabbix Server(基于 MySQL 数据库,也可选择 PostgreSQL)
yum install -y zabbix-server-mysql

# 安装 Zabbix 代理(可选,用于监控其他主机)
yum install -y zabbix-proxy-mysql

# 安装 Zabbix 前端(Web 管理界面,依赖 Apache + PHP)
yum install -y zabbix-web-mysql zabbix-web

步骤 3:配置数据库(MySQL/MariaDB)

  1. 安装并启动 MySQL/MariaDB:

    bash 复制代码
    yum install -y mariadb-server
    systemctl start mariadb
    systemctl enable mariadb
  2. 初始化数据库并创建 Zabbix 库和用户:

    bash 复制代码
    # 登录 MySQL(初始无密码,直接回车)
    mysql -u root -p
    
    # 执行 SQL 命令(创建数据库、用户并授权)
    CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
    CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_password';  # 替换为自定义密码
    GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
    FLUSH PRIVILEGES;
    quit;
  3. 导入 Zabbix 初始数据库 :

    Zabbix Server 的 RPM 包中已包含初始 SQL 脚本,直接导入:

    bash 复制代码
    zcat /usr/share/doc/zabbix-server-mysql-4.0.*/create.sql.gz | mysql -u zabbix -p zabbix

    输入步骤 2 中设置的 zabbix 用户密码,完成导入。

步骤 4:配置 Zabbix Server

编辑 Zabbix Server 配置文件,填入数据库信息:

bash 复制代码
vim /etc/zabbix/zabbix_server.conf

修改以下参数(其他保持默认):

ini 复制代码
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_password  # 替换为步骤 3 中设置的密码

步骤 5:配置 Zabbix 前端(PHP)

Zabbix 前端依赖 PHP,需修改 PHP 时区配置:

bash 复制代码
vim /etc/httpd/conf.d/zabbix.conf

在 <IfModule mod_php5.c> 或 <IfModule mod_php7.c> 区块中添加时区:

ini 复制代码
php_value date.timezone Asia/Shanghai  # 改为实际时区

步骤 6:启动服务并设置开机自启

bash 复制代码
# 启动 Zabbix Server、代理、Apache
systemctl start zabbix-server zabbix-proxy httpd
systemctl enable zabbix-server zabbix-proxy httpd

# 启动 MySQL(若未启动)
systemctl restart mariadb

步骤 7:访问 Zabbix 前端

通过浏览器访问服务器 IP 或域名的 Zabbix 前端地址:

复制代码
http://服务器IP/zabbix

按照引导完成初始化(验证数据库连接、设置管理员密码等),默认登录账号:

  • 用户名:Admin
  • 密码:zabbix

注意事项

  1. 防火墙配置:若启用防火墙,需开放 80(HTTP)和 10051(Zabbix Server 端口):

    bash 复制代码
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=10051/tcp --permanent
    firewall-cmd --reload
  2. 版本选择 :若需安装 Zabbix 4.4,只需将步骤 1 中的源地址改为 https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm。

  3. 依赖问题 :若安装过程中提示依赖缺失,可通过 yum install --downloadonly --downloaddir=. 包名 下载 RPM 包,再用 rpm -ivh 包名.rpm 手动安装(需解决依赖顺序)。

完成以上步骤后,Zabbix 4.x 即可正常运行。

后续将需要监控的主机接入监控操作,参考zabbix如何监控其他主机?

相关推荐
wuminyu16 分钟前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
青衫客3617 分钟前
从网卡到 Socket:再探 Linux 网络协议栈与 iptables 数据包处理流程
linux·网络·网络协议
承渊政道22 分钟前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
sunoo-22924 分钟前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
雪落漂泊33 分钟前
Linux基础开发工具(一)软件包管理器与Vim编辑器篇
linux·运维·服务器
崽崽..34 分钟前
【Linux】网络编程的调试工具以及连接失败的具体排查方法
linux·网络
承渊政道35 分钟前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署
进击的荆棘1 小时前
Linux系统——库的原理与制作之ELF文件的形成与加载的过程(上)
linux·elf·动静态库
额额额对了1 小时前
Linux 内核定时器与 DHT11
linux·运维·服务器
别动我齐刘海10 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人