我正在考虑使用 SystemTap 来监视生产服务器上的 FileSystem 活动。
如何将数据从 SystemTap 生成的内核模块传输到另一个应用程序?我只看到 printf 作为从 SystemTap 脚本输出数据的一种方式,是否有某种套接字接口?
我正在考虑使用 SystemTap 来监视生产服务器上的 FileSystem 活动。
如何将数据从 SystemTap 生成的内核模块传输到另一个应用程序?我只看到 printf 作为从 SystemTap 脚本输出数据的一种方式,是否有某种套接字接口?
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
打开,然后运行.tun
stap -o tun ...