前提条件:
在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驱动
注意: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