简介:本文详细介绍Zabbix监控系统的部署流程,涵盖系统要求、安装配置、服务启动及验证等关键步骤,帮助运维人员快速构建高效监控环境。
Zabbix的硬件需求与监控规模直接相关。对于中小型环境(500台以内主机),建议配置4核CPU、8GB内存、100GB存储空间。当监控规模超过2000台时,需采用分布式架构,将Server与Proxy分离部署。存储方面,建议使用SSD硬盘保障数据库性能,历史数据保留周期设置为90天时,每百万条指标约占用3GB空间。
官方推荐使用CentOS 7/8或RHEL系列系统。以CentOS 8为例,需确认系统版本:
cat /etc/centos-release# 应显示:CentOS Linux release 8.x.xxxx
系统时间同步至关重要,建议配置NTP服务:
yum install chrony -ysystemctl enable --now chronydchronyc sources -v
Zabbix 6.0版本需要以下核心组件:
安装示例(CentOS 8):
# 安装基础工具yum install -y epel-release wget vim net-tools# 添加Zabbix官方仓库rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpmyum clean all && yum makecache# 安装数据库服务yum install -y mariadb-server mariadb-develsystemctl enable --now mariadbmysql_secure_installation # 执行安全配置
创建专用数据库用户和库:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword123!';GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';FLUSH PRIVILEGES;
导入初始架构(路径可能因版本不同):
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix# 输入密码后等待导入完成(约2-5分钟)
安装Zabbix Server和前端:
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts
配置数据库连接(编辑/etc/zabbix/zabbix_server.conf):
DBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=StrongPassword123!
关键参数调优(根据硬件调整):
StartPollers=10 # 默认5,每核可处理200-300个监控项CacheSize=64M # 默认8M,建议设置为内存的1/4HistoryCacheSize=32M # 历史数据缓存ValueCacheSize=128M # 值缓存
编辑Apache配置(/etc/httpd/conf.d/zabbix.conf):
php_value date.timezone Asia/Shanghaiphp_value memory_limit 128Mphp_value post_max_size 16Mphp_value upload_max_filesize 2Mphp_value max_execution_time 300php_value max_input_time 300
启动服务并验证:
systemctl enable --now zabbix-server httpdnetstat -tulnp | grep -E '80|10051'# 应显示80端口(Web)和10051端口(Zabbix Server)
在目标主机安装Agent:
yum install -y zabbix-agent
修改配置文件(/etc/zabbix/zabbix_agentd.conf):
Server=192.168.1.100 # Zabbix Server IPServerActive=192.168.1.100 # 主动检查模式Hostname=WebServer01 # 必须与Web界面添加的主机名一致
启动服务并设置开机自启:
systemctl enable --now zabbix-agent
StartAgents=3 # 默认3个预启动进程
RefreshActiveChecks=120 # 每2分钟刷新检查项
ListenIP=127.0.0.1,192.168.1.10 # 只监听特定IP
TLSConnect=pskTLSAccept=pskTLSPSKIdentity=PSK_IdentityTLSPSKFile=/etc/zabbix/zabbix_agentd.psk
http://服务器IP/zabbix
systemctl status mariadbtail -f /var/log/zabbix/zabbix_server.log
zabbix_agentd -t "agent.ping" # 测试Agent自检
top -c # 查看zabbix_server进程CPU占用vmstat 1 # 监控系统整体负载
-- 创建专用索引CREATE INDEX idx_history_itemid_clock ON history (itemid, clock);
# /etc/zabbix/zabbix_server.confHistoryStorageDateIndex=1 # 启用日期索引
采用双Server+共享存储方案:
[Zabbix Server 1] <--> [共享存储] <--> [Zabbix Server 2]| |[Zabbix Proxy集群] [备用Web前端]
在分支机构部署Zabbix Proxy:
# Proxy端配置yum install -y zabbix-proxy-mysql# 编辑/etc/zabbix/zabbix_proxy.confServer=192.168.1.100Hostname=Proxy_BeijingDBName=zabbix_proxy
使用Docker Compose快速部署:
version: '3'services:zabbix-server:image: zabbix/zabbix-server-mysql:latestenvironment:DB_SERVER_HOST: mysqlMYSQL_USER: zabbixMYSQL_PASSWORD: passwordports:- "10051:10051"mysql:image: mysql:8.0command: --default-authentication-plugin=mysql_native_passwordvolumes:- ./mysql_data:/var/lib/mysql
建议创建以下监控项组:
{Template App SSH Service:net.tcp.service[ssh].last()}=0
Expression: {Host:system.cpu.load[all,avg1].last()}>5Recovery mode: ExpressionRecovery expression: {Host:system.cpu.load[all,avg1].last()}<3
通过以上系统化的部署流程和优化策略,可构建出稳定高效的Zabbix监控平台。实际部署时建议先在测试环境验证配置,再逐步推广到生产环境。定期(建议每月)进行健康检查,包括数据库碎片整理、日志轮转、配置备份等维护工作。