利用SSIS打造MySQL监控工具

批量监控Linux 下MySQL db层的工具相对匮乏,用SSIS DIY 了下.

使用 SSIS 包 读取配置表信息来实现监控MySQL并根据实际情况由邮件反馈给DBA

1 整理个全局信息表包括ip以及监控维度等.

 建表语句如下:

 
 
 
 
  1. CREATE TABLE [dbo].[all_host_info](  
  2.  [ip] [varchar](20) NULL,  
  3.  [isactive] [tinyint] NULL,  
  4.  [ishost] [tinyint] NULL,  
  5.  [isslave] [tinyint] NULL,  
  6.  [isjob] [tinyint] NULL,  
  7.  [isobject] [tinyint] NULL,  
  8.  [isprivileges] [tinyint] NULL 
  9. ) ON [PRIMARY] 

2 新建ssis 包 命名为 mysqlmonitor  并创建如下变量

3 在控制流中创建 TSQL_SLAVE  sql task 组件

 建立oledb链接到  all_host_info 所在的sql 服务器,在sqlsourcetype 里面输入如下代码

 
 
 
 
  1. select count(1) as j from all_host_info where isslave=1;  

并在 result set 选择单行

在结果结果集中 输入如下结果名称 并指定到变量 j

4 新建TSQL_SLAVE_ID  TSQL TASK 组件

并链接至 TSQL_SLAVE 组件所用的 ole链接

5 新建个SCRIPT 组件 内容如下

6 新建个 FOR 循环 内容如下

7 在FOR 循环里面拖入个数据流内容如下把 读取的ip信息写入到 object 变量里面

8在for 组件里 拖入个 FOReach_VAR foreach 组件 内容如下 用来拆分 OBJECT 变量 在变量映射里面选择 ip

9 拖入个数据流组件

10 发邮件

11 包最终组件如下

12 把包加载到job里面 一小时发次邮件 其他维度的监控同原理。

练一技,修百艺,而成于自然.


新闻标题:利用SSIS打造MySQL监控工具
本文地址:http://gydahua.com/article/dhjigoh.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流