2

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

4

2 回答 2

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 指标图表。

麦克风

于 2012-12-16T16:41:18.513 回答
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;

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

设置sql实例名称

于 2017-03-28T16:07:37.627 回答