サービス監視とは何か?システムの安定運用のために抑えたいポイントを整理
システムの安定的な運用においては、サーバー・OS・ネットワーク機器などシステムを構成する様々な要素に対して監視を行う必要があります。サービスに対する監視も、そのうちの一つです。サービス監視とは、どのような対象に対して、どのように監視を行うことを指すのでしょうか。この記事では、サービス監視の概要や監視対象、主な考慮事項について整理します。
システムの「サービス監視」とは?
システムにおけるサービス監視とは、どのような内容の取り組みなのでしょうか。以下で整理してご紹介します。
システムにおけるサービスとは何か
そもそもシステムにおける「サービス」とは何なのでしょうか。サービスとは様々な文脈で利用される言葉ですが、システムの文脈においては、大まかに以下の2種類の意味で利用されます。
①システムの利用者が業務の実施や課題解決を実現できる、もしくは様々な体験を受けられるように、システムが機能を提供すること。
②システムの内部において処理を実現するために、バックグランドで様々な機能を提供すること。
①においては、システムを「モノ」としてとらえるのではなく、利用者からみた際に必要な機能を提供する「提供者」ととらえるイメージから、サービス(= 提供する)という言葉が使われます。具体的には、アプリケーションやソフトウェアがシステムにおいて利用者にサービスを提供します。
②においては、よりシステム内に注目した視点となります。アプリケーションを実行する上で必要となるWebサーバーやデータベース、LDAPなどの様々なプログラムがバックグラウンドで機能を提供することを、サービスと呼びます。
IT運用の分野で「サービス監視」という単語が用いられる場合、一般的には②の要素が監視対象となります。本記事では、②の意味でのサービスを対象とした監視について解説を行います。
なお、①の意味でのサービスの監視については、アプリケーション監視やAPM(Application Performance Management:アプリケーションの性能監視)などに分類されるものとなります。
サービス監視の必要性
利用者が適切にシステムを利用するためには、そのバックグラウンドで動作するサービスが適切に動作しなければなりません。たとえば、Webサイトにユーザーがアクセスした際に、サーバーやOSが問題なく起動していたとしても、Webサーバーがサービスとして動作しなければ、結局のところユーザーはWebサイトを閲覧することはできません。
このように、利用者が適切にシステムを利用できる状態を維持するためには、バックグラウンドで動作するサービスが適切に動作し続ける必要があります。サービスを提供するプロセスがダウンし、サービスが正常に動作しない状態となってしまえば、利用者のシステム利用に問題が生じます。
よって、サービスが正常に動作しているかを継続的にチェックし、このような事態を未然に防ぐ、もしくは迅速な復旧を行う対応が必要です。このために、サービスの稼働状況を監視する必要があります。
プロセス監視とサービス監視の違い
サービス監視とよく似た概念に、プロセス監視が挙げられます。両者の違いは何なのでしょうか。
ポイントは、プロセスとサービスの関係性にあります。基本的にはシステムのバックグラウンドでは常にプロセスが動作しており、要求を受けたプロセスが要求元にサービスを提供するという関係となっています。
プロセス監視においてはプロセス自体の死活監視などを行います。プロセスがダウンしていれば、当然ながらサービスは提供されません。一方で、プロセスが稼動していたとしても、正常にサービスが提供されていないこともあります。プロセスが提供する処理が適切に行われているかを監視するのがサービス監視です。
監視対象となる主なサービス
具体的には、どのようなサービスに対して監視を行う必要があるのでしょうか。以下では、監視の対象となる主なサービスとその監視内容をご紹介します。
HTTP・HTTPS
Webサーバーとしてリクエスト元に対してレスポンスを返却するのがHTTP及びHTTPSです。
HTTPやHTTPSの監視においては、サービスのレスポンスタイムやレスポンスのヘッダ・ボディ、ステータスコードなどをチェックしていきます。また、HTTPSで通信をおこなう場合はSSL証明書の有効期限なども注意すべき監視ポイントといえるでしょう。
DNS
IPアドレスとホスト名を紐づける役割を担うのがDNSです。DNSが適切に動作していなければ、ホスト名を指定してアクセスしたユーザーはWebページなどを閲覧することができません。
システムが利用するDNSサービスが適切に動作しているか、DNSサービスの応答時間が長くなっていないかなどを監視します。また、DNSレコードが適切に設定されているかも監視ポイントです。プライマリサーバー・セカンダリサーバーなど複数のDNSサーバーを利用している場合は、それぞれの設定内容が正しく一致しているかも確認します。
SMTP・POP3・IMAP
SMTP・POP3・IMAPはメールに関するサービスです。これらが適切に動作していなければ、メールの送受信に問題が発生します。
各サービスが提供されるポートにアクセスし、死活状況の確認やレスポンスタイムなどの計測も行います。
NTP
時刻情報の取得や同期を行うのがNTPです。NTPへ正常にアクセスできなければ、システム内で利用する時刻が不正確なものとなり、たとえば出力されるログも正確な時刻ではなくなってしまいます。レスポンスタイムも計測します。
FTP
FTPはファイル転送を実現します。FTPが正常に動作していなければ、ファイルの送受信に問題が発生します。ファイル転送速度や接続にかかる時間なども計測します。
サービス監視における主な考慮事項
サービス監視を実施する上では、どのような観点がポイントとなるのでしょうか。以下では3つの観点を紹介します。
監視データの収集方法
一般的には、監視を行う際にはプロトコルを利用してデータをやり取りします。プロトコルとは、異なるベンダーや異なる種類の機器同士でもやり取りを行えるように、標準的な通信方法を定めたものです。
監視を行う際には、主に以下のようなプロトコルが利用されます。
- ICMP(Internet Control Message Protocol):エラー通知や制御メッセージの転送を実現するプロトコルであり、主に死活監視に用いられる。
- WMI(Windows Management Instrumentation):Microsoftが開発した技術であり、Windows OSの状態を取得するために用いられる。
- SNMP(Simple Network Management Protocol):Linuxやネットワーク機器など一般的なデバイスの状態を取得するために用いられる。
これらのプロトコルを利用して監視を行う際に、監視データを取得する方法には大きく「エージェント型」と「エージェントレス型」という2つの方法が存在します。
エージェント型では、各サーバーにエージェントをインストールし、エージェントと監視ツールが通信を行ってデータを収集します。動作において機器へ負荷を与えるなどのデメリットがあります。
一方で、エージェントレス型においては、各サーバーにエージェントを個別にインストールする必要がありません。コレクターなどと呼ばれるデータの収集役が標準的なプロトコルにより自動的に監視対象のデータを収集します。
ITの役割が重要となっている昨今においては、監視対象の増加に対応しやすいエージェントレス型の採用が有効な選択肢となるでしょう。
エージェント型とエージェントレス型の詳細な比較については以下の記事もご覧ください。
SaaSの監視も視野に
近年では、アプリケーションをサービスとして利用できるSaaSという仕組みが一般化しています。SaaSは自社で運用管理を行わないで済むというメリットがあり、運用負荷を大幅に下げることができます。
一方で、実際に業務でSaaS利用するにあたっては、その稼働状況を把握した方が良いケースもあります。たとえば、Officeツールなどは多くの従業員が利用するものであり、サービスが利用できない状況になるとその影響範囲は大きいといえます。タイムリーにサービスの稼働状況を確認し、早期に従業員に周知するためにも、SaaSの監視を行うという視点も必要でしょう。
サービス監視に有効なLogicMonitorとは
これらの考慮事項を意識しつつ、効率的かつ効果的にサービス監視を行うためにおすすめなのがSaaS型のIT統合運用監視サービスであるLogicMonitorです。LogicMonitorにはどのような特徴があるのか、以下で紹介します。
クラウドで提供されるIT統合運用監視サービス
クラウド上で提供されるLogicMonitorは、サーバー、ネットワーク、ストレージ、ミドルウェア、コンテナ、アプリケーション、Webサイトに至るまで、ITシステムを網羅的に一元監視できる統合監視プラットフォームです。
エージェントレス型で動作するため、初期設定も簡単という特徴があります。「LogicMonitor Collector Service」がコレクターとして環境内に存在するサーバーやサーバー内で動作するプロセス・サービス、ネットワーク機器などを自動で検出し、対象に合わせたプロトコルを利用して監視データを収集します。
幅広いプロセス・サービスに対応
合計3,000種類の監視テンプレート「LogicModules」が用意されており、一般的な監視項目であればすぐに利用を始めることができるという点もメリットです。Apache、NginxなどのWebサーバー、Oracle、Microsoft SQL、MySQL、MongoDBなどのデータベース、メールサービスなどの様々なプロセス・サービスに対応しており、一般的な利用方法であれば監視項目ごとに設定作業を行う必要がありません。
SaaSの監視にも対応
近年利用が増えているSaaSの監視にも対応しています。特に利用者が多いMicrosoft社のMicrosoft 365(旧名称:Office365)やSalesforce、Zoom、Slack、Webexのモニタリングに対応しています。上述したLogicModulesにこれらのSaaS製品の監視テンプレートが用意されており、容易に監視を始めることができます。
まとめ
この記事では、サービス監視についてご紹介しました。サーバー内で動作するプロセスやサービスの監視という観点に加え、近年ではSaaSの監視という新たな領域にも対応していく必要があります。監視ツールの選択においては、プロセス・サービスに加え、SaaS製品の監視という観点でも比較を行ってみてはいかがでしょうか。