システムの安定運用に必要な「インフラ監視」とは?具体的な監視内容を紹介
「動いて当たり前」と思われがちなITシステムですが、その裏ではシステムを安定的に動作させるために様々な取り組みが必要となります。システムのインフラを監視し、問題発生時に速やかな対応を実現する「インフラ監視」もその取り組みのひとつです。インフラ監視とは、具体的にどのような取り組みなのでしょうか。また、どのような項目を監視していく必要があるのでしょうか。この記事で解説します。
システムの「インフラ監視」とは?
まず初めに、システムにおけるインフラ監視とは何か整理します。
インフラという言葉はIT業界において一般的に利用される言葉といえますが、そもそもシステムの「インフラ」とは何を意味する言葉なのでしょうか。
「インフラ」という言葉は英語の「Infrastructure(インフラストラクチャー)」の略語です。言葉自体の意味は「基盤」や「下部構造」などを意味しますが、特にITの世界においてはおおむねシステムの稼働や運用のために必要となる様々な基盤要素をインフラと呼びます。具体的には、以下のような要素を総称してインフラもしくはインフラストラクチャーと呼ぶことが多いといえるでしょう。
・システムが動作するサーバーやストレージなどのハードウェア
・ハードウェア上に設置されるOSやミドルウェアなどの基盤的なソフトウェア
・ハードウェア同士を接続する通信回線や通信機器などのネットワーク
・ハードウェアを設置し安定的に稼働させるためのデータセンター など
インフラと対比する言葉として「アプリケーション」が挙げられます。アプリケーションは、ハードウェアやOSの上で、実際に利用者にサービスを提供する機能を持つものです。システムにおけるインフラは、アプリケーションを安定的に稼働させ、最終的にはアプリケーションによって利用者が求めるサービスを提供できるように下支えをする役割を担っています。
インフラを安定的に運用していくためには、インフラの監視が一つの重要な要素となります。
インフラは、一度構築したからといって安定的に稼働し続けてくれるわけではありません。必ず何かが故障したり、継続利用によるリソース不足が発生したりします。たとえば、ハードウェアにおいては電源ケーブルの断線やディスクの故障、OSにおいてはCPUやメモリ、ディスクのリソース不足など、様々なポイントにおいてシステムの安定運用を妨げるような障害が発生してしまいます。
「これらの要素をできるだけ早期に検知し、未然に対応してシステムの安定稼働を維持する」もしくは「障害発生後、システムの安定稼働状態へ迅速に復帰させる」ための取り組みが必要です。このためにも、まずはシステムの異常を早期に検知することがポイントとなります。
インフラの稼働状況を継続的に監視し続けることで、システムの異常を検知する取り組みが、インフラ監視です。
主なインフラ監視項目
具体的にインフラ監視を行う際には、どのような項目を監視していく必要があるのでしょうか。以下では、要素ごとに紹介していきます。
物理機器(ハードウェア)
サーバーやストレージなどのハードウェア機器に対しては、以下が主な監視項目となります。
CPU温度
CPUの温度が高温となると、故障やパフォーマンスの低下につながります。過剰な温度となっていないか、監視を行います。
ディスクステータス
経年劣化などによる物理故障で、サーバーやストレージがHDDやSSDなどを認識できていないケースが想定されます。
ファン回転数
筐体のファン回転数を監視します。回転数が異常に高まっている場合は、CPU等から発生する熱により筐体内が高温となっている可能性があります。
OS
OSに対しては、以下が主な監視項目となります。
CPU使用率
CPUのコアごとに使用率を測定します。CPU負荷が高まっている場合、バッチ処理などが時間内に終了しない状況も想定されます。想定外にCPU負荷が高まっている場合は、プログラムに何らかの問題がある可能性もあります。
メモリ使用率
メモリに余裕がない場合、スワップが頻発しI/Oの負荷が高まってしまい、処理速度やレスポンスタイムに影響します。恒常的にメモリが不足する場合は増設も検討します。
ディスク使用率
ディスクの空き容量に余裕がなくなる前に増設や既存ファイルの削除や退避などの対応が必要となります。
ログインユーザー
リアルタイムでログインしているユーザーや、過去のアクセスログをチェックします。不自然なログインの発生など、セキュリティ面での注意も必要です。
起動中のプロセス
起動しているべきプロセスがダウンしていないかをチェックします。この取り組みはプロセス監視とも呼ばれます。
ディスクI/O状況
ディスクI/Oに遅延が発生していないか、もしくは異常な回数処理がされていないかなどをチェックします。ディスクI/Oはシステム処理におけるボトルネックとなりやすいため、注意すべきポイントとなります。
ミドルウェア
ミドルウェアについては、種類ごとに監視すべき項目が異なります。以下では、主要なミドルウェアとしてWebサーバーとデータベースを取り上げてご紹介します。
Webサーバー
Webサーバーに対しては、以下のような項目が監視項目となります。
リクエスト数
インフラのリソースが耐えきれないほどのリクエストがあると、処理の遅延やサーバーダウンなどにつながります。リクエストが増加傾向にある場合、インフラのリソース増強も検討します。
同時接続数
同様に、同時接続数にも注意が必要です。設定値を超える同時接続があった場合、Webサーバーへアクセスできなくなるなど利用者に適切にサービスを提供できないこともあります。
データベース
データベースに対しては、以下が主な監視項目となります。
実行したクエリ数
どの程度の処理がデータベースで行われているかチェックします。
データベースのロック状況
デッドロックの発生状況などをチェックします。
トランザクション状況
トランザクション処理の実施回数などをチェックします。
クラウド(IaaS)
クラウド環境(IaaS)の利用においては、環境自体を安定的に提供する責任はクラウドサービス事業者側にあり、これまでご紹介したような各監視を行う必要はないといえます。一方で、利用者側でも以下のような項目の監視が必要です。
各種リソース利用状況
クラウド上のコンピューティングリソースの使用状況をチェックします。使用量は利用料金に影響するため、無駄がないかを確認する取り組みは重要です。
サービスの死活状況
クラウド側で障害が発生し、利用できないケースも想定されます。クラウド環境が適切に稼働しているかどうかをチェックすることで、クラウド側のダウンを検知します。
インフラ監視における主な考慮事項
インフラ監視においては、どのような観点がポイントとなるのでしょうか。ここでは、様々な観点から3つのポイントを取り上げて紹介します。
監視データの収集方法
一般的に、監視を行う上ではプロトコルに従ってデータをやり取りすることとなります。プロトコルとは、異なるベンダーや異なる種類の機器同士でもやり取りを行えるように、標準的な通信方法を定めたものです。
監視データのやり取りにおいては、主に以下のようなプロトコルが利用されます。
- ICMP(Internet Control Message Protocol):エラー通知や制御メッセージの転送を実現するプロトコルであり、主に死活監視に用いられる。
- WMI(Windows Management Instrumentation):Microsoftが開発した技術であり、Windows OSの状態を取得するために用いられる。
- SNMP(Simple Network Management Protocol):Linuxやネットワーク機器など一般的なデバイスの状態を取得するために用いられる。
基本的にはこれらのプロトコルに沿って監視データを収集しますが、監視対象から監視データを取得する際には大きく2つの方法があります。
一つは、エージェントをインストールするエージェント型と呼ばれる方法です。エージェント型は、初期設定の煩雑さや機器へ負荷を与えるなどのデメリットがあります。
もう一つはエージェントをインストールせずに利用できるエージェントレス型と呼ばれる方法です。個別にエージェントをインストールする手間がなく、監視対象の増加や変更にも対応しやすいといえます。
ITの役割が重要となっている昨今においては、監視対象の増加に対応しやすいエージェントレス型の採用が有効な選択肢となるでしょう。エージェント型とエージェントレス型の詳細な比較については以下の記事で整理しておりますので、よろしければご参照ください。
オンプレミスからクラウド化への移行対応
モダナイゼーションとして、オンプレミスで構築されたシステムをクラウド環境へ移行する企業も増えています。クラウド環境の監視は、オンプレミスとは少し違った視点も必要です。
また、当面はオンプレミスとクラウドが併存する状況が続くことも想定されます。インフラ監視を行う上では、このようにオンプレミスとクラウドが併存した「ハイブリッドクラウド」の状況に対応できるように考慮しなければなりません。
クラウド監視やハイブリッドクラウドにおいて必要な対応については、以下の記事もご参照ください。
適切なアラーティング
インフラの稼働状況をタイムリーに把握するためには、問題が発生した際にアラートを通知する必要があります。一方で、アラート発生時に過度に担当者や管理者に通知を行ってしまうと、アラートへの対応だけで一日の業務が終わってしまうことにもなりかねません。本当に対応しなければならない問題に対してのみ、アラート通知を行うような仕組みの検討が必要です。
近年では、AIOpsというキーワードでAIを用いた運用監視を行う取り組みも進んでいますが、AIOpsを用いることで「アラーティングの最適化」を行うこともできます。運用監視ツールを選択する際には、AIOps機能の搭載についても確認してみてはいかがでしょうか。
インフラ監視に有効なLogicMonitorとは
これらの考慮事項を意識しつつ、効率的かつ効果的にインフラ監視を行うためにおすすめなのがSaaS型のIT統合運用監視サービスであるLogicMonitorです。エージェントレス型で動作するため、初期設定も簡単に行えるうえ、機器の追加・変更にも対応しやすいといえます。
また、オンプレミス・クラウドを問わず、様々なシステムの運用監視を一元的に実現することもできます。AIOpsによりアラーティングの最適化はもちろん、リソース利用状況の将来予測や予兆検知も実現できるのも特徴です。
インフラ監視業務を効率化できるツールとして、LogicMonitorを検討してみてはいかがでしょうか。
まとめ
この記事では、インフラ監視について解説を行いました。従来のオンプレミスを中心としたインフラ環境から、クラウドを活用したインフラ環境への移行も進んでいます。これからのインフラ監視においては、オンプレミス・クラウドの両方に対応できるツールが求められるといえるでしょう。