【アプデ情報】より効率的なログ検索機能が追加!:EasyBlocks Syslog & Network Reporter

EasyBlocks Syslogシリーズ」、「EasyBlocks Network Reporter」に搭載されているファームウェアがそれぞれ2024年2月21日に大幅アップデートされました。
この記事では追加された新たな検索機能についてご紹介いたします。

それぞれのリリースノートは以下を参照して下さい。
<EasyBlocks Syslogシリーズ(ver1.1.8)>
ver1.1.8リリース情報
<EasyBlocks NETWORK REPORTER(ver1.0.5)>
ver1.0.5リリース情報

アップデート内容

今回のアップデートでは、データベースにインデックス(データベースのテーブルに格納されているデータを高速に取り出す仕組み)を付与する機能を実装し、キーワード検索機能を追加しました。

EasyBlocks SyslogシリーズおよびEasyBlocks Network Reporterは内部にデータベースを保持しており、Syslogメッセージを受信した際に、データベースへ保存する仕組みになっています。

これまでの検索方法として「メッセージ検索機能」があったものの、
インデックス機能がなかったために、対象メッセージをテーブル全体を順番に読み取る必要があり、テーブルが大きい場合は検索結果の表示まで一定時間必要なケースがありました。

そのため、多くのユーザーから「もう少し処理時間を短縮できないか」と要望をいただいており、
「インデックス機能&キーワード検索機能」の実装が実現しました。

※注意事項※
キーワード検索を有効にする場合、WEBUIのテーブル管理タブから実行する必要がありますが、マニュアルの説明、注意事項を十分に確認のうえ実施を検討して下さい。

フィルタ機能の解説

フィルタ機能とは収集したログにフィルタをかけて表示する機能です。
フィルタ設定の手順は以下のとおりです。

  1. ログ表示から「フィルタ」と書かれた文字をクリックする。
  2. フィルタの設定を行うためのフォームが開く。
  3. フィルタの設定を行う。
  4. 適用ボタンを押す。

<画像説明>
(1)起点時刻
日時を対象にフィルタリングを行います。フィルタをかける起点の時刻を指定してください。
(入力欄をクリックするとカレンダーが表示されます。カレンダーから年月日時分秒を指定してください。)
(2)終点時刻
日時でフィルタリングを行います。フィルタをかける起点の時刻を指定してください。
(入力欄をクリックするとカレンダーが表示されます。カレンダーから年月日時分秒を指定してください。)
(3)ホスト
ホストでフィルタリングを行います。ホスト名を完全一致になるように指定してください。
(4)Facility
Facility でフィルタリングを行います。クリックするとボタンの色が変わります。ボタンの色が明るい場合は有効となります。
Facility を複数同時に設定した場合は、ORでフィルタリングを行います。
(5)Priority
Priority でフィルタリングを行います。クリックするとボタンの色が変わります。ボタンの色が明るい場合は有効となります。
Priority を複数同時に設定した場合は、ORでフィルタリングを行います。
(6)プログラム
プログラムでフィルタリングを行います。プログラム名を完全一致になるように指定してください。
(7)キーワード
データベースに登録されたメッセージ内のキーワードでフィルタリングを行います。
※キーワード検索を有効にしている場合に表示されます。
(8)メッセージ
メッセージの文字列でフィルタリングを行います。部分一致となるように指定してください。
(複数ワードによるフィルタリングには対応していません。)
(9)除外メッセージ
メッセージの文字列でフィルタリングを行います。指定した文字列が存在しないメッセージを表示します。
(複数ワードによるフィルタリングには対応していません。)

\アップデートPickup/
(8)メッセージ検索
メッセージ検索は指定された期間内で全文検索・フィルタリングを行います。
指定したメッセージは部分一致検索となります。
※複数ワードによるフィルタリングには対応していません

(7)キーワード検索
キーワード検索はデータベースに登録されたメッセージ内のキーワードでフィルタリングを行います。
こちらの機能がEasyBlocks Syslogはver1.1.8、EasyBlocks Network Reporterはver1.0.5から実装されました。
※キーワード検索を有効にしている場合に表示されます。

テスト環境での実測値

今回のアップデートに伴い、実際にどれほど検索処理のパフォーマンスが向上したのか、
以下の環境でメッセージ検索とキーワード検索を行い、それぞれの結果が表示されるまでの時間を実測してみました。

<テスト環境>
ログ蓄積期間     :2022年10月~2024年2月
蓄積済みメッセージ総数:約3,700万件
Syslogメッセージサイズ:平均約300byte
検索文字列       :administrator

<テスト結果①>

メッセージ検索キーワード検索
処理時間約210秒約2秒
検索結果675 entries (filtered from 37,673,453 total entries)
メッセージ総数37,673,453件のSyslogメッセージの中から675件ヒットしました。
675 entries (filtered from 37,673,453 total entries)
メッセージ総数37,673,453件のSyslogメッセージの中から675件ヒットしました。
①メッセージ検索とキーワード検索の検索処理パフォーマンスの比較

テスト環境の場合、キーワード検索はメッセージ検索と比較して処理時間が短縮されました。
メッセージ検索は部分一致で全文検索を行っています。環境によっては処理時間が長くなる場合があるため、可能な限り絞り込んだ検索期間の範囲で検索することを推奨します。
テスト環境では、2022年10月から2024年2月までのログが保存されていますが、今回のテストでは検索対象期間を絞らずに実施しています。

また、一般的なSyslogサーバの使用用途としてログを検索することが一番多いケースは、何らかの障害が発生した際に障害発生日時の前後などを対象にログ検索を実施することが想定されます。
上記の検索テスト結果は検索期間を絞っていないため、以下に異なるパターンの検索も試しました。

<テスト結果②>

1日7日31日
処理時間約2秒約3秒約5秒
検索結果4 entries (filtered from 37,673,453 total entries)6 entries (filtered from 37,673,453 total entries)12 entries (filtered from 37,673,453 total entries)
②検索範囲を絞り込んだメッセージ検索結果

このように、検索期間を絞ることで検索処理にかかる時間を短縮できることがあります。
また、検索結果が多い場合は、検索期間を短くするだけでなく、検索するメッセージを変更して絞ることも効果的です。

さいごに

今回は2024年2月21日にアップデートで追加された検索機能のご紹介でした。
今後も、ユーザーのみなさまの声を反映したアップデートはブログでご紹介していきたいと思います。アップデート紹介やテスト結果からの効果的な検索方法なども、みなさまの参考になれば幸いです。

タイトルとURLをコピーしました