Система состоит из некоторого количества серверов (до 20) в одном домене, на которых работает несколько консольных приложений, координируемых приложением — лоад-балансером. Также присутствует центральный сервер — координатор всех остальных серверов. Все написано на .NET 3.5, взаимодействие — WCF.
Задача состоит в мониторинге некоторого набора параметров каждого сервера и системы в целом. Например: процент свободного дискового пространства, процент свободной памяти, размер очередей ввода-вывода, количество обрабатываемых тасков в секунду, частота падений приложений, актуальность баз (критичный набор файлов) на каждом из серверов и еще много других. Т.е. некоторые параметры чисто системные, другие могут быть получены только из самих приложений. Нужно отображать состояние всей системы на одном экране и каждого сервера, при необходимости, — тоже на отдельном экране. Т.е. нужно показывать не просто таблицу с цифрами, а, к тому же, и графики. Также хотелось бы конфигурировать тревоги (например, цифра с оставшимся дисковым пространством начинает мигать красным, если осталось меньше 10%).
Задача, на мой субъективный взгляд, хорошо решается с помощью технологии OPC XML DataAccess. Но технология эта все же предназначена для построения SCADA-систем (мониторинг и управление промышленным производством) и в данном случае ее применение наводит на мысли о пушках и воробьях.
Мне кажется, что задача типовая, и многие должны были сталкиваться с ее решением. Может быть, есть специализированные технологии/библиотеки для этого?