ホームページ >データベース >mysql チュートリアル >利用SSIS打造MySQL监控工具_MySQL
监控工具mysql管理工具
批量监控Linux 下MySQL db层的工具相对匮乏,用SSIS DIY 了下.
使用 SSIS 包 读取配置表信息来实现监控MySQL并根据实际情况由邮件反馈给DBA
1 整理个全局信息表包括ip以及监控维度等.
建表语句如下:
<ol class="dp-sql"> <li class="alt"><span><span class="keyword"><strong><font color="#006699">CREATE</font></strong></span><span> </span><span class="keyword"><strong><font color="#006699">TABLE</font></strong></span><span> [dbo].[all_host_info]( </span></span></li> <li> <span> [ip] [</span><span class="keyword"><strong><font color="#006699">varchar</font></strong></span><span>](20) </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li class="alt"> <span> [isactive] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li> <span> [ishost] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li class="alt"> <span> [isslave] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li> <span> [isjob] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li class="alt"> <span> [isobject] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span>, </span> </li> <li> <span> [isprivileges] [tinyint] </span><span class="op"><font color="#808080">NULL</font></span><span> </span> </li> <li class="alt"> <span>) </span><span class="keyword"><strong><font color="#006699">ON</font></strong></span><span> [</span><span class="keyword"><strong><font color="#006699">PRIMARY</font></strong></span><span>] </span> </li> </ol>
2 新建ssis 包 命名为 mysqlmonitor 并创建如下变量
3 在控制流中创建 TSQL_SLAVE sql task 组件
建立oledb链接到 all_host_info 所在的sql 服务器,在sqlsourcetype 里面输入如下代码
<ol class="dp-sql"><li class="alt"><span><span class="keyword"><strong><font color="#006699">select</font></strong></span><span> </span><span class="func"><font color="#ff1493">count</font></span><span>(1) </span><span class="keyword"><strong><font color="#006699">as</font></strong></span><span> j </span><span class="keyword"><strong><font color="#006699">from</font></strong></span><span> all_host_info </span><span class="keyword"><strong><font color="#006699">where</font></strong></span><span> isslave=1; </span></span></li></ol>
并在 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里面 一小时发次邮件 其他维度的监控同原理。
练一技,修百艺,而成于自然.