ポート監視とSNMP監視の違いとは?

ポート監視とは、指定したポート番号の通信可否を判定する監視方法です。

ポート番号とは、TCP/IP通信で使用するプログラムの識別番号で、0から65535番まで使用できます。

TCP/IPにおける通信先は、通信のインターフェースに割り当てられたIPアドレスによって決定されます。しかし、届けるパケットが通信先のどのプログラムで使用されるのかはIPアドレスだけではわかりません。どのプログラムにパケットを渡すのかを判別するためにポート番号が使用されます。

このポート番号を監視することで、サーバーの死活のみならず、指定したポートでプログラムが通信できる状態にあるか、プログラムが正常に通信しているかを確認することが可能です。

一方、SNMP監視は、監視対象のサーバーにインストールされているSNMPエージェントの状態を定期的に確認して、サーバーのパフォーマンスに関するデータを取得する監視です。取得した値に障害状態を示す値が見つかった場合や、リソースのしきい値を超えていた場合に障害と判断します。

ポート監視とSNMP監視は監視内容が異なります。どちらの監視を選択して実施するかではなく両方の監視を行うことで、サーバーの状態を判断していくことが望ましいと言えます。

ポート監視の実践方法

ポート監視を実施したいサーバーのOSがWindowsの場合は、PowerShellの「Test-NetConnection」コマンドを使用します。使用方法は以下の通りです。

Test-NetConnection <IPアドレス/ホスト名> -Port <ポート番号>
使用例1:指定したポートでの通信に成功した場合

PS C:\> Test-NetConnection 192.168.0.1 -Port 9090
ComputerName     : 192.168.0.1
RemoteAddress    : 192.168.0.1
RemotePort       : 9090
InterfaceAlias   : イーサネット 1
SourceAddress    : 192.168.1.1
TcpTestSucceeded : True

使用例2:サーバーは起動しているが指定したポートでの通信に失敗した場合

PS C:\WINDOWS\System32> Test-NetConnection 192.168.0.2 -Port 9090
警告: TCP connect to (192.168.0.2 : 9090) failed

ComputerName           : 192.168.0.2
RemoteAddress          : 192.168.0.2
RemotePort             : 9090
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.1.1
PingSucceeded          : True
PingReplyDetails (RTT) : 1 ms
TcpTestSucceeded       : False

ポート監視を実施したいサーバーのOSがLinuxの場合は、「Netcat(nc)」コマンドが使用できます。使用方法は以下の通りです。

nc -v -w <待機時間> <IPアドレス/ホスト名> <ポート番号>
使用例1:指定したポートでの通信に成功した場合

# nc -v -w 1 192.168.0.1 9090
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 192.168.0.1:9090.

使用例2:指定したポートでの通信に失敗した場合

# nc -v -w 1 192.168.0.2 9090
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection timed out.

SNMP監視の実施方法

SNMP監視は、SNMPマネージャからSNMPエージェントに通信を行うことで監視対象の装置のパフォーマンスデータを取得します。
SNMP監視を行う代表的なコマンドには、net-snmpパッケージのsnmpgetコマンドまたはsnmpwalkコマンドがあります。

snmpgetコマンドの使用方法は以下の通りです。
SNMP v1/v2cの場合
snmpget -v <1または2c> <ホスト名:ポート> -c <コミュニティ名> < OID >
SNMP v3の場合
snmpset -v3 -l <セキュリティレベル> -a <認証方式> -A <認証パスワード> -x <暗号化プロトコル> -X <暗号化パスワード> -u <ユーザー名> <ホスト名:ポート> < OID >
※snmpwalkコマンドの使い方についてはこちらのページをご参照ください。
snmpgetまたはsnmpwalkを使用すると、指定したOIDに該当する監視項目の値が監視対象装置から応答として返されます。

ポート監視とSNMP監視をより手軽に実施する方法

サーバーの監視目的でコマンドを用いたポート監視やsnmpgetコマンドを利用したSNMP監視を行う場合、監視対象の装置の台数が増加するにつれて、手動のコマンド実行による監視の負荷が増大していきます。

手動でのコマンド実行よりも効率的にネットワーク機器を管理・監視するには、自動でポート監視やSNMPコマンドを実行してデータを解析するツールを使用するのがお勧めです。

ManageEngineが提供する統合監視ツールである「OpManager」は、ポート監視やSNMPを利用したサーバー監視を実現し、サーバーのステータスが一目で分かるように可視化します。 サーバー監視の他にも、ネットワーク監視、スイッチ監視、ルーター監視、CPU監視、メモリ監視、アプリケーション監視、イベントログ監視機能などが、Webベースのわかりやすい画面で管理できます。ネットワークやサーバー監視に関する知識がない方でも操作が可能で、容易に運用できるのが特徴です。

ポート監視・SNMP監視の自動化・効率化の方法をお探しの場合は、是非「OpManager」の概要や機能詳細をご覧ください。

SNMPから取得したデータをわかりやすく可視化

SNMPから取得したデータをわかりやすく可視化