Linuxモニタリングツール pmap, IPTraf, ntop を使ってみた

このエントリを読んでいたら、知らないツールがあったので使ってみました。

今回は、Ubuntu 11.10で使用してみましたが、RedHat系でも同様に使用することができると思います。

pmap

pmap はプロセス毎のメモリ使用状況を表示します。
引数にPIDを付与して実行します。
(インストール)

$ sudo aptitude install procps

(実行例)

$ sudo pmap 533
533:   /usr/sbin/sshd -D
00007f49e1137000        48K r-x--   /lib/x86_64-linux-gnu/libnss_files-2.13.so
00007f49e1143000   2044K -----   /lib/x86_64-linux-gnu/libnss_files-2.13.so
00007f49e1342000          4K r----   /lib/x86_64-linux-gnu/libnss_files-2.13.so
00007f49e1343000          4K rw---  /lib/x86_64-linux-gnu/libnss_files-2.13.so
00007f49e1344000        40K r-x--  /lib/x86_64-linux-gnu/libnss_nis-2.13.so
00007f49e134e000   2048K -----   /lib/x86_64-linux-gnu/libnss_nis-2.13.so
00007f49e154e000          4K r----  /lib/x86_64-linux-gnu/libnss_nis-2.13.so
00007f49e154f000          4K rw---  /lib/x86_64-linux-gnu/libnss_nis-2.13.so
00007f49e1550000       32K r-x--  /lib/x86_64-linux-gnu/libnss_compat-2.13.so
00007f49e1558000   2044K -----  /lib/x86_64-linux-gnu/libnss_compat-2.13.so
00007f49e1757000         4K r----  /lib/x86_64-linux-gnu/libnss_compat-2.13.so
00007f49e1758000         4K rw---  /lib/x86_64-linux-gnu/libnss_compat-2.13.so
00007f49e1759000       92K r-x--  /lib/x86_64-linux-gnu/libresolv-2.13.so
00007f49e1770000   2048K -----  /lib/x86_64-linux-gnu/libresolv-2.13.so
00007f49e1970000         4K r----  /lib/x86_64-linux-gnu/libresolv-2.13.so
00007f49e1971000         4K rw---  /lib/x86_64-linux-gnu/libresolv-2.13.so
00007f49e1972000         8K rw---    [ anon ]
(中略)
ffffffffff600000                4K r-x--    [ anon ]
 total            49684K

上記は sshd のメモリ使用状況です。
d オプションで、Offset や Device 付きで表示されます。

$ sudo pmap -d 533
533:   /usr/sbin/sshd -D
Address                         Kbytes    Mode   Offset                              Device        Mapping
00007f49e1137000        48    r-x--     0000000000000000   0fc:00000  libnss_files-2.13.so
00007f49e1143000    2044    -----    000000000000c000    0fc:00000  libnss_files-2.13.so
00007f49e1342000          4    r----     000000000000b000   0fc:00000  libnss_files-2.13.so
00007f49e1343000          4    rw---    000000000000c000    0fc:00000  libnss_files-2.13.so
00007f49e1344000        40    r-x--    0000000000000000    0fc:00000  libnss_nis-2.13.so
(中略)
ffffffffff600000                 4    r-x--    0000000000000000    000:00000   [ anon ]
mapped: 49684K    writeable/private: 740K    shared: 0K

x オプションで、より詳細な情報が表示されます。

$ sudo pmap -x 533
533:   /usr/sbin/sshd -D
Address                         Kbytes      RSS    Dirty    Mode   Mapping
00007f49e1137000       0             16     0        r-x--   libnss_files-2.13.so
00007f49e1143000       0             0       0        -----   libnss_files-2.13.so
00007f49e1342000       0             4       4        r----   libnss_files-2.13.so
00007f49e1343000       0             4       4        rw---  libnss_files-2.13.so
00007f49e1344000       0             20     0        r-x--   libnss_nis-2.13.so
(中略)
ffffffffff600000               0             0       0        r-x--   [ anon ]
----------------                   ------   ------  ------
total kB                        49684    2792   572

pmap は、管理者権限で実行しないと値が取得できません。

$ pmap 533
533:   /usr/sbin/sshd -D
 total                0K

IPTraf

IPTraf はネットワークトラフィックモニタリングツールです。
リアルタイムでネットワークトラフィック状況が確認できます。
(インストール)

$ sudo aptitude install iptraf

(実行例)
管理者権限で iptraf コマンドを実行します。
何かキーを押します。

メニューが表示されるので、モニタリングしたい項目を選択します。

IP traffice monitor の All interfaces を選択すると、パケットの送受信状況がリアルタイムで表示されます。

ntop

ntopはネットワークトラフィック状況をウェブブラウザで確認することができるツールです。
モニタリング設定などをウェブブラウザから行えるようです。*1
(インストール)
Apacheのインストールは割愛します。

$ sudo aptitude install ntop

インストール中に、管理者画面へアクセスするためのパスワードを設定します。
インストールが完了すると、ntopがデーモンとして起動します。
(設定)
デフォルトでは、eth0 のみをモニタリング対象としているので、モニタリングしたいインタフェースを追加します。
また、デフォルトではポート番号 3000 でモニタリング画面へアクセスできるようになっているので、適当なポート番号に変更します。
今回は、3030 でアクセスするように設定しました。
このあたりの設定は、ウェブブラウザベースでもできるようです。

$ sudo vi /var/lib/ntop/init.cfg
INTERFACES="lo,eth0,eth1"   # モニタリングしたいインタフェースを記述する
$ sudo vi /etc/default/ntop
GETOPT="-n 0 -w 3030"    # w オプションでポート番号を指定する

ntop を再起動します。

$ sudo /etc/init.d/ntop restart

(実行例)
ウェブブラウザで、 http://hostname:3030/ にアクセスします。
サマリ表示とか、

グラフ表示とかでモニタリングできます。


http://www.thegeekstuff.com/2011/12/linux-performance-monitoring-tools/
procps - Home Page
IPTraf - An IP Network Monitor
ntopng – ntop

*1:ブラウザから設定できると知らず、テキストベースで設定しました。