Systemtap用于生产服务器

时间:2011-06-06 05:16:28

标签: linux-kernel systemtap

我想使用systemtap从远程访问中提取我的linux生产服务器的详细信息。我对此有一些疑问:

  1. 是否有必要在linux生产服务器和linux开发服务器上都有相同的内核。如果没有,那么如何添加对它的支持?
  2. 生产服务器中存在的最低要求是什么?是否有必要使用debuginfo编译生产服务器的内核?
  3. 如何让某个特定群组中的用户能够运行订购脚本?

2 个答案:

答案 0 :(得分:2)

在生产服务器和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 :(得分:1)

systemtap> 1.4中的另一项功能是远程执行:

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

交叉编译,模块传输,跟踪数据传输都是通过ssh传输自动完成的,只要deployment_host安装了相应的systemtap-runtime位。