0
実稼働サーバー上のFileSystemアクティビティを監視するためにSystemTapを使用することを検討しています。SystemTapプロセス間通信
SystemTapが生成するカーネルモジュールから他のアプリケーションにデータを転送するにはどうすればよいですか?私はSystemTapスクリプトからデータを出力する方法としてprintfを見ただけですが、ソケットインターフェイスがありますか?
実稼働サーバー上のFileSystemアクティビティを監視するためにSystemTapを使用することを検討しています。SystemTapプロセス間通信
SystemTapが生成するカーネルモジュールから他のアプリケーションにデータを転送するにはどうすればよいですか?私はSystemTapスクリプトからデータを出力する方法としてprintfを見ただけですが、ソケットインターフェイスがありますか?
現在、systemtapにネットワークIPCサポートはありません。しかし、方法は:任意のシェルスクリプトの実行をエンキューするために:
probe FOO { system("some_shell_command") }
を含む。probe procfs.{read,write}("PATH") {}
/procのファイルをエクスポートするには、userspaceアプリケーションがstapモジュールと直接通信できるように読み書きできます。stap --remote HOST ...
stapモジュールをリモートで実行し、ssh経由でI/Oを戻します。mkfifo tun
を開いて、tun
を対象アプリで読み取り専用にしてから、stap -o tun ...
を実行します。