温馨提示×

Debian MariaDB如何监控

小樊
45
2025-11-15 11:41:31
栏目: 云计算

Debian 上 MariaDB 监控实操指南

一 快速检查与日志定位

  • 服务与资源
    • 检查服务状态:sudo systemctl status mariadb
    • 实时查看错误日志:sudo tail -f /var/log/mysql/error.log
    • 系统层面日志:sudo journalctl -xe
  • 内置数据库状态
    • 简洁状态:sudo mysqladmin -u root -p status
    • 关键指标与连接:SHOW STATUS LIKE ‘Threads_connected’;SHOW PROCESSLIST;
  • 慢查询定位
    • 临时开启(当前会话):SET GLOBAL slow_query_log=ON; SET GLOBAL long_query_time=1;
    • 永久生效:在配置文件中设置 slow_query_log=1long_query_time=1,并指定 slow_query_log_file。以上命令适合作为第一时间的问题定位与基线巡检。

二 命令行实时监控工具

  • mytop(类 top 的实时会话/查询监控)
    • 安装:sudo apt install mytop
    • 使用:mytop --prompt -d your_db(可配置 ~/.mytop 存放账号密码,避免命令行明文)
  • innotop(聚焦 InnoDB 与复制的增强工具)
    • 安装:sudo apt install innotop
    • 使用:innotop -u root -p your_pass -h 127.0.0.1 -P 3306 -d 2
    • 交互模式常用:按 Shift+字母 切换模式(如 Q 查询列表、M 复制状态、D 死锁),在会话中可执行 k 终止连接、e 对线程 SQL 做 EXPLAIN、f 查看完整 SQL。以上工具便于快速洞察线程、查询与 InnoDB 关键指标。

三 平台化监控方案

  • Zabbix(企业级,适合全栈监控与可视化)
    • Debian 12 上可通过官方仓库安装:sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent
    • 创建数据库与用户、导入初始数据、配置 /etc/zabbix/zabbix_server.conf(如 DBHost、DBName、DBUser、DBPassword),启动服务后通过 http://your_ip/zabbix 完成 Web 安装与配置。
  • Prometheus(时序与告警生态)
    • 安装 Prometheus:sudo apt-get install prometheus
    • 配置抓取目标(scrape_configs)指向 MariaDB 的 /metricsexporter 端点,结合 Grafana 做可视化与阈值告警。适合需要长期趋势、容量规划与细粒度指标的场景。

四 关键指标与告警建议

  • 连接与线程
    • 关注 Threads_connectedThreads_running,结合实例规格设置连接数上限与告警阈值,避免连接风暴。
  • 查询性能
    • 跟踪 QueriesQuestionsCom_* 计数器与 Slow_queries,配合慢查询日志定位高成本 SQL。
  • InnoDB 健康
    • 观察 Innodb_buffer_pool_reads/readsInnodb_row_lock_waitsInnodb_deadlocks,并监控 InnoDB I/O 线程与日志相关统计,提前识别锁争用与 I/O 瓶颈。
  • 复制状态(如启用主从)
    • 使用 SHOW SLAVE STATUS\G 或 innotop 的 Shift+M 检查 Slave_IO_Running/Slave_SQL_RunningSeconds_Behind_Master,异常即告警。
  • 资源与错误
    • 结合系统监控关注 CPU、内存、磁盘 I/O、网络,并实时跟踪 /var/log/mysql/error.log 的异常与重启信息。以上指标与动作覆盖了日常排障与稳定性保障的高频要点。

0