Данные Perfmon в SQL

Данные Perfmon в SQL

Извините за стену текста ниже.

На моем рабочем месте у нас довольно много серверов Exchange и поддерживающих контроллеров домена, все они в настоящее время отслеживаются SCOM. Я настроил определенные элементы мониторинга поверх того, что SCOM может делать на веб-сайте ASP.net, поддерживаемом SQL DB.

Я хочу более внимательно следить за серверами, чтобы мы могли:

Baseline the servers better for historical comparison
If a problem occurs we can pull out more raw data.

Для этого я хочу вытащить больше данных из счетчиков Perfmon. Я знаю, что SCOM может вытащить некоторые данные Perfmon, и он это делает, но наша реализация SCOM довольно большая, и ребята, которые ею управляют, не хотят, чтобы я увеличивал частоту счетчиков до достаточно частой, чтобы иногда быть полезными.

Кроме того, запрос данных из базы данных SCOM означает, что я не могу по-настоящему изменить индексы, контролировать время ожидания нужных мне данных или по-настоящему контролировать то, что мне может понадобиться.

Мой вопрос на самом деле заключается не в том, как мне подойти к этому вопросу, а в том, как мне на самом деле извлечь данные и вставить их, поскольку у меня уже есть скрипты, которые могут извлекать данные и вставлять их в SQL.

Грубо говоря, серверы делятся следующим образом:

Exchange 2007 in Domain1.com
Exchange 2010 in Domain2.com

Серверы для Exchange 2007/2010 логически разделены следующим образом:

Mailbox Servers
Client Access Servers
Hub Transport Servers
Domain Controllers

Я хотел бы получить счетчики для основных показателей со всех перечисленных выше серверов, а затем более подробно рассмотреть конкретные типы серверов, например, извлечь среднюю задержку RPC из серверов почтовых ящиков, количество подключений из серверов CAS, количество отправленных сообщений/сек для серверов HT и т. д.

Итак, я хочу создать 4 типа скриптов, по одному для каждого класса серверов, а затем запускать их с каждого сервера по расписанию, чтобы записывать некоторые данные, подключаться к моей базе данных SQL, а затем вставлять записи в таблицы.

Что касается моих таблиц SQL, следует ли мне создавать по одной таблице на класс сервера или просто поместить все записи в одну таблицу?

плохая ли это идея запускать локальный скрипт на каждом сервере, который выбрасывает все данные в таблицу SQL? Я рассматривал возможность удаленного сбора данных, но если я просто хочу собирать немного данных каждые несколько минут, я обнаружил, что время сильно варьируется из-за задержек в сети или других факторов, которые сбивают синхронизацию.

Мне также было бы интересно услышать о возможных решениях по архивированию, например, о том, как вести более частые записи за последние дни (возможно, каждые 5 минут для всех счетчиков в течение 5 дней), но вести менее частые записи за прошлые периоды.

решение1

В конце концов я просто запустил удаленный сбор, но для ограниченного набора данных, и установил интервал примерно раз в 5 минут, что пока кажется приемлемым. Мне нужно подумать о сохранении данных, эффективности запросов и т. д., но пока я ответил на свой собственный вопрос, никто ничего не предложил.

Связанный контент