RockyLinux数据库监控告警设置(手把手教你配置MySQL自动告警)

来源:这里教程网 时间:2026-03-25 23:28:06 作者:

在企业级服务器环境中,RockyLinux数据库监控是保障业务连续性的关键环节。当数据库出现异常(如连接数过高、CPU使用率飙升、磁盘空间不足等),若不能及时收到通知,可能会导致服务中断甚至数据丢失。本文将从零开始,教你在 RockyLinux 系统上为 MySQL 数据库配置一套简单有效的数据库告警设置方案,适合运维新手操作。

一、准备工作

确保你已具备以下条件:

一台运行 RockyLinux 8/9 的服务器 已安装并运行 MySQL 或 MariaDB 数据库 拥有 root 或 sudo 权限 能发送邮件(用于接收告警通知)

二、安装必要的工具

我们将使用

bc
(用于数值计算)、
mailx
(用于发送邮件)和简单的 Shell 脚本实现监控。

# 安装依赖工具sudo dnf install -y bc mailx# 如果使用 Gmail 或其他 SMTP 服务,建议配置 ssmtp 或 postfixsudo dnf install -y postfixsudo systemctl enable --now postfix

三、编写数据库监控脚本

创建一个名为

mysql_monitor.sh
的脚本,用于检查数据库状态并触发告警。

#!/bin/bash# 配置项MYSQL_USER="root"MYSQL_PASS="your_mysql_password"ALERT_EMAIL="admin@example.com"MAX_CONNECTIONS=100MIN_FREE_SPACE_GB=5# 获取当前连接数CURRENT_CONNS=$(mysql -u$MYSQL_USER -p$MYSQL_PASS -e "SHOW STATUS LIKE 'Threads_connected';" | awk 'NR==2 {print $2}')# 获取磁盘剩余空间(假设 MySQL 数据目录在 /var/lib/mysql)FREE_SPACE_GB=$(df -BG /var/lib/mysql | awk 'NR==2 {gsub(/G/, "", $4); print $4}')# 检查连接数是否超标if [ "$CURRENT_CONNS" -gt "$MAX_CONNECTIONS" ]; then echo "[告警] MySQL 当前连接数: $CURRENT_CONNS,超过阈值 $MAX_CONNECTIONS" | \ mail -s "【RockyLinux数据库监控】连接数过高告警" $ALERT_EMAILfi# 检查磁盘空间是否不足if [ "$FREE_SPACE_GB" -lt "$MIN_FREE_SPACE_GB" ]; then echo "[告警] MySQL 数据目录剩余空间仅 ${FREE_SPACE_GB}GB,低于安全阈值 ${MIN_FREE_SPACE_GB}GB" | \ mail -s "【RockyLinux数据库监控】磁盘空间不足告警" $ALERT_EMAILfi

⚠️ 注意:请将

your_mysql_password
admin@example.com
替换为你自己的密码和邮箱地址。出于安全考虑,建议使用 MySQL 配置文件(如
~/.my.cnf
)来避免密码明文出现在脚本中。

四、设置定时任务

使用

cron
每5分钟执行一次监控脚本:

# 编辑当前用户的 crontabcrontab -e# 添加以下行(每5分钟执行一次)*/5 * * * * /bin/bash /opt/scripts/mysql_monitor.sh >> /var/log/mysql_monitor.log 2>&1

确保脚本有执行权限:

sudo chmod +x /opt/scripts/mysql_monitor.sh

五、测试与验证

手动运行脚本,确认无报错:

/bin/bash /opt/scripts/mysql_monitor.sh

同时检查日志文件

/var/log/mysql_monitor.log
是否有输出。如果配置了邮件服务,模拟一次高连接数场景(或临时调低阈值),看是否能收到告警邮件。

六、进阶建议

对于生产环境,建议采用更专业的监控工具如 Prometheus + Grafana + mysqld_exporter,或使用 Zabbix。但对于小型项目或学习目的,上述 Shell 脚本方案轻量、高效且易于理解,非常适合 RockyLinux系统运维 初学者掌握核心监控逻辑。

通过本文的步骤,你已经成功搭建了一套基础但实用的 MySQL监控告警 系统。定期维护和优化你的监控策略,是保障数据库稳定运行的重要一环。

相关推荐

热文推荐