システム運用におけるログ監視とは?目的や対象、必要な機能を紹介
システムを構成するOSやミドルウェア、アプリケーションなどは、その処理内容や処理結果をログとして出力します。これらのログは、システムの稼働状況や処理結果を如実に表すものであり、ログを監視することでシステムの状況を詳細に把握できます。この記事では、ログ監視の目的や監視対象となるログの種類、監視を行う上で必要となるツールの機能などについて解説します。
ログ監視とは
ログ監視とは、サーバー上に存在するOS・ミドルウェア・アプリケーションや、ルーター・スイッチ・ファイアウォールなどのネットワーク機器などで出力される各種ログを監視することです。
これらの各種ソフトウェアやハードウェアが動作する際には、その動作内容や動作結果がログとして出力されます。たとえば、OSに対してログインした履歴はアクセスログとして出力されますし、Webサーバーの処理が失敗した場合にはエラーログとしてその結果が出力されます。
これらのログ情報は、システムの稼働状況や利用状況を表します。システムが問題なく稼動しているのか、もしくは何らかの障害が発生しているのか、ログを通して知ることができます。
ログを定期的に監視することで、システムがどのように動作しており、またどのように利用されているかを詳しく把握できるようになります。
ログ監視の目的
ログ監視を実施する目的は大きく以下の2点です。
①システムの安定運用
②セキュリティ監査
以下では、それぞれの概要についてご紹介します。
①システムの安定運用
ログを監視する目的のひとつは、システム運用フェーズにおいてシステムの安定稼動に活用するためです。ログにはアプリケーションやミドルウェア、OSなどにおける処理エラーやネットワーク機器における通信時のエラーなどの情報が出力されます。これらを監視することで、いつ・どのような理由で処理がエラーとなったかを理解できます。
ログにはエラーコードやタイムスタンプなど、詳細な情報が出力されます。システムの稼働状況を把握するために、死活監視などの方法を活用することもできますが、ログ監視では死活監視よりも詳細な情報を取得することができます。これらの情報を基に、システムの障害原因を確認し、早期復旧や恒久対応へと活用していきます。
②セキュリティ監査
もうひとつの目的は、セキュリティ監査という観点です。ログにはOSやデバイスなどへのアクセス履歴や操作履歴などが出力されます。これらを確認することで、不正アクセスの有無などを把握することができます。
不正アクセスを検知した後、いつ、誰が、どのような操作を行ったかを細かく把握するためには、ログの情報を利用することが欠かせません。
また、不正アクセスの早期検知という観点でも、ログを定期的に確認することで、いち早く異変に気付くことが可能です。通常発生するログとは別のログが出力されている場合、何らか通常と異なる形でシステムが利用されている可能性があります。このような状況を検知した際には、詳細な調査を行うことで不正アクセスの有無を確認することができるでしょう。
監視対象となる主なログの種類
以下では、監視対象となる主なログの種類を紹介します。
サーバー
多くのケースで、システムを稼働させるためにはサーバーを利用します。サーバー上では、OSやミドルウェア、アプリケーションなどが動作します。これらについて、ログの監視を行います。
OS
システムログ(イベントログ)やエラーログ、認証ログなどを参照し、管理者などのログイン履歴や設定変更履歴、処理エラーの履歴などを把握します。
たとえば従業員が意図的にデータを持ち出した場合、誰がいつOSにログインしてそのような操作を行ったかを、ログから把握することができます。
ミドルウェア
データベースやWebサーバーなどのアクセスログやエラーログ、認証ログなどを参照し、システムの処理エラーや不正アクセスの有無などを確認します。
Webサーバーのログには、外部からのアクセス履歴が残ります。誰がどのようなWebページにアクセスしたかといった情報をログから確認することも可能です。
アプリケーション
アクセスログやエラーログ、操作ログなどを参照し、処理エラーやレスポンス遅延、不正アクセスの有無などを確認します。
自社で開発するアプリケーションについては、ログ設計の自由度が高くなります。アプリケーションへのアクセス状況や利用機能、操作内容などのログを取得することで、自社のシステムがどのように利用されているか、詳細に把握できます。
ネットワーク
サーバー同様に、ネットワークの機器についてもログから多くの情報を得ることができます。ルーターやスイッチ、FW、負荷分散装置などのネットワーク機器に対してログ監視を行います。
ルーター
通信のハブとなるルーターにおいては多くのログ情報が出力されます。いつ、どこからどこへと通信が行われたか、またその際にエラーや警告が発生しているかといった情報を確認することができます。
ファイアウォール
通信のブロックを行うファイアウォールにおいては、いつ、どのようなIPアドレスやMACアドレスを持ったアクセス元から、どのようなプロトコルでアクセスがあったか、またその結果ブロックを行ったかどうかといった情報をログとして取得できます。
また、設定変更作業を行った際には、その作業内容についてもログとして出力されます。
UTM
UTMとはUnified Threat Managementの略称であり、日本語では「統合脅威管理」と訳されます。様々なセキュリティ機能を持ったUTMでは、ウイルスの検知状況や不正侵入防止、URLフィルタリングの結果など様々な情報をログとして取得することができます。
クラウド環境
近年では、システムを構築する上でクラウド環境を利用することも一般的になりました。クラウド環境を利用する場合は、出力するログ情報を収集し監視を行います。
AWSやAzure、GCPなどのクラウド環境では、一般的に利用状況に応じてログが出力されます。出力されたログを確認することで、システムの運用やセキュリティ監査に利用することができます。
ログ監視における留意事項
ログ監視においては、以下の点に注意することがポイントです。
差分チェックの実施
一般的にOSやアプリケーションなどからは大量のログが出力されることになります。これらをひとつひとつ全件チェックしていては、ログ監視を行うだけでサーバーやネットワークに大きな負荷をかけることにもなりかねません。
よって、ログ監視においては差分チェックが基本です。監視システム側で、各種ログに対して前回どこまでチェックを行ったかを確認しながら監視を行う必要があります。
監視しやすいログ設計
アプリケーションログなど、出力されるログ内容をコントロールできる場合は、可能な限り監視しやすい形でログを出力することがポイントです。具体的には、以下のような観点に気を付けるとよいでしょう。
- 1行で1エントリを基本とする
- JSONやLTSVなど一般的な出力フォーマットを利用する
- 日時、ステータスコード、メッセージなど必要事項を網羅する
ログローテーションの対応
ログ管理においては、一定間隔でログローテーションとしてログファイルの退避を行うことが一般的です。一方で、ログローテーションが行われるタイミングを考慮しないと、ログファイルの監視漏れが発生することもあります。
ログローテーションにより退避されたファイルについても必要に応じて監視対象とすることで、監視漏れを防ぐことができます。
ログ監視に必要な機能
人力で各種ログをチェックしていくことは現実的ではありません。ログ監視を効率的に行うためには、監視のために必要な機能を持ったツールを利用することが一般的です。
ログ監視を行うためには、どのような機能が必要なのでしょうか。
ログの収集と取り込み
まず必要となる機能が、ログの収集と取り込みです。OSやアプリケーションなど、それぞれの監視対象から出力されるログファイルを収集します。
収集方法は、大きく2つに分けられ、エージェント型(収集対象にエージェントをインストールしてツール側へログデータを送信する方法)と、エージェントレス型(エージェントをインストールすることなくログデータを収集する方法)があります。エージェントレス型のツールであれば、サーバーやデバイスへのインストール作業などを行う必要なく、ログの収集が可能となります。
ログの処理とアラーティング
ログに含まれる情報は大量なものであり、そのすべてを人間が目視で確認することは非現実的です。よって、システムにクリティカルなエラー情報など、大量なログの中から必要な情報を精査し、必要に応じてアラーティングを行い例外的なケースのみを通知するようにします。
この場合、ツール上でアラートを上げる条件を設定し、条件に合致した場合にアラートを上げることとなります。また、高度なツールでは、通常のパターンに合致しないケースが発生した際に自動的に異常を検知する機能を持つものもあります。
ログの可視化
障害発生時の原因究明やセキュリティ監査などにおいては、大量のログ情報から必要な情報を確認することとなります。この際、ツールにログの検索や可視化機能が備わっていれば、有効に活用できます。
ログ情報のトレンドをグラフとして可視化したり、ログの検索として指定した条件に合致したログを出力したりする機能があれば、ログの分析も行いやすくなります。
LogicMonitorによるログ監視の実現
このように、ログ監視を効率的に実施するためには、ログの収集や処理、アラーティング、可視化などの様々な機能を備えたツールを採用することがポイントです。
LogicMonitorは、豊富なログ監視機能を備えたSaaS型のIT統合運用監視サービスです。エージェントレス型のツールであり、エージェントをインストールする手間も必要なく、すぐに監視を始めることができます。
収集したログはキーワード・リソース・グループ・時間範囲など様々な条件で抽出でき、AIOps機能によって通常のパターンから外れたログデータの変化をとらえる高度な異常検出機能も用意されています。
もちろん、ログ監視だけではなく死活監視やサービス監視、ネットワーク監視など一般的な監視項目を網羅した機能が用意されており、自社システムの監視基盤構築に活用できます。
まとめ
この記事では、ログ監視の目的や監視対象、必要となるツールの機能などについて解説を行いました。近年、システムの「オブザーバビリティ(=可観測性)」を重視する潮流が広がっています。ログはシステムの状態を如実に表すものであり、ログの監視はオブザーバビリティの向上に効果的です。ログ監視を効率的に実施できる機能が備わったツールを採用することで、システムのオブザーバビリティ向上にもつなげることができるでしょう。