TWLogAIANでログを検索する
ログを読み込んで全文検索エンジンのインデックスを作成できたらログを検索することができます。この記事は検索についての説明です。
赤枠の部分です。
ログ検索の基本
インデックスの作成が終わった直後は、
のような画面になります。インデックスに読み込んだログの件数や処理時間が右上に表示されます。ログ検索の基本は上のほうにある検索文の欄に
の構文で検索文を入力して<検索>ボタンをクリックします。空欄で検索すると全件検索する*を入力したのと同じ動作にしています。
検索条件を指定する
Bleveの検索構文は初心者にはちょっと難しいかもしれません。そこで検索文を作るためのGUIを付けてあります。検索文の横にある下矢印ボタン
をクリックすれば検索条件を指定する画面が表示されます。
同じ場所にある上矢印ボタンで閉じることができます。検索条件を設定する操作の基本は条件を入力して右側にある<+>ボタンをクリックすることです。ボタンをクリックした時に検索文に変換して検索文欄に入力されます。
検索期間
ログを検索する時間範囲を指定します。
キーワード
ログ全体や特定の項目(フィールド)に含まれるキーワードを指定します。
判定の条件に、
の3種類あります。含まれるは、キーワードがあれば検索のスコアが高くなりますが、必ずしもキーワードがなくてもよいですが、必須は、キーワードが含まれていないログは除外されます。
数値判定
ログから抽出した数値データの判定条件を指定します。サイズが100より大きいとかです。
IP位置情報
実際に使えるかどうかわかりませんが、機能としては面白いので付けたものです。IPアドレスから位置情報を取得している場合に、位置が指定した緯度経度からの距離の範囲で検索できます。東京から100Km圏内とかです。
最大件数
検索する時の最大件数を指定します。この項目は、検索文に入力しません。
異常ログ検知方法
AI(機械学習)で検索したログの中から異常ログを検知します。検知するためのアルゴリズムは、
があります。詳しい記事は別の機会に書こうと思います。(忘れなければ)
検知しない以外を選択した場合に、
のように特徴量の計算方法を選択できます。
ログから抽出した数値データや文字列、SQLインジェクションに使わるキーワードの数などが指定できます。
曜日と時間帯は、ログのタイムスタンプから曜日と24時間制の時間帯を計算して特徴量に加えるというものです。
例えば、サーバーの負荷の数値は日曜の夜中は低いけど月曜の朝は高いというような特徴があると思って付けたものです。
検索結果の表示
検索文を入力して検索を実行すると結果が
のように表示されます。
グラフで時間範囲の選択
グラフの時間範囲を変更するとログのリストも連動して表示するログを変えます。
グラフの右上のズームボタンを押せばグラフをドラックして範囲を指定できます。
キーワードでフィルター
キーワードに文字列を入力すれば、ログの中に含まれる文字列でフィルター表示できます。
ログの表示形式
検索結果の下にログの表示形式を選択する項目があります。これを切り替えるとリストの表示形式を変えることができます。
タイムオンリー
時刻、検索スコア、ログの行だけの表示です。
左側のチェックボックスにチェックしてログを選択すると、クリップボードにコピーやメモに保存できます。
syslog
syslogに特化した表示です。syslog形式で情報を抽出していないログでは表示できません。
アクセスログ
アクセスログに特化した表示形式です。アクセス形式で情報を抽出していないログでは表示できません。
抽出データ
ログから抽出したデータをテーブル形式で表示します。
項目が多い時には横スクロールできます。
異常ログスコア
タイムオンリーと似ていますが、スコアの部分が異常スコアになります。
選択してコピーメモもできます。
異常ログの検知をONにした場合だけ表示されます。
エクスポート
検索結果の下のほうにエクスポートの選択項目があります。
CSV
CSVファイルに表示しているリストを保存します。
Excel
Excelファイルに表示しているリストとグラフの画像を保存します。
ログ種別定義
ログから情報を抽出するために使ったGrokの設定などを定義ファイルに保存するためのものです。編集して他の分析でも使えるようにするための機能です。詳しくは別の記事に書くつもりです。(忘れなければ)
処理結果
インデックスの作成やAIの学習状況を後から確認するための画面を表示します。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。