zabbix4.0监控sql server相关指标,支持2008~2016

栏目: 数据库 · 发布时间: 5年前

内容简介:效果如下:包含两个

在使用zabbix监控 sql server过程中,发现了一个好的模板,分享如下:

https://share.zabbix.com/data...

效果如下:

zabbix4.0监控sql server相关指标,支持2008~2016

包含两个

zabbix4.0监控sql server相关指标,支持2008~2016

With SQL instance discovery 适用于多实例的sql server监控,未测试

Without SQL instance discovery 适用于单实例sql server监控,使用的模板,用在2008r2上,部分监控项不支持

此模板作者有更新,注意看别人的README和Documentation 内容。(老外做事真的是很细致)

就目前发现的一些问题说明:

Discovery.mssql.server.ps1中:

$SQLInstanceName

$SQLInstanceName 需修改,其中脚本中有说明,或者直接修改为动态赋值:

# Parameters. Change Line 14 $SQLInstanceName="InstanceName" to correct instance name

if( $SQLInstanceName -eq "EnterInstanceName" )
{
    $SQLInstanceName = $(hostname.exe)
}

乱码

中文windows环境下:

在powershell中执行

powershell.exe -File "C:\Program Files\Zabbix Agent\scripts\Discovery.mssql.server.ps1" JSONJOBNAME

返回结果不乱码,但是在zabbix server中用zabbix_get 获取的值返回乱码

解决办法:

加入转换方法:

# This function converts from one encoding to another.
function convertto-encoding ([string]$from, [string]$to){
    begin{
        $encfrom = [system.text.encoding]::getencoding($from)
        $encto = [system.text.encoding]::getencoding($to)
    }
    process{
        $bytes = $encto.getbytes($_)
        $bytes = [system.text.encoding]::convert($encfrom, $encto, $bytes)
        $encto.getstring($bytes)
    }
}

修改:

foreach ($job in $jobname)
{
    if ($idx -lt $jobname.Count)
    {
        $line= "{ `"{#JOBNAME}`" : `"" + $job + "`" },"
        write-host $line
    }
    ....

为:

foreach ($job in $jobname)
{
    $job = $job | convertto-encoding "gbk" "utf-8"
    if ($idx -lt $jobname.Count)
    {
        $line= "{ `"{#JOBNAME}`" : `"" + $job + "`" },"
        write-host $line
    }

注意:

$job = $job | convertto-encoding "gbk" "utf-8"

遗留问题:部分中文(特殊的几个字)依旧乱码,会显示为? ,不知道是哪里的问题。

zabbix4.0监控sql server相关指标,支持2008~2016

获取定时任务列表,权限不足 sql server 2014

此问题目前只在 sql server 2014中发现,2008r2的数据库中未发现问题

zabbix server 中使用zabbix_get 获取定时任务列表时报错 拒绝了对对象 'sysjobs' (数据库 'msdb',架构'dbo')的SELECT权限,但使用powershell执行 能返回结果

现象如下:

zabbix4.0监控sql server相关指标,支持2008~2016

zabbix4.0监控sql server相关指标,支持2008~2016

最简单的办法:

加入用户名密码,修改下面内容,去掉注释

zabbix4.0监控sql server相关指标,支持2008~2016

修改:

$jobname = sqlcmd -S $SQLInstanceName -d msdb -h -1 -W -Q "set nocount on;SELECT [name] FROM msdb.dbo.sysjobs"

$jobname = sqlcmd -S $SQLInstanceName -U $uid -P $pwd -d msdb -h -1 -W -Q "set nocount on;SELECT [name] FROM msdb.dbo.sysjobs"

下面获取 JOBSTATUS 的也一样加入用户名密码参数。

可能原因:

对比权限,2014用户少很多,而且没有SYSTEM用户,不能确定是安装问题,还是2014本身的问题,最终使用用户名密码方式解决

zabbix4.0监控sql server相关指标,支持2008~2016


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络是怎样连接的

网络是怎样连接的

[日]户根勤 / 周自恒 / 人民邮电出版社 / 2017-1-1 / CNY 49.00

本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。 本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从......一起来看看 《网络是怎样连接的》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换