用 SQLAdmin 监控 Linux 系统的实操指南
一、适用场景与总体思路
- 若你指的是SQLAdmin 这类数据库管理/监控工具,在 Linux 上的监控通常分为三层:
- 用 systemd 守护进程与日志确保服务可用;
- 用 SQLAdmin 的 Web/配置监控数据库与主机指标;
- 用 系统工具与日志轮转补齐 OS 层可观测性。
- 若你指的是MySQL 自带的 mysqladmin,它主要面向数据库状态与性能,OS 层需配合其他工具。下文分别给出做法。
二、使用 SQLAdmin 工具进行监控
- 安装与配置
- Ubuntu/Debian:可直接安装相应版本(如 sqladmin 或 sqladmin-pg),编辑配置文件(如 /etc/sqladmin/sqladmin.conf 或 /etc/sqladmin/sqladmin-pg.conf),填入数据库 host/port/user/password/database 等连接信息。
- CentOS/RHEL:安装后同样修改配置文件,指定要监控的数据库实例信息。
- 启动与自启
- 使用 systemd 管理:
- 启动:sudo systemctl start sqladmin(或 sqladmin-pg)
- 开机自启:sudo systemctl enable sqladmin
- 访问与查看
- 通过浏览器访问 Web 界面,常见默认端口:MySQL 8080、PostgreSQL 8081;在界面中查看 CPU、内存、磁盘 I/O、查询性能、连接数 等监控图表与历史数据。
- 告警设置
- 在 SQLAdmin 的 Alerts 中配置阈值与通知方式(如 email),当指标超过阈值触发告警。
三、用 systemd 与日志保障可用性
- 服务状态与日志
- 查看状态:sudo systemctl status sqladmin
- 实时查看日志:sudo journalctl -u sqladmin -f
- 常用动作:sudo systemctl restart sqladmin、sudo systemctl stop sqladmin
- 日志轮转与保留
- 建议为 SQLAdmin 日志配置 logrotate,示例:
- 路径:/var/log/sqladmin/*.log
- 策略:daily、rotate 7、compress、missingok、notifempty、delaycompress、sharedscripts
- 说明:该示例表示每日轮转、保留 7 天、旧日志压缩,避免磁盘被占满。
四、仅用 mysqladmin 时的监控思路
- 如果你说的是 MySQL 的 mysqladmin,可用其执行管理/监控命令(如查看状态、变量、进程列表等),但 OS 层指标(CPU、内存、磁盘 I/O、网络)需配合系统工具:
- 资源与 I/O:top/htop、vmstat、iostat、dstat、sar
- 连接与网络:netstat
- 数据库错误日志:如 /var/log/mysqld.log,建议结合 logrotate 做日志轮转,避免日志过大。
五、进阶的可观测性方案
- 若需要更完善的监控与可视化,建议引入:
- Prometheus + Grafana:采集并展示系统与数据库指标,支持灵活告警与看板;
- Zabbix / Nagios:主机与服务可用性监控;
- Percona Monitoring and Management(PMM):面向 MySQL/MariaDB/Percona Server 的专业监控与诊断平台。