当前位置: 首页 > news >正文

从零搭建企业监控:手把手教你用Zabbix 5.0 + MariaDB + Nginx部署监控系统

从零搭建企业监控:手把手教你用Zabbix 5.0 + MariaDB + Nginx部署监控系统

当你的业务系统从几台服务器扩展到数十台时,凌晨三点被电话叫醒处理故障的经历会让你深刻理解监控系统的重要性。Zabbix作为企业级开源监控解决方案,不仅能实时掌握系统健康状态,更能通过智能告警让你在用户发现问题前就采取行动。本文将带你完整部署Zabbix 5.0,并重点讲解如何让这套系统真正为业务服务。

1. 环境规划与准备

在开始安装前,我们需要明确几个关键决策点。首先是服务器规格:对于监控50个以下节点的场景,2核4GB的配置足够运行Zabbix Server、MariaDB和Nginx。如果预计监控对象超过100个,建议将数据库单独部署。

基础环境要求

  • CentOS 7.6+ 或 RHEL 7.x(本文以CentOS 7.9为例)
  • 至少10GB可用磁盘空间(历史数据会持续增长)
  • 开放10051(Server端口)和80/443(Web访问)防火墙规则

提示:生产环境强烈建议配置SSL证书,可通过Let's Encrypt免费获取。本文为简化流程使用HTTP演示。

先完成基础系统配置:

# 关闭SELinux(需重启生效) sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 # 配置防火墙 firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=10050-10051/tcp firewall-cmd --reload

2. 数据库部署与优化

MariaDB作为Zabbix的后端存储,其配置直接影响监控系统的性能。我们采用10.5版本以获得更好的JSON支持:

# 添加MariaDB官方源 cat > /etc/yum.repos.d/MariaDB.repo <<EOF [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF # 安装并启动 yum install -y MariaDB-server MariaDB-client systemctl enable --now mariadb

执行安全初始化后,创建专属数据库实例:

-- 创建使用utf8mb4字符集的数据库 CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; -- 建议使用非root账户 CREATE USER 'zabbix_dbadmin'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix_dbadmin'@'%'; FLUSH PRIVILEGES;

/etc/my.cnf.d/zabbix.cnf中添加专属配置:

[mysqld] innodb_buffer_pool_size = 1G # 建议物理内存的50-70% innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 2 # 平衡性能与可靠性 character-set-server = utf8mb4 collation-server = utf8mb4_bin

3. Zabbix服务端安装

官方仓库提供了完整的RPM包,我们同时安装Java gateway以支持JMX监控:

# 添加Zabbix仓库 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm # 安装核心组件 yum install -y zabbix-server-mysql zabbix-agent zabbix-java-gateway # 导入初始数据 zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix_dbadmin -p zabbix

编辑/etc/zabbix/zabbix_server.conf关键参数:

DBHost=localhost DBName=zabbix DBUser=zabbix_dbadmin DBPassword=StrongPassword123! JavaGateway=127.0.0.1 JavaGatewayPort=10052 StartJavaPollers=5

4. Web前端部署

使用Nginx+PHP-FPM的组合能获得更好的并发性能:

# 安装SCL仓库以获取新版PHP yum install -y centos-release-scl-rh # 安装必要组件 yum install -y rh-nginx116 nginx rh-php72-php-fpm zabbix-web-mysql-scl

Nginx配置示例(/etc/nginx/conf.d/zabbix.conf):

server { listen 80; server_name zabbix.yourdomain.com; root /usr/share/zabbix; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { fastcgi_pass unix:/var/opt/rh/rh-php72/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

PHP时区设置在/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai

5. 系统启动与验证

启动所有服务并设置开机自启:

systemctl enable --now zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

访问http://服务器IP应看到安装向导。使用默认凭据登录:

  • 用户名:Admin
  • 密码:zabbix

首次登录后立即修改密码,并在Administration → Users中创建个人账户。

6. 生产环境关键配置

6.1 监控项自动发现

Configuration → Discovery创建自动发现规则,例如:

  • 扫描IP范围:192.168.1.1-254
  • 检查项:SSH、ICMP Ping
  • 间隔:1h

6.2 告警媒介配置

配置邮件通知(以Gmail为例):

  1. Administration → Media types创建SMTP媒介
  2. 设置smtp.gmail.com:587,启用TLS
  3. 在用户配置中关联媒介并设置接收邮箱

6.3 仪表板定制

创建业务视图仪表板:

  1. 添加"System uptime"等核心指标
  2. 设置触发器当CPU>90%持续5分钟时告警
  3. 配置聚合图形显示历史趋势

7. 高级运维技巧

7.1 数据库维护

定期执行表优化:

OPTIMIZE TABLE history, history_uint, trends, trends_uint;

设置自动清理旧数据(/etc/zabbix/zabbix_server.conf):

HistoryStorageURL=mysql://zabbix_dbadmin:password@localhost/zabbix HistoryStorageDateIndex=1 HousekeepingFrequency=24

7.2 代理部署

在被监控节点安装agent:

yum install -y zabbix-agent sed -i 's/Server=127.0.0.1/Server=zabbix-server-ip/' /etc/zabbix/zabbix_agentd.conf systemctl enable --now zabbix-agent

7.3 性能调优

高负载时可调整:

  • 增加StartPollers数量(CPU核心数×2)
  • 启用Proxy模式分担压力
  • 对历史数据使用TimescaleDB分区

在完成基础部署后,建议优先配置这些监控项:

  1. 服务器:CPU/Memory/Disk/Network
  2. 服务状态:Nginx/MySQL/Redis等进程
  3. 业务指标:API响应时间、队列长度
http://www.gsyq.cn/news/1486082.html

相关文章:

  • 不只是电压测量:用ADS1115和树莓派DIY一个高精度环境监测站(Python代码分享)
  • 荆州市2026年黄金回收白银回收铂金回收 5 家高性价比门店实地测评盘点 - 三大殿
  • 荆门市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 三大殿
  • Hadoop 3.x 实战:手把手教你配置HDFS透明加密与KMS(附常见报错排查)
  • 天津高端全屋定制厂家选购指南:如何选对靠谱高端定制服务商 - 速递信息
  • 聊城市2026年黄金回收白银回收铂金回收 5 家高性价比门店实地测评盘点 - 三大殿
  • 前端开发必看:一招解决图片403防盗链问题,用HTML meta标签轻松搞定
  • 数据科学家必学的Docker容器化实战:从环境隔离到GPU训练部署
  • 无锡市三菱电机空调维修师傅电话|各区金牌师傅,靠谱选欧米到家 - 欧米到家
  • 聊城市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 三大殿
  • 远程服务器无图形界面?手把手教你用命令行在CentOS上静默安装Matlab 2019b
  • 芜湖市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 三大殿
  • 当“极速神话”遭遇现实:从 yt-dlp 事件看 Bun 的生态困境与技术边界
  • 茂名市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 三大殿
  • 电池燃烧抛射试验机采购指南:德迈盛的八边形金属丝罩与全自动控制 - 品牌推荐大师
  • 眉山市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 三大殿
  • 河源市2026年本地黄金回收铂金白银回收哪家强?TOP5 正规门店榜单 +联系方式 - 结束就开始
  • 2026年国内GEO监测工具实战横评:谁才是AI搜索时代的品牌“真探“?
  • Thorium浏览器终极指南:如何通过编译优化让Chromium性能提升3倍 [特殊字符]
  • 5分钟掌握LosslessCut:零编码损耗的视频剪辑终极指南
  • 3分钟永久保存QQ空间记忆:GetQzonehistory开源备份工具完全指南
  • 电源纹波噪声测量:避开三大误区,掌握精准测量方法
  • 从《懒散少年的寓言》到现实:为什么今天的开发者更需要持续学习(附个人知识管理工具推荐)
  • 2026嘉兴免砸砖漏水维修全攻略|卫生间/阳台/厨房/屋顶根治方法+避坑指南|苏易修缮 - 苏易修缮
  • 从一次‘网络故障排查’入手:手把手教你用eNSP调试VLAN隔离与互通问题
  • 避坑指南:Spring Cloud微服务整合Seata时,达梦DM8数据库的兼容性配置实战
  • 温州市方氏建材:瑞安专业的室内外拆除公司 - LYL仔仔
  • USB 枚举失败?别只怪线缆,看看这 3 个电阻与上拉
  • 过冲:拥塞控制的呼吸与盲行
  • AzurLaneAutoScript:碧蓝航线全功能自动化脚本的终极解决方案