データセンターでLinuxをご利用なら、サーバーで何が起こっているかを素早く把握できる、使いやすい監視ツールを探すのは当然のことです。Linuxの世界には、こうしたツールが豊富にあります。では、最適なツールを見つけるには、どこから始めればよいでしょうか?私にとって、Linuxサーバーの日常的な監視は、Nigel's Monitor(別名nmon)から始まります。
nmonツールは、シンプルなncursesインターフェースを使用して、CPU、メモリ、ネットワーク、ディスク、ファイルシステム、NFS、トッププロセス、リソース、そして電力マイクロパーティションの使用状況を表示します。nmonの最大の利点は、表示内容を自由に選択できることです。また、テキストベースなので、サーバーにセキュアシェルでアクセスし、どこからでも簡単に状況を把握できます(ただし、「どこからでも」そのサーバーにアクセスできる必要があります)。
nmon をインストールして、どのように使用されるかを見てみましょう。
インストール
nmonアプリケーションは、お使いのディストリビューションの標準リポジトリからインストールできます。つまり、nmonはそれほど手間をかけずにインストールできるはずです。aptを使用するディストリビューション(Debian、Ubuntuなど)の場合は、以下の手順を実行してください。
- ターミナルウィンドウを開きます
- sudo apt-get updateコマンドを実行します。
- sudo apt-get install nmonコマンドでソフトウェアをインストールします。
- インストールが完了するまで待ちます
dnf を使用するディストリビューション (Redhat、Fedora、CentOS など) を使用している場合は、次の手順で nmon をインストールします。
- ターミナルウィンドウを開きます
- dnf install epel-releaseコマンドを実行します。
- dnf install nmonコマンドでnmonをインストールします。
- インストールが完了するまで待ちます
これで nmon を使用する準備が整いました。
使用法
nmonがインストールされたので、nmonコマンドを実行するだけで起動できます。nmonウィンドウ(図A)で、表示したい統計情報を切り替えるだけです。
図A

ディスクに関する情報を表示したいとします。キーボードのdキーを押すと、nmonは接続されているすべてのディスクのリアルタイム統計情報を表示します(図B)。
図B

次に、キーボードのnキーとmキーを押して、ネットワークとメモリの統計情報を追加します。表示されるウィンドウに、これらのリアルタイム統計情報が追加されます(図C)。
図C

追加された統計情報は、対応するキーボードキー(追加に使用したキーと同じキー)を押すことでオフにできます。また、このツールには更新速度の調整機能も備わっています。キーボードの「-」キーを押すと画面の更新速度が速くなり、「+」キーを押すと遅くなります。
nmon を終了するには、q キーを押すと、bash プロンプトに戻ります。
このツールには、情報をキャプチャしてファイルに保存する機能も含まれています。これは、一定期間システムを監視し、後で収集したデータを確認する必要がある場合に非常に便利です。例えば、60秒ごとに30回の情報を収集したい場合、次のコマンドを実行します。
nmon -f -s 60 -c 30
上記のコマンドを実行すると、現在の作業ディレクトリに拡張子.nmonのファイルが作成されます。このファイルを開いて、収集されたデータを確認してください。
データ収集のスケジュール設定
nmon で収集したデータを定期的にダンプする cron ジョブを作成することもできます(これは、繰り返し発生する問題のトラブルシューティングに便利です)。簡単な解決策としては、次のような内容のbash スクリプト(ここではnmon.shと呼びます)を作成することです。
#! /bin/sh
ânmon -f -s 60 -c 30
ファイルを保存し、chmod u+x nmon.shコマンドで実行権限を付与します。次に、 crontab -eコマンドでcrontabを開き、編集用に以下のコマンドを入力します。
30 11 * * * ~/nmon.sh
crontabを保存して閉じます。上記のcronジョブは毎日午前11時30分に実行されます。これをニーズに合わせて変更すれば、Linuxデータセンターマシンで発生する問題のトラブルシューティングを簡単に行うことができます。
本当に便利、本当にシンプル
差し迫ったニーズに対する、これよりシンプルな解決策を見つけるのは難しいでしょう。nmonを使えば、Linuxシステムをリアルタイムで監視したり、後日精査するためのデータを収集したりできます。このツールは、Linuxシステム管理者にとって必須と言えるでしょう。