sqlserver evaluation是什么版本_一文教你Zabbix如何用ODBC监控Sql Server

随着需求和环境的不断变化,企业由基础设施监控,慢慢转向数据库、中间件更贴近应用级监控,因此监控领域的童鞋的能力要求在不断的提高,所以今天要介绍的就是怎么监控微软的Sql Server的监控,为你的监控能力添砖加瓦。

写在前面

笔者在做这篇文章的时候,特意翻了很多互联网上的资料,有很多关于Sql Server的监控内容,但是有很多重复且又无法实现的文章。本着分享的姿态就写了这一篇文章。

正文

ODBC

首先介绍ODBC是什么吧,网上的介绍是:ODBC就是是为解决异构数据库间的数据共享而产生的,现已成为WOSA(The Windows Open System Architecture(Windows开放系统体系结构))的主要部分和基于Windows环境的一种数据库访问接口标准。ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取不同DBMS管理的数据;使应用程序直接操纵DB中的数据,免除随DB的改变而改变。用ODBC 可以访问各类计算机上的DB文件,甚至访问如Excel 表和ASCI I数据文件这类非数据库对象。说句听的懂的人话:就是一种针对不同的数据库连接工具,目前针对sql server比较好的解决方案。当然也可以通过PowerShell执行生成的XML文件导入到zabbix也可以,但推荐还是ODBC,目前Zabbix官方提供监控Sql Server的方法就是ODBC的方式。

bb4ff6a26c0d46ede0f072203c472530.png

本文环境

  • Linux版本:CentOS 8.2
  • Zabbix版本:5.2.2
  • Windows系统:2019
  • 数据库:Sql Server 2019
  • ODBC版本:
  • ODBC驱动版本:17

安装ODBC驱动

由于CentOS自带ODBC软件,无需安装,如果是CentOS8以下(不包含8)安装ODBC软件yum -y update unixODBC unixODBC-devel安装微软ODBC源,如果是CentOS7,就将下面的数字改为7curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo安装微软相关组件(ACCEPT_EULA=Y为接受政策,必写)ACCEPT_EULA=Y dnf -y install msodbcsql17ACCEPT_EULA=Y dnf -y install mssql-tools导入变量echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profileecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcsource ~/.bashrc
721b3ede09f690ea703562ace0d8ac82.png
140821622981fecb8a148ee9b5d6330f.png

查看驱动文件

vim /etc/odbcinst.ini
f583901c2ed19ab18ad9c9b8121200b0.png

查看驱动文件是否存在

添加数据源

vim /etc/odbc.ini
b9ec26c22e73d64401c4d5007c65fdd1.png

安装zabbix插件

在zabbix官网下载zabbix agent for windows。

a3962854638feb726e4de3a17c180179.png

agent安装程序

a67737aece16efba9cd7aaccaddf7c56.png

这里填写Server的IP

测试连接数据库

用isql命令 Kasar为odbc.ini里的[]名称,后面为账户名称isql Kasar sa 123.com -v
48a38d159a1250a60083a78a9860c3c3.png

连接成功

Zabbix前端添加监控

添加ODBC的MSSQL模板(如果没有可以私信我)

43d2ad455f2a7fef81d72de2182ef596.png

添加这两个模板

修改模板的宏

由于官方自带的模板用户名密码为通用,所以需要自行配置,调整的地方如下图,首先图中的DSN部分为odbc.ini里的[]内容,其次为用户名密码。

da404566393c190cdd998cc8bd627ebe.png

修改相对应的值

2b88a8e91bd0ab274d550827734f64b5.png

添加OK

验证

查看最新数据,正常就OK了

24c36c166eb35af640bf2cccfc63e7dd.png

数据正常

添加自定义语句

查询sqlserver连接数select COUNT(1) from sysprocesses where dbid in (select dbid from sysdatabases-- where name='master')              ##这里切记要单独一行
需要注意的是键值这一块,可以写变量,也可以写具体的值,第一个是描述,可以随便填写,第二个就是odbc.ini[]里的内容,第三个可以不用填写。db.odbc.select[,,]
64454909ab97641c233895bac61208f4.png

添加自定义语句

70f8ef451ca0135b5edf70528cd5dffa.png

创建监控项模板测试,看是否能获取值,这里已经成功了

遇到的问题

3940065b47d6e98e0bcaeafc907b05a6.png

连接错误

这种属于账号没有权限连接,所以需要去数据库调整权限,给public权限即可,另外如果是Centos7的报错可能不一样,会出现类似{administrator|---},基本都会是权限问题。

写在最后

经过我长时间的测试,基本都OK,包括基于之前的SQL server版本也可以,遇到的一些问题都是权限问题,各位如果感兴趣可以测试,另外数据库的监控只是基础监控,如果需要更深度的监控语句,可以让业务方提出要求,你们执行就好了,如果我的文章对您有用欢迎关注和转发哦,谢谢啦

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值