数据洞察 视图 视图模板 MySQL 锁监控
MySQL 锁监控
简介
展示 MySQL 的InnoDB事务锁冲突和MetaDataLock元锁冲突情况
前置条件
需安装 DataKit,并开启以下指标采集:
mysqlmonitor
配置
数据库授权
# 创建监控账号
create user datakit identified by Zyadmin123;
GRANT select,replication client ON *.* TO 'datakit'@'%';
flush privileges;
配置采集器
cd /usr/local/cloudcare/forethought/datakit/conf.d/mysqlmonitor/
vim mysqlmonitor.conf
[[mysql]]
## 采集的频度,最小粒度5m
interval = '300s'
metricName = 'mysql_locks'
instanceId = 'mysql01'
instanceDesc = 'DBA团队自建MySQL实例'
host = '10.200.6.53'
port = '3306'
username = 'solarops'
password = 'Zyadmin123'
database = 'mysql'
product = '阿里云RDS For MySQL'
重新启动datakit
systemctl restart datakit
概览
指标
类型明细
type | 采集分类 |
---|---|
mysql_metadatalock_session | 元锁会话明细 |
mysql_metadatalock_info | 元锁个数和导致元锁冲突的未提交的事务会话最大的id(一个) |
mysql_metadatalock_trx_id | 导致元锁冲突的长时间未提交的事务会话id(多个) |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 |
指标明细
type | 采集分类 | Fields | 数据类型 | 单位 | 描述 |
---|---|---|---|---|---|
mysql_metadatalock_session | 元锁会话明细 | id | int64 | 会话id | |
mysql_metadatalock_session | 元锁会话明细 | user | string | 会话的登录用户名 | |
mysql_metadatalock_session | 元锁会话明细 | host | string | 会话的来源地址 | |
mysql_metadatalock_session | 元锁会话明细 | db | string | 会话访问的数据库名 | |
mysql_metadatalock_session | 元锁会话明细 | command | string | 会话执行的语句类型 | |
mysql_metadatalock_session | 元锁会话明细 | conn_time | int64 | 会话持续时间 | |
mysql_metadatalock_session | 元锁会话明细 | state | string | 会话状态 | |
mysql_metadatalock_session | 元锁会话明细 | info | string | 会话执行的具体SQL语句 | |
mysql_metadatalock_info | 元锁个数和导致元锁冲突的未提交的事务会话最大的id(一个) | count | int64 | 会话总数 | |
mysql_metadatalock_info | 元锁个数和导致元锁冲突的未提交的事务会话最大的id(一个) | id | int64 | 导致元锁冲突的长时间未提交的事务会话id | |
mysql_metadatalock_trx_id | 导致元锁冲突的长时间未提交的事务会话id(多个) | id | int64 | 会话id | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | id | int64 | 会话id | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | user | string | 会话的登录用户名 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | host | string | 会话的来源地址 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | db | string | 会话访问的数据库名 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | command | string | 会话执行的语句类型 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | conn_time | int64 | 会话持续时间 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | state | string | 会话状态 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | info | string | 会话执行的具体SQL语句 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_id | int64 | 事务id | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_state string | string | 事务状态 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_started | string | 事务开始时间 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_requested_lock_id | string | 等待事务的锁id | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_wait_started | string | 事务等待开始的事件 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_weight | int64 | 事务的权重 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_mysql_thread_id | int64 | 事务线程id | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_query | string | 事务运行的SQL | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_operation_state | string | 事务的操作轧辊台 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_tables_in_use | int64 | 事务使用的表 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_tables_locked | int64 | 被锁住的表 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_lock_structs | int64 | 事务保留的锁 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_lock_memory_bytes | int64 | 事务锁定的内存大小 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_rows_locked | int64 | 事物锁定的最大行树 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_rows_modified | int64 | 事务修改的行数 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_concurrency_tickets | int64 | ||
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_isolation_level | string | 事务隔离级别 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_unique_checks | int64 | 事务的唯一键检查是打开还是关闭 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_foreign_key_checks | int64 | 事务的外键检查是否开启 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_last_foreign_key_error | string | 事务最近一次外键错误 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_adaptive_hash_latched | int64 | 自适应哈希索引是否被当前事务锁定 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_adaptive_hash_timeout | int64 | 自适应哈希索引是否超时 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_is_read_only | int64 | 1表示事务是只读的 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | trx_autocommit_non_locking | int64 | 值1表示事务是不使用for update或lock in shared mode子句的select语句,并且在启用autocommit设置的情况下执行,因此事务将只包含此语句。(5.6.4及更高版本。)当此列和trx_均为只读时,innodb会优化事务,以减少与更改表数据的事务相关的开销。 | |
mysql_innodb_blocking_trx_id | 获取到innodb事务锁冲突的会话明细,以及一共阻塞了多少事务,用于快速解决行锁冲突 | countnum | int64 | 该事务阻塞了多少其他事务 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_id | string | 锁id | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_trx_id | int64 | 事务id | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_mode | string | 锁的模式 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_type | string | 锁的类型 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_table | string | 申请锁的表 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_index | string | 锁住的索引 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_space | int64 | 锁对象的space id | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_page | int64 | 事务锁定页的数量 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_rec | int64 | 事务锁定行的数量 | |
mysql_innodb_lock_waits | 获取到innodb事务锁冲突锁信息,用于分析行所锁原因 | lock_data | int64 | 事务锁定记录的主键值 |
标签明细
类型 | tag | 说明 | 属性 |
---|---|---|---|
所有类型通用 | host | 采集器的地址 | 全局 |
所有类型通用 | server | 数据库连接地址 | 全局 |
所有类型通用 | port | 数据库监听端口 | 全局 |
所有类型通用 | instanceId | 实例ID | 全局 |
所有类型通用 | instanceDesc | 实例描述 | 全局 |
所有类型通用 | dbName | 连接的数据库 | 全局 |
所有类型通用 | product | 数据库类型 自建MySQL、阿里云数据库RDS For MySQL | 全局 |
所有类型通用 | type | 指标类型 | 全局 |