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

CentOS7下Zabbix5.0与MariaDB完美搭配:从零搭建到邮件告警全攻略

CentOS7下Zabbix5.0与MariaDB企业级监控系统实战指南

1. 环境准备与基础配置

在CentOS7系统上部署Zabbix5.0监控系统前,需要确保基础环境配置正确。以下是关键步骤和注意事项:

系统初始化配置

  • 更新系统软件包至最新版本:
    yum update -y
  • 关闭防火墙和SELinux(生产环境需根据安全策略调整):
    systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

时间同步配置: 监控系统对时间同步要求严格,建议配置NTP服务:

yum install -y ntpdate echo "0 */6 * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1" >> /var/spool/cron/root

提示:Zabbix Server与Agent时间差超过30秒会导致监控数据异常

2. MariaDB数据库优化部署

Zabbix5.0推荐使用MariaDB作为后端数据库,以下是专为监控场景优化的安装配置:

数据库安装与初始化

yum install -y mariadb-server mariadb systemctl enable --now mariadb mysql_secure_installation

Zabbix专用数据库配置

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword@123'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES;

性能优化参数(/etc/my.cnf.d/zabbix.cnf):

[mysqld] innodb_buffer_pool_size = 1G innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT max_connections = 200 query_cache_size = 0

3. Zabbix5.0服务端深度配置

安装Zabbix仓库与核心组件

rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo yum install -y zabbix-server-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl

数据库初始化与导入

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

关键配置文件优化(/etc/zabbix/zabbix_server.conf):

DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=StrongPassword@123 StartPollers=20 StartPollersUnreachable=10 StartTrappers=15 StartPingers=10 CacheSize=256M HistoryCacheSize=128M TrendCacheSize=64M

4. Web界面与告警系统集成

PHP环境调优(/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf):

php_value[max_execution_time] = 600 php_value[memory_limit] = 256M php_value[post_max_size] = 32M php_value[upload_max_filesize] = 16M php_value[max_input_time] = 600 php_value[date.timezone] = Asia/Shanghai

邮件告警配置实战

  1. 创建告警媒介类型:

    • 类型:Email
    • SMTP服务器:smtp.163.com
    • SMTP HELO:163.com
    • SMTP电邮:monitor@163.com
    • 认证:用户名/密码认证
  2. 配置触发器动作:

    触发器表达式:{主机:监控项.last()} > 阈值 动作操作:发送消息至用户组"运维团队" 消息内容模板: 告警主机:{HOST.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息:{TRIGGER.NAME} 当前状态:{TRIGGER.STATUS} 监控取值:{ITEM.NAME}:{ITEM.VALUE}

图形中文乱码解决方案

yum install -y wqy-microhei-fonts cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

5. 大规模部署优化策略

Agent自动注册方案

  1. Agent端配置(/etc/zabbix/zabbix_agent2.conf):

    ServerActive=zabbix-server-ip HostnameItem=system.hostname HostMetadata=Linux server
  2. Web界面自动注册规则:

    • 条件:HostMetadata包含"Linux"
    • 操作:链接模板"Linux servers"
    • 添加到主机组"Linux Servers"

Proxy分布式部署

代理节点配置(/etc/zabbix/zabbix_proxy.conf):

Server=zabbix-server-ip Hostname=proxy-node1 DBName=zabbix_proxy DBUser=zabbix DBPassword=ProxyPass@123 ConfigFrequency=120 DataSenderFrequency=5

性能监控指标参考值

监控项正常范围告警阈值
Zabbix队列<10>30
数据库连接数<50% max_connections>80% max_connections
服务器负载<CPU核心数>CPU核心数×2
可用内存>总内存20%<总内存10%

6. 常见故障排查指南

数据库连接问题

# 检查数据库连接 mysql -uzabbix -p -e "SHOW STATUS LIKE 'Threads_connected'" # 查看Zabbix日志 tail -f /var/log/zabbix/zabbix_server.log

Agent通信故障排查

# 服务端测试Agent连通性 zabbix_get -s agent-ip -k agent.ping # Agent端检查配置 grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf

性能瓶颈分析工具

# 监控Zabbix内部状态 zabbix_server -R config_cache_reload zabbix_server -R housekeeper_execute # 数据库慢查询分析 mysqldumpslow -s t /var/lib/mysql/mysql-slow.log

7. 高级监控场景实现

自定义监控项开发

  1. 创建Agent配置文件(/etc/zabbix/zabbix_agent2.d/custom.conf):

    UserParameter=app.thread.count,ps -eLf | grep -c 'java' UserParameter=app.queue.size,curl -s http://localhost:8080/health | jq '.queue'
  2. Web界面配置:

    • 创建监控项:键值为app.thread.count
    • 设置数据更新时间间隔
    • 配置触发器与图形展示

业务级监控看板

  1. 创建聚合图形
  2. 添加业务关键指标
  3. 设置幻灯片播放
  4. 配置大屏展示模式

监控数据保留策略

-- 历史数据保留30天 UPDATE config SET history_period='30d' WHERE name='HistoryPeriod'; -- 趋势数据保留365天 UPDATE config SET trends_period='365d' WHERE name='TrendsPeriod';

8. 安全加固与维护建议

Zabbix安全配置

  • 修改默认Admin密码
  • 创建细分权限用户角色
  • 启用HTTPS访问
  • 配置审计日志

定期维护任务

# 数据库优化 mysqlcheck -uzabbix -p --optimize zabbix # 日志轮转 logrotate -f /etc/logrotate.d/zabbix-server # 配置备份 mysqldump -uzabbix -p zabbix > zabbix_backup_$(date +%F).sql

容量规划参考

监控主机数推荐服务器配置数据库配置
<5004C8G4C8G, 50G存储
500-20008C16G8C16G, 200G存储
>200016C32G+Proxy16C32G集群, 500G+存储
http://www.jsqmd.com/news/519466/

相关文章:

  • MAC和PHY到底在搞什么?用大白话拆解网卡工作原理
  • 还在用三层交换机?手把手教你用Cisco Packet Tracer搞定单臂路由,让老旧路由器也能玩转VLAN互通
  • CATIA模型导出避坑指南:为什么你的DXF文件在Cadence中显示异常?
  • 7、C语言指针专题:多级指针
  • 如果“管狗如管车”全国落地,社会将发生什么?农村学生体质会下降吗?
  • 告别龟速下载!保姆级教程:用国内镜像站5分钟搞定Ubuntu 20.04 LTS下载与VMware安装
  • 从Maya到Max:如何完美转换Bone骨骼并优化飘带动画效果
  • Wox这款开源Windows启动器,我用了十年
  • ROS2实战:如何用DDS中间件优化你的机器人通信(附Fast DDS配置指南)
  • Matrix200读码器安装调试全攻略:从接线到参数设置一步到位
  • 8、C语言指针专题:指针与字符串
  • 实测省下3小时:Gemini 3.1 Pro终结职场重复劳动,打工人提前下班
  • 救命神器!AI论文写作软件 千笔·专业论文写作工具 VS 文途AI,全行业通用首选!
  • UE5新手必看:LocalPlayer输入管理与视口配置全解析(附分屏实战代码)
  • Hardhat实战:5分钟搞定以太坊智能合约的本地测试与部署
  • 用Dify工作流给DeepSeek插上翅膀:手把手教你构建带联网能力的AI日历助手
  • 这次终于选对!倍受青睐的AI论文写作软件 —— 千笔·专业学术智能体
  • 避开这些坑!Android开机向导定制实战指南(基于RRO_overlays)
  • OpenClaw 的模型可解释性如何实现?是否提供注意力可视化或关键特征归因?
  • 中国典型城市建筑物数据集实战:从下载到模型训练全流程
  • 计算机毕业设计springboot基于校企合作的大学生实训管理系统 SpringBoot框架下高校产教融合实践教学管理平台的设计与实现 基于SpringBoot的校企协同育人实习过程化管理系统
  • 突破在即!〖突破实体长阴〗指标:向上突破启动点,实体长阴回踩擒牛!
  • 中微8S6990低功耗模式实战:如何优化ADC与PWM配置实现超长待机
  • AI推广联系哪家公司?豆包获客专业服务商指南 - 品牌2026
  • 背包DP实战:如何用动态规划解决子集和问题(附完整代码)
  • FineBI6.0从零部署到实战:Windows环境完整指南
  • 平头哥剑池CDK调试实战:用外设窗口和Watches快速定位IoT设备内存泄漏问题
  • 计算机毕业设计springboot基于JAVA的图书馆预约座位系统 基于SpringBoot的高校自习室智能预约管理平台设计与实现 基于Java的校园学习空间座位预定与信用管理系统开发
  • 在流式响应中,OpenClaw 如何控制生成速率和输出平滑度?是否使用了异步令牌生成?
  • 第四篇:《东坡八首·其四》|低谷不怨天尤人,踏实深耕终有回甘