Appearance
1. gt-ass
一款用于MySQL active session snapshot的工具,使用go开发。
下载:
用法: gt-ass gt-ass.yaml
其中,gt-ass.yaml为配置文件,内容如下:
yaml
interval: 3
parallel: 4
purgebefore: 14
reconn: 3
logfile: gt-ass.log
saveto: localhost,3306,root,gezi,devtest.active_session_snap
snaped:
- 192.168.100.2,3306,user1,gezi123
- 192.168.100.3,3306,user2,gezi456
说明:
interval:指定采集间隔,单位秒。
parallel:并发度。
purgebefore:历史记录清理,清除多久以前的采集记录,单位天。
reconn:数据库连接失败之后,重新尝试连接的间隔时间,单位分。
logfile:指定日志文件的名称。
saveto:采集数据要保存的数据库,格式:主机,端口,用户名,密码,数据库表,其中,表必须要指定所在的数据库。
snaped:指定被采集的数据库,格式:主机,端口,用户名,密码,可以指定多个。
保存采集数据的数据库表为:
create database if not exists devtest;
use devtest;
CREATE TABLE `active_session_snap` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`snap_host` varchar(261) DEFAULT NULL COMMENT '快照主机',
`snap_port` varchar(255) DEFAULT NULL COMMENT '快照主机端口',
`snap_id` bigint unsigned DEFAULT NULL COMMENT '快照ID',
`snap_time` datetime DEFAULT NULL COMMENT '快照时间',
`conn_id` bigint unsigned DEFAULT NULL COMMENT '连接ID',
`user` varchar(32) DEFAULT NULL COMMENT '用户名',
`host` varchar(261) DEFAULT NULL COMMENT '主机',
`db` varchar(64) DEFAULT NULL COMMENT '数据库',
`command` varchar(16) DEFAULT NULL COMMENT '命令',
`time` bigint unsigned DEFAULT NULL COMMENT '时间',
`state` varchar(64) DEFAULT NULL COMMENT '状态',
`info` longtext COMMENT '信息',
`create_time` datetime(3) DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_host_port` (`snap_host`,`snap_port`)
KEY `idx_host` (`host`),
KEY `idx_create_time` (`create_time`),
KEY `idx_snap_time` (`snap_time`)
) ;