Linuxでの負荷モニタリング体制
ConoHaのオブジェクトストレージ(OpenStack Swift)通信用にrubyクライアントを作っていた時にネットワークとIOの負荷計測をモニタリングしたかったのでモニタリング体制を整えた時のメモ。
ターミナルクライアントはRLoginである(Windows GUIソフト)。
ターミナルクライアントソフト側でウィンドウを分割してくれるためWindowsでは重宝する。
どうしてもteratermが使いたいんだ!という人はlinux側でtmuxを使いましょう。
MacならiTerm2がウィンドウ分割が使えます。
各ウィンドウで動かしているのは以下である
(右上) 作業ウィンドウ
ここで負荷計測対象のコマンドを実行する。
ディスクIOの場合はファイル作成とか圧縮コマンドとかファイル分割とか暗号化とかそういうものを実行する。
ネットワーク負荷を調べたいときはダウンロードソフトとかアップロードソフトを実行する。
(左上) TOPコマンド
ここはお馴染みのtopコマンド
主にCPU負荷や負荷が高いプロセスを確認する。
作業ウィンドウで実行しているプロセスが一番上に来た場合は要注意である
(左下) iftopコマンド ・・ ネットワーク負荷計測
iftopコマンドでネットワークの負荷計測、帯域の限界値をモニタリングする。
iftop -i eth0
でデバイスを指定できる
iftopは割と負荷が高いのでiftop自体の負荷が高くそれが問題になる場合は別のモニタリングを検討する。
参考) http://orebibou.com/2014/09/linux%E3%81%A7%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E7%9B%A3%E8%A6%96%E3%82%92%E8%A1%8C%E3%81%88%E3%82%8B%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%B3/
(右下) iostat ・・・ ディスクio負荷計測
iostatでディスク負荷のモニタリングをする
iostat 1
は秒数を指定するとその間隔(1秒)でモニタリングを更新する