Ubuntu下 SQLAdmin 性能监控实操指南
一 快速上手 SQLAdmin 监控
- 安装与配置
- 更新索引并安装:sudo apt update && sudo apt install sqladmin
- 编辑配置文件:sudo nano /etc/sqladmin/sqladmin.conf,设置数据库驱动、主机、端口、账号与库名,例如:
- [database]
- driver = mysql
- host = localhost
- port = 3306
- username = your_username
- password = your_password
- database = your_database
- 启动与自启
- 启动服务:sudo systemctl start sqladmin
- 开机自启:sudo systemctl enable sqladmin
- 访问与登录
- 浏览器访问:http://your_server_ip:8080(端口以实际配置为准)
- 使用配置文件中的账号登录 Web 界面
- 界面内可查看的关键监控项
- 查询执行时间、活跃连接数、慢查询日志
- 服务器资源:CPU、内存、磁盘 I/O
- 错误日志与用户活动概览
二 内置监控与告警配置
- 实时监控与历史数据
- 在 Web 界面查看实时性能指标与历史趋势(如响应时间、连接数、资源占用)
- 慢查询与查询分析
- 启用并查看慢查询日志,定位执行时间长、消耗高的 SQL,结合执行计划进行优化
- 告警规则设置
- 在“警报”页面配置阈值,例如:
- CPU 使用率 > 80%
- 内存使用率 > 90%
- 查询执行时间 > 预设阈值
- 支持通过电子邮件等方式发送通知(具体通知方式以实际版本支持为准)
- 配置文件示例(告警)
- [alert]
- email = your_email@example.com
- threshold = 90
- 日志与排障
- 查看 SQLAdmin 日志:/var/log/sqladmin/,结合 tail/grep/awk 分析错误与告警触发情况
三 系统级监控与第三方平台
- Linux 自带工具
- top/htop:进程级 CPU/内存 占用
- vmstat:虚拟内存与 CPU 统计
- iostat:磁盘 I/O 吞吐与等待
- sar:系统活动历史与报告
- netstat:网络连接与端口状态
- 可视化与告警平台
- Prometheus + Grafana:以 SQLAdmin 暴露的指标为目标建立仪表盘并设置告警
- Netdata:实时、低开销的系统与数据库性能监控
- Zabbix:企业级监控与告警(支持多种采集方式)
四 自动化运维与日常巡检
- 配置管理与批量部署
- 使用 Ansible 管理安装与配置,示例 Playbook 片段:
- - name: Install SQLAdmin
- apt: name=sqladmin state=present
- - name: Configure SQLAdmin
- template: src=sqladmin.conf.j2 dest=/etc/sqladmin/sqladmin.conf notify=Restart SQLAdmin
- handlers: - name: Restart SQLAdmin service: name=sqladmin state=restarted
- 定时任务与脚本
- 在 Cron 中执行备份、日志清理与监控报告,例如:
- 备份:0 2 * * * /usr/bin/sqladmin backup --database mydb --output /backup/mydb_$(date +%F).sql
- 清理:0 3 * * * find /var/log/sqladmin -type f -name “*.log” -mtime +7 -delete
- 容器化部署
- 使用 Docker 部署与编排,便于环境一致性与快速恢复
五 常见问题与优化建议
- 无法访问 Web 界面
- 核对服务状态:sudo systemctl status sqladmin
- 检查监听端口与防火墙放行(如 ufw allow 8080/tcp)
- 告警未触发或通知失败
- 校验 [alert] 配置项(如 email/threshold),确认 SMTP/通知通道可用
- 慢查询频发
- 开启并分析慢查询日志,结合索引与执行计划优化;必要时调整阈值
- 资源瓶颈定位
- 用 top/htop、vmstat、iostat、sar 交叉验证 CPU/内存/磁盘/网络,与 SQLAdmin 指标对照排查