Sql server 将查询结果输出到windows 性能计数器

Sql server  安装后本身会有监控项目到windows 的性能计数器,比如,cpu,内存,连接数之类的监控项目,而我们通过zabbix 来监控性能计数器中的值

目的:但比如我们总会有一些需求监控,比如监控当前数据库会话数或当前某个业务的数据值需要时刻动态监控它,这个就需要我们自定义监控了

思路:  1,将查询结果做成一个存储过程

             1.1 存储过程里面将查询结果输出到性能计数器的实例值中

             2,在Sql server 作业里面,新建一个作业来执行这个存储过程,然后每30秒执行一次

             3,zabbix 自定义监控性能计数器值(如果不知道百度,本文针对有zabbix和Sql server 有基础的童鞋)

性能计数器:我们能输出到性能计数器中SQLServer:User Settable   这个计数器下的10个实例,User counter 1--User counter 10。

            

1,新建存储过程


USE [test]
GO


SET ANSI_NULLS ON
GO


SET QUOTED_IDENTIFIER ON
GO


-- 数据库当前会话数  
-- DROP PROCEDURE [dbo].[spUserCounter12_seesion_acount]  
CREATE PROCEDURE [dbo].[USP_spUserCounter12_seesion_acount]  
AS      
BEGIN   
SET NOCOUNT ON     
DECLARE @seesionacount INT
SET @seesionacount = 0  
select @seesionacount= count(*) from sys.dm_exec_sessions 
select @seesionacount


EXECUTE sp_user_counter3 @seesionacount         

-- 主要就是sp_user_counter3 这个是 性能计数器 SQLServer:User Settable(User counter 3)\Query   这个实例的值  ,我用的是User counter 3
SET NOCOUNT OFF    
END      
GO


2,新建作业

主要就是

常规:填写作业名称,调用的用户可以填写 sa

步骤,使用类型“Transact-SQL脚本”

          然后命令里面,执行存储过程

计划:设置每天执行,每30秒执行一次




3,在zabbix_agent 配置文件中,自定义key 获取性能计数器SQLServer:User Settable(User counter 3)\Query   的值


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值