使用Cacti监视Microsoft SQL服务器

时间:2012-11-19 23:25:16

标签: sql sql-server

是否有人使用Cacti来监控SQL服务器计数器(磁盘队列长度,I / O请求等)。 如果你是,你是怎么做到这一点的?基本上我在SQL Server上收集了许多性能计数器。我需要一种方法来创建图形并切片和切块我收集的数据?如果您知道任何其他图表解决方案,请告诉我?

2 个答案:

答案 0 :(得分:5)

是的,这样做了几次:

http://docs.cacti.net/usertemplate:host:microsoft:sqlserver

效果很好。您需要访问权限才能创建登录。这是您运行的非侵入式脚本:

/*  SQL 2005/2008 */
USE [master]
GO
CREATE LOGIN [cactistats] WITH PASSWORD=SomePassword, DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
EXEC sys.sp_addsrvrolemember @loginame = N'cactistats', @rolename = N'processadmin'
GO
CREATE USER [cactistats] FOR LOGIN [cactistats] WITH DEFAULT_SCHEMA=[dbo]
GO
GRANT SELECT ON [sys].[dm_os_performance_counters] TO [cactistats]
GO
/* END */

运行后,按照安装文档添加脚本,您就可以绘制SQL指标图。

麦克

答案 1 :(得分:0)

此答案是正确标记答案的补充。

如果您需要监控特定的 sql server实例,则需要编辑此脚本文件

/usr/share/cacti/site/scripts/ss_win_mssql.php

并更改行:

if (! $link = mssql_connect($host.':'.$port, $username, $password) )

$host = ($port == '1433' ? $host : $host.':'.$port);
if (! $link = mssql_connect($host, $username, $password) )
     return;

在创建图表时设置主机名和实例如下:

setting the sql instance name