Есть ли какой-нибудь (бесплатный) инструмент, который считывает счетчики производительности (Windows 2008 Server, но поддержка 2003 года - бонус) и добавляет их в базу данных MS SQL Server 2008?
Не нужно быть слишком навороченным, поскольку в худшем случае я могу добавить «ротацию журнала» с помощью триггеров.
Редактировать: Чтобы уточнить, я хочу прочитать любой счетчик производительности (загрузка ЦП, очередь диска, материал ASP.net) и просто использовать SQL Server в качестве хранилища данных. Вроде как работает встроенное ведение журнала CSV.
На самом деле вы хотите, чтобы это было открытым текстом. Perfmon может регистрироваться непосредственно на сервере sql, но создает свою собственную схему и таблицы. Возможно, стоит внимательно изучить схему и разработать свои собственные представления для добавления к ней, потому что тогда любой добавленный вами счетчик будет автоматически генерировать любые вычисления, которые вы хотите выполнить с метрикой. Схему можно найти здесь. Если вы используете relog, вы захотите использовать эта статья, чтобы преобразовать дату / время
Вот пример запроса для возврата минимального максимума и среднего значения, сгруппированных по 30 минутам. интервалы:
SELECT t2.objectname, t2.countername,
DATEADD( minute,
(DATEPART(minute,CAST(SUBSTRING(t1.counterdatetime,1,23) AS DATETIME))/30)*30,
DATEADD(hour,DATEDIFF(hour,0,CAST(SUBSTRING(t1.counterdatetime,1,23) AS DATETIME)),0)) AS Period,
AVG(t1.countervalue) AS [Avg],
MIN(t1.countervalue) AS [Min],
MAX(t1.countervalue) AS [Max]
FROM counterdata t1 INNER JOIN counterdetails t2 ON t2.counterid=t1.counterid
WHERE t2.countername = '% Processor Time' AND t2.instancename = '_Total'
AND t2.objectname = 'Processor'
GROUP BY DATEADD( minute, (DATEPART(minute,CAST(SUBSTRING(t1.counterdatetime,1,23) AS DATETIME))/30)*30,
DATEADD(hour,DATEDIFF(hour,0,CAST(SUBSTRING(t1.counterdatetime,1,23) AS DATETIME)),0)),
t2.objectname, t2.countername
ORDER BY Period
logman.exe и relog.exe, встроенные инструменты из ОС Windows. Видеть Описание инструментов Windows XP Logman.exe, Relog.exe и Typeperf.exe.
Краткий пример на Перенос двоичных файлов журнала Perfmon в SQL
Это правда, что теоретически вы можете собрать образцы прямо в SQL с помощью logman, на практике лучше собрать в двоичном формате, а затем преобразовать их в SQL с помощью relog.
Я знаю, что это старый, но я не вижу ни одного ответа, помеченного как принятый, поэтому я добавлю свои два цента ...
Я искал похожую вещь и наткнулся на инструмент под названием PolyMon (http://polymon.codeplex.com/). Фактические счетчики производительности собираются службой Windows и затем хранятся в SQL Server. Пользовательский интерфейс управления довольно неуклюжий, но он работает, и на данный момент я установил около 60 счетчиков.