Unix-like OSユーザのみなさん、今日もtopコマンド使ってますか? この「いろんなTop系コマンドを使ってみる」シリーズでは、topに名前を借りたさまざまなコマンドを紹介しています。

前回の記事では、Unix-like OSの中でも特にBSD系のOS (OpenBSD, FreeBSDなど)に備わっているファイアウォール”PF”の状態を確認するpftopコマンドを紹介しました。本コマンドでは、ファイアウォールがいまどんな通信をさばいているのかをリアルタイムで確認できます。

シリーズ四回めの本記事では、ホスト(マシン)の稼働状況を監視するsntopコマンドを紹介します。本コマンドを用いると、あらかじめ設定ファイルに登録しておいた、LAN内あるいはインターネット上にあるホストの生死状況を一括で監視(死活監視)することができます。(ただし、生死確認はfpingあるいはpingコマンドを使って行なわれますので、生きているならばpingに応答することが前提となります。)

では、さっそく詳細を見ていきたいと思います。

まず、以下のコマンドを実行してパッケージをインストールします。

pkg install sntop

上でも述べましたが、本コマンドはホストの生死確認にfpingコマンドを用いますので、fpingパッケージも同時にインストールされます。

設定ファイル

パッケージをインストールすると/usr/local/etc以下に設定ファイルのサンプルが配置されます(sntoprcおよびsntoprc.sample)。これを直接編集するか、あるいはサンプルをsntopコマンドを使いたいユーザのホームディレクトリに${HOME}/.sntoprcとしてコピーしてから編集します。

設定ファイルのフォーマットは非常にシンプルなもので、ホスト一台につき以下に示す三つの情報を設定します。

監視対象のホストが複数ある場合は、ホスト数分だけ上記のエントリを作成します。ただし、エントリとエントリの間は一行空けます。以下、二台のホストを監視する場合の設定ファイル例を示します。

コマンド実行

設定ファイルの作成が終わったら、コマンドを起動してみましょう。

sntop

コマンドを実行すると、設定ファイルに含まれる一連のホストの生死状況を示す表示になります。HOST列には設定ファイルにおける表示名、STATUS列に現在のホストの生死状況(UPあるいはDOWN)、およびCOMMENT列には設定ファイルにおけるコメントが表示されます。

以下は、筆者の自宅内LAN内ホストに対してsntopコマンドを実行した場合の一例を示します。ほとんどのホストが問題なく動作していますが、WiFiアクセスポイントがダウンしていることがわかります。

(sntop) simple network top
HOST              STATUS        COMMENT
HomeGW            UP            RS-500KI
Loveland          UP            Intel NUC
Revelstoke        UP            PC/AT compatible
Sugarbush         UP            Raspberry Pi 2
Tamarack          UP            Raspberry Pi 3
Squawvalley       UP            Raspberry Pi 2
Heavenly          UP            BeagleBone Black
DSLiteGW          UP            EdgeRouter Lite
WiFiAP            DOWN          Aterm WG2600HP2


9 hosts polled: 8 up, 1 down

あれ、でもWiFi使えているのだけど…と思って、WiFiアクセスポイントの管理用Webインターフェイスにアクセスしようとしたら、確かにアクセスできませんしpingにも応答しませんね。思わぬところでsntopが役に立ちました。

コマンドを終了するにはqキーを押下します。

ここで紹介した機能以外にも、状態変化を検知した時や最初にDOWNを検知した時に、指定したスクリプトを実行する機能などもあるようです。詳しくは、sntop --helpおよびman sntopを実行してみてください。

大規模なネットワークの監視には向きませんが、ホストマシンが数十台程度までの小規模なネットワークであれば、インストールや設定が非常に簡単ですので死活監視ツールとして使いやすいのではないかと思います。

以上、本記事では複数ホストの死活監視を行なうsntopコマンドを紹介しました。

参考文献

  1. sntop - simple network top, http://sntop.sourceforge.net/
  2. fping, https://fping.org/