logo

ポート監視とは?必要性や実施方法、実現できること・できないことを紹介

システム監視の際によく実施されるのが、サーバーや機器などの稼働状況を把握するための死活監視です。Pingを利用して行われることが多い死活監視ですが、ポートレベルでの監視を行うことで、より詳しい情報を収集することができます。

この記事では、ポート監視の概要や必要性、実現できること・できないことや具体的な実施方法についてご紹介します。

01.ポート監視とは?

まず初めに、ポート監視について紹介します。

ポートとは?

そもそも、システムにおける「ポート」とは何を意味するのでしょうか。IT業界において、ポートは様々な意味で用いられます。一例としては、LANケーブルを接続するための接続先となる「LANポート」やUSBケーブルを接続するための接続先となる「USBポート」など、物理的な差し込み口の意味でも用いられます。今回ご紹介する、「ポート監視」という言葉におけるポートとは、インターネット通信において標準的に用いられるプロトコルであるTCP/IPにおいて、サーバー内のどのサービスと接続するかを指定するための具体的な宛先を指すものです。

TCP/IPにおいてポートは重要な概念です。コンピューター同士が通信する際には、サーバー内に存在する複数のサービスのうち、どれと通信するかを決めるためにポート番号の指定が必要です。

たとえば、PCからサーバーへと通信を行うケースを想定します。通信先となるサーバー内では、一般的にデータベースサーバーやWebサーバー、FTPサーバーなど様々なサービスが稼動しています。この時、Webサイトの表示をリクエストしたい場合には、Webサーバー宛てに通信を行う必要があります。IPアドレスを指定することでサーバーを指定して通信を行うことができますが、それだけでは具体的にWebサーバーを指定して通信することはできません。PCからサーバーへの通信においてポート番号を指定することで、具体的にどのサービスと通信するかを決めるのです。

指定したポート番号の通信可否を判定するポート監視

サーバーは、PCなどのクライアントからポート番号を指定したリクエストが来るのを待ち構えています。サーバー側では、あらかじめ稼働させているサービスに対応するポートのみ通信を受け付けるように設定されています。一方で、サービスの不具合や設定ミスなどにより、本来受け付けるべきポートとの通信を受け付けられない状態になっていることがあります。これでは、システムが期待されている機能を提供することができません。

ポートの稼働状況をチェックすることで、システムに不具合が生じていないかをチェックするのがポート監視です。ポート監視はPing監視などと合わせて、死活監視の一つとして実施されています。

なぜポート監視が必要なのか

なぜ、ポートレベルで死活監視を行う必要があるのでしょうか。それは、サーバーの稼働状況をより詳細に把握するためです。

ポート監視と同じように死活監視で実施されることが多いPing監視では、サーバー自体の稼働状況は把握できますが、各サービスの稼働状況までは把握できません。たとえば、サーバー自体は稼働しているもののサーバー内のデータベースがダウンしている状況においては、Ping監視のみではデータベースの障害に気付くことができません。

Ping監視だけではなく、ポートレベルでの監視を行うことで、サーバーの稼働状況をより詳細に監視することができます。これにより、障害発生の様々なパターンに対応しやすくなります。

参考:よく利用されるポートの例

TCP/IPでは良く利用されるポートは「Well Known Port」としてあらかじめ定められています。以下では、参考までに一般的にポート監視の対象となることが多いポートについて紹介します。

プロトコル名 ポート番号 概要 利用例 FTP 20、21 データ転送を行う ・ファイルサーバーの構築 SMTP 25 メール送信・転送を行う ・メールサーバーの構築 ・メール配信サービスの提供 DNS 53 IPアドレスとホスト名を紐づける ・外部と通信を行うサーバーの設定 HTTP 80 Webサービスを提供する ・Webサイトの提供 NTP 123 時刻情報の取得・同期を行う ・サーバーやストレージなどあらゆる機器へ利用 HTTPS 443 暗号化されたWebサービスを提供する ・Webサイトの提供

02.ポート監視により実現できること・できないこと

ポート監視によりサーバーの稼働状況を把握できるものの、ポート監視にも限界があります。以下では、ポート監視によりできること・できないことを整理します。

できること

サービスの稼働状況把握(死活監視)

ポート監視により、サーバー自体だけではなくサービスのレベルで稼働状況を把握することができます。Pingによる死活監視よりも詳細な情報を収集できるというメリットがあります。

ポートがダウンしていると、そのポートを利用する通信は動作しないこととなります。Webサーバーやデータベースサーバーが停止した状態ではシステムは正常に機能を提供できないため、早期の復旧対応が必要です。

セキュリティの確認・強化

ポート監視のもう一つの観点に、セキュリティ面での確認というものがあります。サーバーにおいて不要なポートが開かれている状態は、セキュリティ上のリスクとなります。これは、そのポートを起点として外部から不正なアクセスを受けてしまう可能性があるためです。

よって、稼働しているポートのチェックを行い、不要なポートが開かれていないかを確認し、場合によりポートを閉じます。これにより、セキュリティを強化することができます。

できないこと

機器のリソース利用状況等詳細の把握(状態監視)

ポート監視の役割は、あくまでポートレベルでの機能(サービス)ごとの通信状況を把握するまでであり、たとえばサーバーのリソース利用状況など、それ以外の詳細な情報については収集できません。これらの情報を収集するためには、SNMPなど他の手法を併用する必要があります。

ポート監視は原則として死活監視を実現するまでであり、状態監視など他の領域については別の方法を用いることとなります。役割分担が必要です。

サービスが正常に機能しているかの確認

サービス自体が応答しているものの、何らかの理由により正常に機能が提供できていないケースもあります。たとえば、Webサーバーに対してポート監視を行った際に応答があった場合でも、ユーザーのブラウザからアクセスした際には正常にページが表示されないといったケースも想定されます。この場合、たとえばアプリケーションレベルでのエラーや、外部サービス側でのエラーなど、他の要因で機能が利用できない状況に陥っていると考えられます。

このような障害パターンを検知するためには、目視によるWebサイトの確認やHTTPステータスコードのチェック、サービスのレスポンスタイムの測定など、他の監視方法によるチェックが必要となります。

なお、サービスが正常に稼働しているかどうかを「サービス監視」と呼ぶこともあります。以下の記事では、サービス監視について詳細に解説しております。併せてご覧ください。

03.ポート監視の実施方法

以下では、ポート監視の具体的な実施方法について紹介します。

コマンドを実施する方法

まず紹介するのは、コマンドを利用して手動でポート監視を実施する方法です。WindowsであればPowerShellの「Test-NetConnection」コマンド、Linuxであれば「netstat」、「nc」、「ss」コマンドなどを用いることで、ポートに対してレスポンスをリクエストすることができます。ポートが正常にアクセスを受け付けていれば正常なレスポンスが、そうでなければエラーとなります。

結果の判定方法は、対象となるポートがTCPかUDPかにより異なります。TCPの場合、3ウェイハンドシェイクで通信コネクションの確立が行われるため、監視対象から応答が返されればポートは正常に稼動していることとなります。一方でUDPの場合は、コネクションの確立を行わないため、正常に動作している場合は監視対象から応答はありません。正常に動作していない場合は「ICMP port unreachable」というメッセージが返されるため、それにより状態を把握することとなります。

ツールを利用する方法

小規模かつ重要度の低いシステムであれば、手動でコマンドを打つことによりポート監視を実施する方法で十分であるケースもあります。しかしながら、手作業でポート監視を含めた死活監視を行うのは大変です。よって、ポート監視を行う場合は、一般的にはツールを利用することとなります。

ツールを利用することで、一定時間ごとに自動的にポートの状態を確認することができるようになります。利用するツールにもよりますが、可視化の機能が用意されているものであれば、異常がある場合にその箇所を視覚的に確認できます。

異常が発生している場合、アラートを発報することで管理者に知らせる機能が備わっているツールもあります。ポート監視でエラーが発生した際、アラートを発報するように設定しておくことで、運用管理者は常にツールを見る必要がなくなり、異常時には早期に対応を開始できるというメリットがあります。

04.ポート監視を含めた統合的な監視を実現するLogicMonitor

このように、ポート監視を実施する上ではツールの活用が有効となります。しかしながら、記事中でもご紹介した通り、システムの運用管理においてポート監視はあくまで一つの手段であり、サービス監視やトラフィック監視、リソース監視など、様々な手段でシステムを監視していく必要があります。これらの監視を個々のツールで実施することもできますが、オールインワンですべての機能が備わったツールを利用することで、ツールを使い分けることなく一元的な監視を実現できます。

SaaS型のIT統合運用監視サービスであるLogicMonitorは、ポートの監視だけではなくリソース監視、トラフィック監視など様々な観点での監視を実現するツールです。ネットワークトポロジー上にサーバーやネットワーク機器をマッピングし、状態を把握できる可視化機能を備えており、異常時も早期に問題となっている個所を特定。合計3,000種類もの監視テンプレート「LogicModules」が用意されており、一般的な監視項目であればすぐに利用を開始できます。Webサーバー、データベース、メールサービスなどの様々なサービスに対応しており、一般的な利用方法であれば監視項目ごとに設定作業を行う必要もありません。

ポート監視を含めて、統合的なシステム運用監視を実現していくために有効なツールといえるでしょう。

05.まとめ

この記事ではポート監視について、そもそもポートとは何かという内容から、ポート監視が実現できること・できないこと、ポート監視の実施方法など、様々な観点でご紹介しました。デジタル化が進むビジネスにおいて、多種多様なシステムが利用されるようになっています。それに伴って運用管理の負荷が高まっている企業も多いのではないでしょうか。そのような企業にとって、統合的な運用監視ツールの活用は作業効率の向上や運用管理の品質向上など、様々な観点で有効な選択肢となるでしょう。