暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL Server 配置 Zabbix 监控

SQLServer 2021-04-18
7233


Zabbix 官网有较多的 SQL Server 监控模板,不过这些模板版本老旧、参差不齐,应用到个人系统中总是出现各种问题或无法监控。


这里推荐的,就是 Github 上的开源模板,可监控SQL Server 单实例或者多实例。https://github.com/MantasTumenas/Zabbix-template-for-Microsoft-SQL-Server


功能:

MSSQL性能计数器,MSSQL实例自动发现,MSSQL数据库自动发现,MSSQL数据库备份自动发现,MSSQL代理作业自动发现,MSSQL数据库镜像监视,MSSQL Always On监视,MSSQL日志传送监视。

 

支持的版本:

Microsoft SQL Server 20122014 20162019上进行了测试。它可能适用于早期版本,但某些项目(缺少性能计数器)可能不受支持。

 

现在部署 zabbix ,推荐5.x 以上的版本,本次实践的版本是 Zabbix5.2,部署在Centos 7.4。若监控Windows 平台上的 SQL Server,推荐安装Powershell 5.1或以上版本(Powershell2.x 有个函数无法使用)。


>> 在 Github 上下载以下文件


本人使用自动发现配置,只需目录With SQL instance discovery 中的文件。但是,因为这些配置有监控各个数据库、代理作业,需要数据库账号访问,这些我们就不监控了。我们只监控实例级别的信息,从性能计数器取值即可。

 

With SQL instancediscovery 目录中,标志灰色的文件都可以删除。

Documentation

Template for Microsoft SQL Server.docx

Zabbix calculations for MS SQL template.xlsx

Scripts

Discovery.mssql.databasename.ps1

Discovery.mssql.databasestatus.ps1

Discovery.mssql.instanceagentname.ps1

Discovery.mssql.instancename.ps1

Discovery.mssql.jobname.ps1

Discovery.mssql.jobstatus.ps1

Templates

Template Microsoft SQL Server DE Baseline.xml

Template Microsoft SQL Server SA Baseline.xml

User parameters

zabbix_agentd.userparams.conf

Zabbix Value Mapping

SQL Agent Job status.xml

SQL Database status.xml



>> 导入模板到zabbix

Configuration(配置)>> Templates(模板)>> Import导入模板 Template Microsoft SQLServer DE Baseline.xml

 

>> 导入映射值到zabbix(此处不需要)

Administration(管理)>> General(一般)>> Value mapping(映射值)>> Import 导入

SQL Agent Job status.xml

SQL Database status.xml


>> Zabbix 客户配置


Zabbix 客户端前期已经配置完成,这里我们只需要新增以下3个文件就行了

    C:\zabbix_agent\conf\zabbix_agentd.userparams.conf
    C:\zabbix_agent\Scripts\Discovery.mssql.instancename.ps1
    C:\zabbix_agent\Scripts\Discovery.mssql.instanceagentname.ps1

     先修改文件zabbix_agentd.userparams.conf,把非实例的监控参数注释掉,同时也要把文件的路径修改准确。


    再修改zabbix_agentd.conf 文件,include 上面的配置文件。

    配置完成后,重启zabbix 客户端代理。此时可登录zabbix 服务器进行验证,查看是否获取到客户端数据

      /var/zabbix/bin/zabbix_get -s <clientIP> -k agent.mssql.discovery
      /var/zabbix/bin/zabbix_get -s <clientIP> -k instances.mssql.discovery



      现在可以将模板添加到相应的主机了


      若是有问题,可查看该主机的 自动发现规则,看看模板的使用情况。


      打开主机监控可以看到,服务器中的所有实例都被监控到了。该方案不仅仅只用于多实例,也适用于单实例。当然这是基于性能计数器的监控,若是性能计数器找不到监控项,则监控不到相应数据。


      回头看看添加SQLServer 监控是不是挺简单的,对于其他没有的监控项,可到相应模板中创建监控项原型。我们再结合Grafana,做出方便好看的仪表盘,是不是更完美啦!



      文章转载自SQLServer,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论