Home >Database >Mysql Tutorial >利用SSIS打造MySQL监控工具_MySQL

利用SSIS打造MySQL监控工具_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-01 14:02:071306browse

监控工具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里面 一小时发次邮件 其他维度的监控同原理。

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn