批量监控linux 下 Mysql db层的工具相对匮乏,用SSIS DIY 了下.
使用 SSIS 包 读取配置表信息来实现监控Mysql 并根据实际情况由邮件反馈给DBA
1 整理个全局信息表包括 ip 以及监控维度等.
SSIS 打造 DIY Mysql 监控工具 _SSIS设计
 建表语句如下:
CREATE TABLE [dbo].[all_host_info](
 [ip] [varchar](20) NULL,
 [isactive] [tinyint] NULL,
 [ishost] [tinyint] NULL,
 [isslave] [tinyint] NULL,
 [isjob] [tinyint] NULL,
 [isobject] [tinyint] NULL,
 [isprivileges] [tinyint] NULL
) ON [PRIMARY]
2 新建ssis 包 命名为 mysqlmonitor  并创建如下变量
 SSIS 打造 DIY Mysql 监控工具 _SSIS设计_02
3 在控制流中创建 TSQL_SLAVE  sql task 组件
 建立oledb链接到  all_host_info 所在的sql 服务器,在sqlsourcetype 里面输入如下代码
select count(1) as j from all_host_info where isslave=1; 并在 result set 选择单行
 SSIS 打造 DIY Mysql 监控工具 _mysql监控_03
在结果结果集中 输入如下结果名称 并指定到变量 j
SSIS 打造 DIY Mysql 监控工具 _SSIS设计_04
4 新建TSQL_SLAVE_ID  TSQL TASK 组件
并链接至 TSQL_SLAVE 组件所用的 ole链接
SSIS 打造 DIY Mysql 监控工具 _mysql监控_05
5 新建个SCRIPT 组件 内容如下
SSIS 打造 DIY Mysql 监控工具 _mysql监控_06
SSIS 打造 DIY Mysql 监控工具 _mysql监控_07
6 新建个 FOR 循环 内容如下
SSIS 打造 DIY Mysql 监控工具 _mysql监控_08
7 在FOR 循环里面拖入个数据流内容如下把 读取的ip信息写入到 object 变量里面
 
SSIS 打造 DIY Mysql 监控工具 _mysql监控_09
8在for 组件里 拖入个 FOReach_VAR foreach 组件 内容如下 用来拆分 OBJECT 变量 在变量映射里面选择 ip
SSIS 打造 DIY Mysql 监控工具 _SSIS设计_10
 
9 拖入个数据流组件
SSIS 打造 DIY Mysql 监控工具 _mysql监控_11
 
10 发邮件
SSIS 打造 DIY Mysql 监控工具 _SSIS设计_12
 
11 包最终组件如下
SSIS 打造 DIY Mysql 监控工具 _SSIS设计_13
 
12 把包加载到job里面 一小时发次邮件 其他维度的监控同原理。
 SSIS 打造 DIY Mysql 监控工具 _SSIS设计_14