フリー版でできるリアルタイムログ監視 #4 – 機器固有のログ形式に対応するダッシュボードを作りたい

機器ごとに異なる形式で出力されるログを一元管理し、Web GUI上で簡単に調査できるようにしたい…。

Nagios Log Serverを使えば、各機器のログ形式に応じたカスタムダッシュボードを作成することができるため、ログの調査が簡単になります。もちろんフリー版でも可能です。ただし、機器固有のログ形式を反映したわかりやすいカスタムダッシュボードを作成するためには、Nagios Log Serverのログ収集処理をカスタマイズする必要があります。

フリー版でできるリアルタイムログ監視 記事一覧
#1 Nagios Log Serverの特長とダッシュボードカスタマイズ例
#2 ログの急増を調査する
#3 社内の不正アクセスを調査する
・#4 機器固有のログ形式に対応するダッシュボードを作りたい(本記事)
#5 Windowsイベントログの監視

Nagios Log ServerのベースはELK Stack

Nagios Log Serverはオープンソース製品群 ELK Stack (Elasticsearch, Logstash, Kibana) をベースに開発されたソフトウエアアプリケーションです。各機器からNagios Log Serverへ送信されたログは、Logstashが受信しElasticsearchデータベースに保存します。ユーザーはKibanaをベースに開発されたNagios Log ServerのWeb GUIへアクセスしてElasticsearchに保存されたログデータを閲覧します。

Nagios Log Serverのログ収集処理をカスタマイズするということは、Logstashのインプット、フィルター構成をカスタマイズすることを意味します。

Nagios Log Serverの Logstash構成

Nagios Log Serverにはデフォルトで4つのインプットと1つのフィルターが定義されています([構成] > [グローバル構成])。

それぞれの定義の[+]アイコンをクリックすると、定義内容が展開表示されます。

左上の[Syslog(Default)]が、Syslog受信用のデフォルトインプット定義です。これは、RFC 3164形式に準拠したSyslogを受信するためのもので、5544(tcp/udp)ポートで送信されたSyslogを受信し、typeフィールドにsyslogという値を設定するように定義されています。

RFC 3164形式に準拠しないSyslogをNagios Log Serverで受信したい場合は、syslogインプットではなく、tcpまたはudpインプット定義を追加する(またはデフォルトの syslogインプットをtcpまたはudpインプットに変更する)必要があります。下は、5545(tcp/udp)ポートで送信されたログを受信し、typeフィールドにsyslog2という値を設定するカスタムインプットを追加した例です。

注記:

  • インプット定義で使用するポート番号は重複しないようにしてください。
  • デフォルト以外のポート番号を使用する場合は、OSのFirewallでこのポートの使用を許可する必要があります。
  • 1024未満の特権ポートを使用したい場合は追加の作業が必要です。

さらに機器固有のログ形式を反映するカスタムダッシュボードを作成するためには、ログのメッセージ内容をフィールドに分割する必要があります。これはLogstashのフィルター定義で行います。デフォルトでは、Apacheログ用のフィルターが1つだけ定義されています。

下はカスタムフィルターの定義例です。ニーズにあわせてメッセージの内容を任意のフィールドに分割します。

カスタムインプットおよびフィルターの定義が完了したら、[保存] ボタンをクリックして設定を保存した後に [確認] ボタンをクリックして定義が正しいことを確認します。

定義に誤りがないことが確認できたら、[構成の適用] > [適用] を実行して構成変更をシステムに反映させます。

※Nagios Log Serverでは(サーバーコンソールではなく)Web GUI上でLogstash構文の編集や構成の適用(Logstashサービスの再起動)作業を行うことができます。

構成の適用以降に受信したログが新しいLogstash構成で処理されます(既に保存済みのログは処理されません)。これによりログメッセージがフィールドごとに分割して保存されるようになるため、各フィールドの情報をダッシュボード上で棒グラフ、折れ線グラフ、円グラフ、テーブル形式などで表現することができるようになります。さらに任意のフィールドに対してマウス操作で簡単にフィルター条件を追加しログデータを絞り込むこともできるようになります。

下はカスタムダッシュボードの例です。

Logstashのフィルター定義は多少骨が折れますが、一度定義すればNagios Log Serverでのログ調査が格段に楽になります。まずは評価版からお試しください。

Logstash構文の参考サイト

以下はLogstash構文およびgrokフィルターのパターン定義作業に役立つサイトです:

こんな記事も読まれています

最新記事

おすすめ記事

  1. 「リモートデスクトップの操作が遅い!」の原因を高速特定!ntopngによる輻輳原因の究明アプローチを実例でご紹介

  2. フリーWi-Fiに潜む悪魔の双子(エビルツイン)とは。加害者・被害者にならないために知るべきこと

  3. 「疑わしい」Windowsイベントログを抽出して、イベントログを活用する

製品カテゴリー

JTC IT用語集
TOP