Systemtap для производственного сервера - PullRequest
2 голосов
/ 06 июня 2011

Я хочу использовать systemtap для извлечения подробностей моего производственного сервера Linux из удаленного доступа. У меня есть некоторые сомнения по этому поводу:

  1. Необходимо ли иметь одно и то же ядро ​​как на рабочем сервере linux, так и на сервере разработки linux. Если нет, то как добавить поддержку этого?
  2. Какие минимальные требования предъявляются к производственному серверу? Нужно ли компилировать ядро ​​рабочего сервера с помощью debuginfo?
  3. Как разрешить пользователям в определенной группе запускать сценарии stap?

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Ядро, работающее на рабочем сервере и сервере разработки linux, не обязательно должно совпадать.Руководство для начинающих SystemTap описывает выполнение кросс-компиляции, когда инструментарий для одной версии ядра построен на компьютере, на котором в настоящее время работает другая версия ядра.Это описано в:

http://sourceware.org/systemtap/SystemTap_Beginners_Guide/cross-compiling.html

Производственному серверу просто нужен пакет systemtap-runtime.Производственный сервер не требует установки kernel-devel или kernel-debuginfo при использовании метода кросс-компиляции.

Существуют группы stapusr и stapdev, которые позволяют людям запускать сценарии.stapusr позволяет запускать существующий сценарий в каталоге / lib / modules / uname -r / systemtap (вероятно, то, что требуется в случае запуска кросс-скомпилированных сценариев systemtap).stapdev позволяет компилировать скрипт.

Группы stapusr и stapdev описаны в:

http://sourceware.org/systemtap/SystemTap_Beginners_Guide/using-usage.html

1 голос
/ 28 ноября 2012

Другая возможность в systemtap> 1.4 - удаленное выполнение:

development_host% stap --remote=user@deployment_host -e 'probe begin { exit() } '

, где кросс-компиляция, передача модуля, передача данных трассировки выполняются автоматически с помощью транспорта ssh, если для deploy_host установлены соответствующие биты времени выполнения systemtap.

...