1

我正在考虑使用 SystemTap 来监视生产服务器上的 FileSystem 活动。

如何将数据从 SystemTap 生成的内核模块传输到另一个应用程序?我只看到 printf 作为从 SystemTap 脚本输出数据的一种方式,是否有某种套接字接口?

4

1 回答 1

0

systemtap 中目前没有网络 IPC 支持。但是,方法包括:

  • probe FOO { system("some_shell_command") } 将任意 shell 脚本的执行排入队列。
  • probe procfs.{read,write}("PATH") {} 在 /proc 中导出用户空间应用程序可以读/写的文件以直接与 stap 模块对话。
  • stap --remote HOST ...远程执行 stap 模块,并通过 ssh 带回 I/O。
  • 或者使用命名管道: ,在目标应用程序中以只读方式mkfifo tun打开,然后运行​​.tunstap -o tun ...
于 2016-10-31T13:31:48.070 回答