利用SSIS打造MySQL監(jiān)控工具
批量監(jiān)控Linux 下MySQL db層的工具相對(duì)匱乏,用SSIS DIY 了下.
使用 SSIS 包 讀取配置表信息來實(shí)現(xiàn)監(jiān)控MySQL并根據(jù)實(shí)際情況由郵件反饋給DBA
1 整理個(gè)全局信息表包括ip以及監(jiān)控維度等.
建表語句如下:
- 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 并創(chuàng)建如下變量
3 在控制流中創(chuàng)建 TSQL_SLAVE sql task 組件
建立oledb鏈接到 all_host_info 所在的sql 服務(wù)器,在sqlsourcetype 里面輸入如下代碼
- select count(1) as j from all_host_info where isslave=1;
并在 result set 選擇單行
在結(jié)果結(jié)果集中 輸入如下結(jié)果名稱 并指定到變量 j
4 新建TSQL_SLAVE_ID TSQL TASK 組件
并鏈接至 TSQL_SLAVE 組件所用的 ole鏈接
5 新建個(gè)SCRIPT 組件 內(nèi)容如下
6 新建個(gè) FOR 循環(huán) 內(nèi)容如下
7 在FOR 循環(huán)里面拖入個(gè)數(shù)據(jù)流內(nèi)容如下把 讀取的ip信息寫入到 object 變量里面
8在for 組件里 拖入個(gè) FOReach_VAR foreach 組件 內(nèi)容如下 用來拆分 OBJECT 變量 在變量映射里面選擇 ip
9 拖入個(gè)數(shù)據(jù)流組件
10 發(fā)郵件
11 包最終組件如下
12 把包加載到j(luò)ob里面 一小時(shí)發(fā)次郵件 其他維度的監(jiān)控同原理。
練一技,修百藝,而成于自然.
原文鏈接:http://www.cnblogs.com/xwj1985/archive/2010/10/30/1865292.html
【編輯推薦】