如何在CentOS 7.4上安装Zabbix?

2025-06-04 22:10:51 109
魁首哥

在Linux系统监控领域,Zabbix以其强大的功能和灵活性,成为众多管理员的首选方案,对于运行CentOS 7.4服务器的用户而言,部署一套稳定可靠的Zabbix监控系统,是提升运维效率、保障业务连续性的重要一步,本文将详细指导您在CentOS 7.4上完成Zabbix Server的安装与基础配置。

环境准备与基础设定

在开始安装前,请确保您拥有一台运行CentOS 7.4操作系统的服务器(物理机或虚拟机均可),并具备root权限或sudo权限,建议系统资源至少满足:2核CPU、4GB内存、10GB以上可用磁盘空间,具体规模需根据监控目标数量调整。

  1. 更新系统: 良好的起点是更新现有软件包到最新版本,这将修复已知漏洞并确保系统兼容性,执行命令:

    sudo yum update -y
  2. 配置主机名与解析: 为服务器设置一个清晰的主机名(zabbix-server)并确保其在 /etc/hosts 文件中正确解析到本机IP地址,这对Zabbix组件间的通信至关重要。

    sudo hostnamectl set-hostname zabbix-server
    echo "192.168.1.100 zabbix-server" | sudo tee -a /etc/hosts  # 替换为您的实际IP
  3. 关闭防火墙或开放端口: Zabbix Server需要监听特定端口(如10051),您可以选择暂时禁用防火墙(仅限测试环境),或更安全地开放所需端口:

    sudo systemctl stop firewalld          # 临时停止防火墙(测试用)
    sudo systemctl disable firewalld       # 永久禁用防火墙(不推荐生产)

    生产环境建议: 使用 firewall-cmd 永久开放端口:

    sudo firewall-cmd --permanent --add-port=80/tcp      # Zabbix Web界面 (HTTP)
    sudo firewall-cmd --permanent --add-port=10050/tcp   # Zabbix Agent (被监控端)
    sudo firewall-cmd --permanent --add-port=10051/tcp   # Zabbix Server (接收Agent数据)
    sudo firewall-cmd --reload
  4. 调整SELinux: SELinux可能会干扰Zabbix运行,可以将其设置为宽容模式(Permissive)或根据需要配置策略:

    sudo setenforce 0                     # 临时设置为Permissive
    sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config # 永久设置

安装核心依赖:数据库与Web服务器

Zabbix Server需要数据库存储配置和监控数据,以及Web服务器提供用户界面。

  1. 安装MariaDB数据库: CentOS 7.4默认仓库提供MariaDB(MySQL的兼容分支)。

    sudo yum install -y mariadb-server mariadb
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
  2. 加固MariaDB安全: 运行初始安全脚本,设置root密码并移除匿名用户等不安全配置:

    sudo mysql_secure_installation

    按照提示操作,设置强密码并回答 'Y' 移除匿名用户、禁止root远程登录、移除测试数据库等。

  3. 创建Zabbix数据库与用户: 登录MySQL,为Zabbix创建专用数据库和用户:

    mysql -u root -p

    输入设置的root密码后,在MySQL提示符下执行:

    CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;
    CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere'; -- 替换为强密码
    GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
  4. 安装PHP与Web服务器: Zabbix Web前端依赖PHP和Web服务器(这里使用Apache)。

    sudo yum install -y httpd php php-mysql php-gd php-bcmath php-mbstring php-xml php-ldap php-net-socket

    安装后,需要调整PHP配置以满足Zabbix要求,编辑 /etc/php.ini

    sudo vi /etc/php.ini

    找到并修改以下参数(确保移除行首的注释):

    max_execution_time = 300
    max_input_time = 300
    memory_limit = 128M
    post_max_size = 16M
    upload_max_filesize = 2M
    date.timezone = Asia/Shanghai # 根据您的时区设置,Europe/London, America/New_York

    保存退出后,启动Apache并设置开机启动:

    sudo systemctl start httpd
    sudo systemctl enable httpd

安装Zabbix Server、前端与Agent

  1. 添加Zabbix仓库: CentOS基础仓库不包含Zabbix,需要添加Zabbix官方仓库。

    sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-3.el7.noarch.rpm
    # 注意:请访问 https://www.zabbix.com/download 确认适用于CentOS 7的最新稳定版仓库URL,替换上面的6.0版本号。
    sudo yum clean all
  2. 安装Zabbix组件: 一次性安装Server、前端和Agent(Server自身也需要Agent进行基础监控)。

    sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
  3. 导入初始数据库架构: 使用Zabbix提供的脚本将初始数据库结构导入到之前创建的 zabbixdb 中。

    zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbixuser -p zabbixdb

    系统会提示输入之前为 zabbixuser 设置的数据库密码。

  4. 配置Zabbix Server连接数据库: 编辑Server配置文件:

    sudo vi /etc/zabbix/zabbix_server.conf

    找到并修改以下关键参数:

    DBHost=localhost
    DBName=zabbixdb
    DBUser=zabbixuser
    DBPassword=YourStrongPasswordHere   # 替换为实际密码
    # (可选) 调整监听端口,保持10051默认通常即可
    # ListenPort=10051

    保存退出。

  5. 配置Zabbix Agent: 编辑Agent配置文件(主要用于监控Server本机):

    sudo vi /etc/zabbix/zabbix_agentd.conf

    确保以下参数设置正确:

    Server=127.0.0.1          # 允许本地Zabbix Server连接
    ServerActive=127.0.0.1     # Agent主动连接的目标Server(本机)
    Hostname=zabbix-server     # 必须与Server配置中识别的主机名一致(即之前设置的hostname)

    保存退出。

  6. 启动Zabbix服务并设置开机启动:

    sudo systemctl start zabbix-server zabbix-agent httpd
    sudo systemctl enable zabbix-server zabbix-agent httpd

完成Zabbix Web安装向导

所有服务启动后,通过浏览器访问您的服务器IP地址或域名,进入Zabbix Web安装向导:

http://your_server_ip_or_domain/zabbix/
  1. 欢迎页面: 检查所有先决条件是否满足(PHP参数、数据库连接等),如有问题(标红),需返回调整PHP配置或检查服务状态。
  2. 数据库配置:
    • Database type: MySQL
    • Database host: localhost
    • Database port: 3306 (默认)
    • Database name: zabbixdb
    • User: zabbixuser
    • Password: YourStrongPasswordHere
  3. Zabbix Server 详细信息:
    • Host: localhost0.0.1 (因为Server和Web在同一台机器)
    • Port: 10051 (默认)
    • Name: 给您的Zabbix实例起个名字(如 My Company Zabbix
  4. 安装前检查: 确认配置摘要信息无误。
  5. 下载配置文件: 向导会生成一个 zabbix.conf.php 文件供下载,将其上传到Web服务器的配置目录:
    sudo mv /tmp/zabbix.conf.php /etc/zabbix/web/
    # 确保权限正确
    sudo chown apache:apache /etc/zabbix/web/zabbix.conf.php
    sudo chmod 644 /etc/zabbix/web/zabbix.conf.php
  6. 完成安装: 点击完成,将跳转到Zabbix登录页面,默认管理员账号是 Admin (注意大写A),密码是 zabbix强烈建议首次登录后立即修改管理员密码!

基础配置与验证

登录Zabbix Web界面(http://your_server_ip_or_domain/zabbix/)后:

  1. 修改管理员密码: 导航到 Administration -> Users,选择用户 Admin,点击 Change password
  2. 检查主机状态: 导航到 Monitoring -> Hosts,您应该能看到 Zabbix server 主机(即本机)已被自动添加,并且状态应为 EnabledAvailable (绿色ZBX图标),这表示Server已成功接收到Agent的数据。
  3. 添加新主机: 尝试添加您网络中的另一台服务器(需在其上安装并配置Zabbix Agent,指向此Zabbix Server的IP)。

关键注意事项

  • 资源监控: Zabbix Server本身会消耗一定资源(CPU、内存、磁盘I/O),特别是随着监控项和历史的增长,务必监控Server本身的资源使用情况,并根据需要扩容。
  • 定期维护: 包括数据库清理(调整Housekeeper设置)、Zabbix版本升级、操作系统补丁更新等。
  • 安全性: 使用强密码、保持Zabbix和系统组件更新、限制Zabbix Web界面的访问IP范围、考虑使用HTTPS加密Web访问。
  • 备份: 极其重要! 定期备份Zabbix数据库(zabbixdb)和配置文件(/etc/zabbix),数据库备份是恢复监控数据的关键。

在CentOS 7.4上部署Zabbix Server是一项基础但关键的工作,遵循这些步骤,结合对自身环境的理解进行适当调整,您就能建立起一个功能强大的监控中心,清晰的监控视图是运维工作的眼睛,它能帮助您更早发现问题、更快定位根源、更有效地保障业务稳定运行,投入时间配置好监控规则和告警策略,其回报将在未来的运维工作中持续体现。

分享
海报
109
上一篇:如何在CentOS系统中进行基本操作?下一篇:如何拦截外地骚扰电话

忘记密码?

图形验证码