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

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/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config时间同步配置 监控系统对时间同步要求严格建议配置NTP服务yum install -y ntpdate echo 0 */6 * * * /usr/sbin/ntpdate ntp.aliyun.com /dev/null 21 /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_installationZabbix专用数据库配置CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER zabbixlocalhost IDENTIFIED BY StrongPassword123; GRANT ALL PRIVILEGES ON zabbix.* TO zabbixlocalhost; 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 03. 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.confDBHostlocalhost DBNamezabbix DBUserzabbix DBPasswordStrongPassword123 StartPollers20 StartPollersUnreachable10 StartTrappers15 StartPingers10 CacheSize256M HistoryCacheSize128M TrendCacheSize64M4. Web界面与告警系统集成PHP环境调优/etc/opt/rh/rh-php72/php-fpm.d/zabbix.confphp_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邮件告警配置实战创建告警媒介类型类型EmailSMTP服务器smtp.163.comSMTP HELO163.comSMTP电邮monitor163.com认证用户名/密码认证配置触发器动作触发器表达式{主机:监控项.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.ttf5. 大规模部署优化策略Agent自动注册方案Agent端配置/etc/zabbix/zabbix_agent2.confServerActivezabbix-server-ip HostnameItemsystem.hostname HostMetadataLinux serverWeb界面自动注册规则条件HostMetadata包含Linux操作链接模板Linux servers添加到主机组Linux ServersProxy分布式部署代理节点配置/etc/zabbix/zabbix_proxy.confServerzabbix-server-ip Hostnameproxy-node1 DBNamezabbix_proxy DBUserzabbix DBPasswordProxyPass123 ConfigFrequency120 DataSenderFrequency5性能监控指标参考值监控项正常范围告警阈值Zabbix队列1030数据库连接数50% max_connections80% 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.logAgent通信故障排查# 服务端测试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.log7. 高级监控场景实现自定义监控项开发创建Agent配置文件/etc/zabbix/zabbix_agent2.d/custom.confUserParameterapp.thread.count,ps -eLf | grep -c java UserParameterapp.queue.size,curl -s http://localhost:8080/health | jq .queueWeb界面配置创建监控项键值为app.thread.count设置数据更新时间间隔配置触发器与图形展示业务级监控看板创建聚合图形添加业务关键指标设置幻灯片播放配置大屏展示模式监控数据保留策略-- 历史数据保留30天 UPDATE config SET history_period30d WHERE nameHistoryPeriod; -- 趋势数据保留365天 UPDATE config SET trends_period365d WHERE nameTrendsPeriod;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存储200016C32GProxy16C32G集群, 500G存储