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