Мы реализовали серверное приложение, доступное только для Windows. Теперь нам нравится переносить его также на Linux, HP-UX и AIX. Это приложение предоставляет внутреннюю статистику через счетчики производительности в системный монитор Windows.
Чтобы быть более точным: приложение представляет собой базу данных, и мы хотели бы предоставлять администратору такую информацию, как количество подключенных пользователей или количество выполненных запросов. Итак, это «новая» информация, являющаяся собственностью нашего приложения. Но нам нравится делать их доступными в той же среде, где операционная система предоставляет такую информацию, как ЦП и т. д. Цель состоит в том, чтобы сделать их легко читаемыми для администратора.
Какой монитор производительности подходит и обычно используется в Linux, HP-UX и AIX?





Я бы сказал: это зависит от того, какую производительность вы хотите отслеживать. Используемое процессорное время? Бесплатная оперативная память? Дисковый ввод-вывод? Количество сортов пива в морозильной камере ...
Но независимо от этого вы можете посмотреть любые файлы ниже / proc. Я не уверен в HP, но по крайней мере Linux и AIX должны иметь это дерево (если оно не деактивировано во время компиляции ядра).
В управлении большинство операционных систем расходятся друг с другом. По этой причине не так много инструментов, общих для всех ОС.
Кроме того, инструменты Unix следуют идиоме единственной ответственности одного процесса, когда один инструмент получает информацию о процессоре, другой - память и т. д.
Единственный инструмент, который я видел в мире Unix, который собирает всю эту информацию в одном месте, - это лучший. Почти все системные администраторы знакомы с этим инструментом и работают со всеми типами ОС, которые вам интересны. У него также есть дополнительное преимущество в виде открытого исходного кода. Вы можете просто расширить этот инструмент, чтобы выставить интересующие вас счетчики и отправить его вместе с вашим приложением.
Другой способ сделать это - открыть счетчики через SNMP и передать это какому-нибудь стороннему инструменту SNMP, например HP open view, который может собирать и представлять согласованное представление вместе с другой информацией управления. Это могло бы быть более предприимчивое решение, которое могло бы понравиться маркетологам.
Я бы также сказал, что это хорошая идея написать автономный консольный инструмент, который администраторы могут использовать из своих собственных скриптов (есть много фирм с супер-человеческими администраторами / сверхоплачиваемым персоналом, который это делает).
Я думаю, что все вместе было бы здоровым решением для ваших требований.
Самыми стандартными инструментами unix для таких данных являются инструменты * stat (iostat, vmstat, netstat) и sar. В Linux вы найдете всю эту информацию в / proc, но в большинстве Unix-систем / proc не содержит того, что вам нужно. Упомянутые инструменты достаточно стандартизированы и могут использоваться для сбора необходимых данных.