SuperAPI AI 工具集

monitoring-database-transactions

部署与运维

查看项目

更新于 10-15 23:27

技能介绍

用途:实时监控数据库活动事务,发现长事务、锁竞争、idle in transaction 会话、未提交事务及事务吞吐量异常,覆盖 PostgreSQL、MySQL 和 MongoDB。

主要能力:查询活动事务视图建立基线;按持续时间识别长事务(OLTP 初始阈值 30 秒,批处理/报表 5 分钟);检测持有锁但不执行查询的 idle-in-transaction 会话;通过锁管理器查询锁竞争;采样 pg_stat_database 或 MySQL Com_commit/Com_rollback 计算每秒提交数与回滚率;生成监控脚本、告警配置、仪表盘查询和每周健康报告模板。

使用方式:需具备访问系统目录的数据库凭据(pg_stat_activity、information_schema.PROCESSLIST 或 MongoDB currentOp),安装 psql、mysql 或 mongosh,并拥有查看其他会话事务的权限(PostgreSQL 需 pg_monitor 角色,MySQL 需 PROCESS 权限)。示例查询:PostgreSQL 用 SELECT pid, state, query_start, now() - query_start AS duration, query FROM pg_stat_activity WHERE state != 'idle' ORDER BY duration DESC;MySQL 用 SELECT id, user, host, db, command, time, state, info FROM information_schema.PROCESSLIST WHERE command != 'Sleep'。监控脚本可按 cron 每 30-60 秒运行,写入时序存储或日志。

适用场景:Web 应用连接泄漏排查、高峰期锁竞争定位、部署后回滚率突增分析、事务性能趋势报告。

限制:高频轮询系统目录会增加开销,建议间隔不低于 60 秒或改用 pg_stat_statements 聚合统计;批处理任务可能触发长事务误报,需维护排除列表并区分批处理与 OLTP 阈值;锁监控查询在竞争风暴中可能超时,需设置 statement_timeout 并降低频率;自动终止会话仅适用于已知安全场景,需记录被终止会话。具体收费、价格与平台支持情况暂未提供。