第41章 SystemTap でのネットワークアクティビティーの監視

/usr/share/systemtap/testsuite/systemtap.examples/ ディレクトリーで利用可能な SystemTap スクリプトの例を使用して、systemtap-testsuite パッケージをインストールし、システムのネットワークアクティビティーを監視して調べることができます。

41.1. SystemTap でのネットワークアクティビティーのプロファイル

nettop.stp のサンプルの SystemTap スクリプトを使用して、ネットワークアクティビティーのプロファイルを作成できます。このスクリプトは、システムでネットワークトラフィックを生成しているプロセスを追跡し、各プロセスに関する以下の情報を提供します。

PID
リスト表示されているプロセスの ID。
UID
ユーザー ID。ユーザー ID が 0 の場合は、root ユーザーを指します。
DEV
データの送受信に使用されるイーサネットデバイス (eth0、eth1 など)。
XMIT_PK
プロセスが送信したパケットの数。
RECV_PK
プロセスが受信したパケットの数。
XMIT_KB
プロセスにより送信されたデータの量 (キロバイト)。
RECV_KB
サービスが受信したデータの量 (キロバイト単位)。

前提条件

手順

  • nettop.stp スクリプトを実行します。

    # stap  --example nettop.stp

    nettop.stp スクリプトは、5 秒間隔でネットワークプロファイルのサンプリングを行います。

    nettop.stp スクリプトの出力は、以下のようになります。

    [...]
      PID   UID DEV     XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
        0     0 eth0          0       5       0       0 swapper
    11178     0 eth0          2       0       0       0 synergyc
      PID   UID DEV     XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
     2886     4 eth0         79       0       5       0 cups-polld
    11362     0 eth0          0      61       0       5 firefox
        0     0 eth0          3      32       0       3 swapper
     2886     4 lo            4       4       0       0 cups-polld
    11178     0 eth0          3       0       0       0 synergyc
      PID   UID DEV     XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
        0     0 eth0          0       6       0       0 swapper
     2886     4 lo            2       2       0       0 cups-polld
    11178     0 eth0          3       0       0       0 synergyc
     3611     0 eth0          0       1       0       0 Xorg
      PID   UID DEV     XMIT_PK RECV_PK XMIT_KB RECV_KB COMMAND
        0     0 eth0          3      42       0       2 swapper
    11178     0 eth0         43       1       3       0 synergyc
    11362     0 eth0          0       7       0       0 firefox
     3897     0 eth0          0       1       0       0 multiload-apple