#一、为什么日志和监控是DBA的“火眼金睛”?
数据库就像人体的心脏,一旦出问题可能引发系统崩溃。而日志和监控系统就是DBA的听诊器,能提前发现异常。举个例子:
•错误日志
:像医院的“急诊记录”,直接告诉你数据库哪里“病”了,比如死锁、连接超时 。
•慢查询日志
:相当于“体检报告”,帮你揪出拖慢系统的SQL语句,优化后性能提升立竿见影 。
•监控仪表盘
:好比“实时心电图”,动态展示CPU、内存、连接数等指标,问题一目了然 。
#二、新手必学:4种日志的查看与分析技巧
#1. 错误日志:在哪找?
MySQL/MariaDB的日志路径通常在/var/log/mysql/error.log(Linux)或配置文件my.cnf中标注 。用tail -f error.log实时跟踪最新错误,重点关注关键词:ERROR、Warning、Deadlock(死锁) 。#2. 慢查询日志:揪出“龟速”SQL
SETGLOBAL slow_query_log =ON;
SETGLOBAL long_query_time =2; -- 设置超过2秒的SQL被记录
日志文件默认在/var/log/mysql/slow.log。
•如何优化?
用EXPLAIN分析慢SQL的执行计划,添加索引或重构查询语句 。
#3. 二进制日志:数据恢复的“后悔药”
•作用
:记录所有数据变更操作(如INSERT/UPDATE),主从复制和误删恢复全靠它 。
•查看方法
mysqlbinlog /var/log/mysql/binlog.000001
#4. 监控日志:告警设置的“风向标”
•告警规则
•连接数超过80% → 黄色预警
•CPU使用率持续90% → 红色告警 。
•告警渠道
:邮件、短信、Slack消息,确保第一时间通知到人 。
#三、实战教学:用Grafana搭建监控仪表盘
#1. 安装Grafana(小白友好版)
wget https://dl.grafana.com/oss/release/grafana-10.1.5.linux-amd64.tar.gz
tar -zxvf grafana-10.1.5.linux-amd64.tar.gz
cd grafana-10.1.5 && ./bin/grafana-server start
#2. 连接数据源(以Prometheus为例)
- 点击左侧菜单Connections → Add data source,选择Prometheus。
- 填写Prometheus地址,点击Save & Test。
#3. 创建仪表盘:5分钟做出专业图表
•步骤1:新建仪表盘
点击Dashboards → New Dashboard → Add Visualization。
•步骤2:添加监控项
在查询框输入PromQL语句(例如sum(rate(http_requests_total[5m]))监控请求速率)。
•步骤3:美化图表
选择折线图/柱状图,调整颜色和单位(如内存使用率用百分比显示)。
案例演示:监控数据库连接数