Служба Windows и информация о производительности с использованием C # - PullRequest
4 голосов
/ 27 июля 2011

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

Я хотел бы создать простую службу Windows с использованием C #, которая каждые 5 минут может проверять наиболее распространенные счетчики производительности в системе Windows и загружать результаты в WCF.service.

Мои вопросы:

1) Никогда не работал с счетчиками производительности в .NET, это довольно просто сделать?

2) Есть ли какие-либо проблемы с разрешениями, которые мне нужно беспокоить?Скорее всего, служба будет работать под "локальной системой" или учетной записью пользователя домена.

3) Какие общие счетчики производительности мне следует искать ... Память, ЦП, Диск?

4) Кто-нибудь еще написал код, похожий на этот, и есть ли у него примеры для начала?

Буду признателен за любую помощь.

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Отслеживать счетчики производительности не сложно, используя .NET , однако я рекомендую использовать существующие инструменты (такие как SCOM ), которые сделают именно это для вас.

0 голосов
/ 28 апреля 2018

В случае, если другие могут найти это полезным (или я в будущем);)

  1. Да - Счетчики производительности
  2. К сожалению, я не знаюответ на этот, но я буду обновлять, если я узнаю это.: D
  3. Это будет зависеть от контекста.Скорее всего, вы захотите отслеживать немного отличающиеся счетчики для серверов Database и серверов Application .Об этом есть много отличных ресурсов.
  4. Вот пара ключевых файлов, которые я нашел в различных проектах на Github.Они могут быть не идеальными или отражать вышеупомянутые статьи, но они дают представление о структуре.Вы также можете сослаться на примеры в официальной документации по PerformanceCounter Class .
    1. TelemetryInstrumentService.cs от Скотт ДеХан
    2. CounterWatcher.cs от CryptonZylog
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...