在CentOS上部署SQLAdmin后,可按以下路径完成监控、告警与日常运维
一 安装与快速配置
- 安装与启动
- 更新系统并启用 EPEL:sudo yum update -y && sudo yum install -y epel-release
- 安装 SQLAdmin:sudo yum install -y sqladmin
- 启动并设置开机自启:sudo systemctl start sqladmin && sudo systemctl enable sqladmin
- 检查状态:sudo systemctl status sqladmin
- 连接与监控项
- 配置文件路径:/etc/sqladmin/sqladmin.conf(按实际环境填写数据库主机、端口、用户名、密码等)
- 在 Web 界面添加目标数据库,并在 Monitoring 中勾选需要监控的指标(如CPU、内存、磁盘空间等)
- 在 Alerts 中新增告警规则(阈值、通知方式按需配置)
- 完成后通过 Web 界面查看实时与历史监控数据
二 监控与告警落地
- 自带监控与告警
- 使用 SQLAdmin 的 Web 界面完成指标选择与阈值告警配置,便于快速上线与日常查看
- 系统与服务可用性巡检
- 服务存活检查脚本(示例):
- /usr/local/bin/check_service.sh
- #!/bin/bash
- SERVICE=“sqladmin”
- if [ “$(systemctl is-active $SERVICE)” != “active” ]; then
- echo “Service $SERVICE is DOWN at $(date)” | mail -s “SQLAdmin Service Alert” admin@example.com
- fi
- 定时巡检:crontab -e 添加 0 * * * * /usr/local/bin/check_service.sh
- 数据库连通性与进程检查
- 使用 mysqladmin ping 检测数据库存活(示例):
- if ! /usr/bin/mysqladmin -h 127.0.0.1 -u monitor -p’YOUR_PASS’ ping &>/dev/null; then
- echo “MySQL is DOWN at $(date)” | mail -s “MySQL Alert” admin@example.com
- fi
- 可视化与指标扩展
- 建议引入 Prometheus + Grafana 采集系统与数据库指标,在 Grafana 中配置阈值告警(如 CPU > 80% 持续 5 分钟),实现统一可视化与告警通道
三 安全与性能最佳实践
- 账户与权限
- 为监控与日常管理创建最小权限数据库账号,避免使用 root 执行日常操作;定期审计与回收不必要权限
- SELinux 与防火墙
- 不建议直接关闭 SELinux 或防火墙;按需放行 SQLAdmin 与数据库所需端口(如仅开放管理网段)
- 系统与数据库参数
- 适度优化内核与数据库参数(如文件句柄、swappiness、连接数、缓冲池等),并在测试环境验证后再上线生产
- 日志与审计
- 定期检查数据库错误日志(如 /var/log/mysqld.log),并结合监控平台设置异常趋势告警
四 备份与恢复
- 自动备份脚本(示例)
- /usr/local/bin/backup_sqladmin.sh
- #!/bin/bash
- BACKUP_DIR=“/backup”
- DB_HOST=“127.0.0.1”
- DB_USER=“backup”
- DB_PASS=“YOUR_PASS”
- DB_NAME=“mydb”
- DATE=$(date +“%Y%m%d%H%M%S”)
- BACKUP_FILE=“$BACKUP_DIR/${DB_NAME}-${DATE}.sql”
- mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > “$BACKUP_FILE” 2>> “$BACKUP_DIR/backup.log”
- if [ $? -eq 0 ]; then
- echo “$(date ‘+%F %T’) Backup succeeded: $BACKUP_FILE” >> “$BACKUP_DIR/backup.log”
- else
- echo “$(date ‘+%F %T’) Backup failed!” >> “$BACKUP_DIR/backup.log”
- fi
- 定时任务
- 每天 02:00 执行:0 2 * * * /usr/local/bin/backup_sqladmin.sh
- 验证与演练
五 常见问题排查清单
- 服务无法启动:检查配置文件 /etc/sqladmin/sqladmin.conf 的数据库连通信息、日志输出与端口占用
- 监控数据为空:确认被监控数据库账号权限充足、网络可达,且 SQLAdmin 已成功添加目标
- 告警未触发:核对阈值条件、通知方式与执行频率;如使用外部监控,确认采集与告警规则已生效
- 性能波动:结合错误日志、慢查询日志与系统指标,排查近期参数变更或业务高峰影响