Zabbix 3.4 Server 在 CentOS 7 单节点部署:5大核心服务端口与配置详解
Zabbix 3.4 Server 在 CentOS 7 单节点部署5大核心服务端口与配置详解对于初次接触Zabbix监控系统的运维人员来说在CentOS 7环境下快速搭建一个稳定可用的监控平台是当务之急。本文将深入解析Zabbix 3.4 Server的单节点部署过程特别聚焦于五大核心服务端口及其配置细节帮助您构建一个生产环境可用的监控系统。1. 环境准备与依赖安装在开始部署Zabbix Server之前需要确保系统环境满足基本要求。CentOS 7作为稳定可靠的企业级Linux发行版是运行Zabbix的理想选择。以下是基础环境配置步骤# 关闭SELinux生产环境需根据安全策略调整 setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config # 配置防火墙开放必要端口 firewall-cmd --permanent --add-port80/tcp firewall-cmd --permanent --add-port10050/tcp firewall-cmd --permanent --add-port10051/tcp firewall-cmd --permanent --add-port3306/tcp firewall-cmd --reload # 安装EPEL仓库 yum install -y epel-releaseZabbix Server运行需要以下关键组件支持数据库服务MariaDB/MySQL用于存储监控数据Web服务器Apache或Nginx提供Web界面PHP环境运行Zabbix前端界面安装基础依赖包yum install -y httpd mariadb-server mariadb php php-mysql php-gd php-bcmath \ php-mbstring php-xml php-ldap php-net-socket php-fpm2. 数据库服务配置Zabbix对数据库配置有特定要求以下是MariaDB的优化配置建议# 启动MariaDB服务 systemctl enable mariadb --now # 安全初始化 mysql_secure_installation编辑/etc/my.cnf文件在[mysqld]段落下添加以下优化参数[mysqld] innodb_file_per_table1 innodb_log_file_size128M innodb_buffer_pool_size1G max_connections200 character-set-serverutf8 collation-serverutf8_bin创建Zabbix数据库和用户CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER zabbixlocalhost IDENTIFIED BY zabbix_password; GRANT ALL PRIVILEGES ON zabbix.* TO zabbixlocalhost; FLUSH PRIVILEGES;3. Zabbix Server安装与配置添加Zabbix官方仓库并安装服务端组件rpm -Uvh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent导入初始数据库结构zcat /usr/share/doc/zabbix-server-mysql-3.4.*/create.sql.gz | mysql -uzabbix -p zabbix关键配置文件/etc/zabbix/zabbix_server.conf的优化设置DBHostlocalhost DBNamezabbix DBUserzabbix DBPasswordzabbix_password LogFile/var/log/zabbix/zabbix_server.log LogFileSize50 DebugLevel3 PidFile/var/run/zabbix/zabbix_server.pid SocketDir/var/run/zabbix StartPollers20 StartPollersUnreachable10 StartTrappers15 StartPingers10 StartDiscoverers10 CacheSize256M HistoryCacheSize128M TrendCacheSize64M ValueCacheSize256M Timeout304. Web界面配置与PHP优化Zabbix Web界面需要特定的PHP配置编辑/etc/php.inimax_execution_time 300 memory_limit 256M post_max_size 32M upload_max_filesize 16M date.timezone Asia/ShanghaiApache虚拟主机配置示例/etc/httpd/conf.d/zabbix.confVirtualHost *:80 ServerName zabbix.example.com DocumentRoot /usr/share/zabbix Directory /usr/share/zabbix Options FollowSymLinks AllowOverride None Require all granted /Directory ErrorLog /var/log/httpd/zabbix_error.log CustomLog /var/log/httpd/zabbix_access.log combined /VirtualHost5. 核心服务端口与进程关系Zabbix系统涉及多个关键服务及其对应的网络端口理解这些端口的作用对运维和排错至关重要服务名称监听端口协议作用描述配置文件位置Zabbix Server10051TCP接收Agent数据和处理请求/etc/zabbix/zabbix_server.confZabbix Agent10050TCP提供主机监控数据/etc/zabbix/zabbix_agentd.confMariaDB3306TCP数据库服务/etc/my.cnfApache/Nginx80TCPWeb界面访问/etc/httpd/conf.d/zabbix.confPHP-FPM9000TCP处理PHP请求/etc/php-fpm.d/www.conf使用以下命令验证服务端口监听状态netstat -ntpl | grep -E zabbix|httpd|mysqld典型输出示例tcp6 0 0 :::10050 :::* LISTEN 1234/zabbix_agentd tcp6 0 0 :::10051 :::* LISTEN 1235/zabbix_server tcp6 0 0 :::80 :::* LISTEN 1236/httpd tcp6 0 0 :::3306 :::* LISTEN 1237/mysqld6. 服务启动与初始化按照正确顺序启动各组件服务systemctl enable mariadb httpd zabbix-server zabbix-agent --nowWeb界面初始化步骤访问http://server_ip/zabbix按照向导完成配置检查输入数据库连接信息设置管理员账号密码下载并导入Zabbix服务器配置文件完成安装并登录首次登录后建议立即进行的配置修改默认管理员密码配置邮件/SMS报警媒介添加被监控主机创建基础监控项和触发器7. 生产环境优化建议对于生产环境部署以下优化措施可显著提升Zabbix性能数据库优化-- 定期执行表优化 OPTIMIZE TABLE history, history_uint, trends, trends_uint; -- 配置分区表Zabbix 3.4支持 ALTER TABLE history PARTITION BY RANGE(clock) ( PARTITION p202301 VALUES LESS THAN (UNIX_TIMESTAMP(2023-02-01 00:00:00)) );Zabbix Server配置调整### /etc/zabbix/zabbix_server.conf StartPollers30 StartPollersUnreachable15 StartTrappers20 StartPingers15 HistoryCacheSize256M TrendCacheSize128M ValueCacheSize512M CacheUpdateFrequency60定期维护脚本示例#!/bin/bash # Zabbix数据库维护脚本 DB_USERzabbix DB_PASSzabbix_password DB_NAMEzabbix # 清理30天前的历史数据 mysql -u$DB_USER -p$DB_PASS $DB_NAME -e DELETE FROM history WHERE clock UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY)); DELETE FROM history_uint WHERE clock UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY)); OPTIMIZE TABLE history, history_uint; 8. 常见问题排查当Zabbix服务出现异常时可按以下步骤排查服务状态检查systemctl status zabbix-server journalctl -u zabbix-server -f日志分析重点/var/log/zabbix/zabbix_server.log/var/log/httpd/error_log/var/log/mariadb/mariadb.log数据库连接问题# 测试数据库连接 mysql -uzabbix -p zabbix -e SHOW STATUS LIKE Uptime;端口连通性测试telnet localhost 10051 nc -zv localhost 3306Web界面问题排查检查PHP错误日志/var/log/php-fpm/error.log验证PHP配置是否符合要求检查Apache/Nginx权限设置通过以上详细的部署指南和配置解析您应该能够在CentOS 7上成功搭建一个生产级可用的Zabbix监控系统。实际使用中建议根据监控规模和数据量进一步调整参数配置并建立定期维护机制确保系统长期稳定运行。