前提条件:

在SQL Server服务器上已经安装部署了zabbix agent或zabbix agent2客户端,并且服务已经启动

在microsoft SQL Server2016上创建用于zabbix监控的账号

1.通过SQL语句方式

use master;
create login zbx_monitor with password='password';
GRANT VIEW ANY DEFINITION TO zbx_monitor;
GRANT VIEW SERVER STATE TO zbx_monitor;
use msdb; 
create user zbx_monitor;

2.通过图形界面方式

图形界面的操作方式,需要使用microsoft SQL Server Management Studio操作 

 

 

 

 

 为创建的账号授权

GRANT SELECT ON OBJECT::msdb.dbo.sysjobs TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobservers TO zbx_monitor;
GRANT SELECT ON OBJECT::msdb.dbo.sysjobactivity TO zbx_monitor;
GRANT EXECUTE ON OBJECT::msdb.dbo.agent_datetime TO zbx_monitor;

在Zabbix Server上安装Microsoft ODBC驱动

  yum -y install unixODBC unixODBC-devel
  sudo ACCEPT_EULA=Y yum install -y msodbcsql
  # optional: for bcp and sqlcmd 
  sudo ACCEPT_EULA=Y yum install -y mssql-tools
  echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
  source ~/.bashrc

 注意:ACCEPT_EULA=Y 不能省略,这表示需要同意微软的条款,才能使用软件。

 在Zabbix Server上配置odbc驱动相关配置

安装好unixODBC后,可以通过命令 odbcinst -j 来查看配置文件的位置,一般默认在/etc 目录下

odbcinst.ini用于列出已安装的 ODBC 数据库驱动程序

odbc.ini :用来定义数据源(如果不存在,需要手动创建)

在安装完成上述ODBC驱动软件包后 ,编辑 vim  /etc/odbcinst.ini,会增加如下内容

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver 13 for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2
UsageCount=1

编辑 vim /etc/odbc.ini,增加如下内容

[mssql]
Driver = ODBC Driver 13 for SQL Server
Server = 10.100.16.34
Port = 1433

需要注意的是,这里的【mssql】就是需要填写在zabbix server web端的模板macro宏中的{$MSSQL.DSN}的value值

而Driver = 后面的 ODBC Driver 13 for SQL Server 必须与odbcinst.ini中的[ODBC Driver 13 for SQL Server]名称完全一致

进行数据源的连接测试

使用使用 isql 程序查看数据库,语法格式为:isql DSN [UID [PWD]] [options]

DSN:数据源的名称,本例为mssql

UID:数据库账号

PWD:数据库账号的密码

# isql mssql zbx_monitor password

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

 此时,表示SQL Server的ODBC数据库驱动已经配置好了。

Zabbix Server端使用模板配置

Zabbix5.0版本已经集成了 Template DB MSSQL by ODBC 模板,将该模板分配给对应的主机。

然后在主机的macro宏定义中,配置如下内容:

{$MSSQL.DSN}  : 本例中的值为 mssql
{$MSSQL.USER} : 本例中为 zbx_monitor

{$MSSQL.PASSWORD} : 本例中为设置的password

{$MSSQL.INSTANCE} : 这个是SQL SERVER的实例名,可通过查看SQL SERVER代理服务查看,如下:

 

 添加完以上信息后,过几分钟,就可以看到数据了。

—————————————————————————————————————————————————

 除了上述方法可以进行sql server的监控外,还一个第三发的解决方案:https://github.com/MantasTumenas/Zabbix-template-for-Microsoft-SQL-Server

原文地址:http://www.cnblogs.com/hyyx/p/16776273.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性