見出し画像

すごいログ分析ツール(TWSLA) v1.5.0リリース

TWSLA v1.5.0をリリースしました。

今回からgoreleaserとGitHUB Actionsを使って自動リリースしています。
主な変更点は、

  • ログの検索結果をカラー表示する機能

  • relationコマンド

  • heatmapコマンド

  • グラフをgo-echartsで出力する機能

  • Homebrewでのインストール

です。
マインドマップは

です。

ログの検索結果をカラー表示する機能

ログを検索するseachコマンドのオプションに
-c,--colorを追加しました。以下のキーを指定できます。

ip:IPアドレスをカラー表示
mac:MACアドレスをカラー表示
email:メールアドレスをカラー表示
url:URLをカラー表示
filter:フィルターで指定した文字列をカラー表示
regexp/パターン/カラー:正規表現にマッチした文字列を指定した色で表示

twsla search -f Failed -c "regex/user\s+\S+/9,ip,filter"

のような指定で

relationコマンド

ログの行にある2つ以上の項目の関係をリストアップします。有指向グラフに出力することもできます。

twsla help relation
Analyzes the relationship between two or more pieces of data extracted from a log,
such as the relationship between an IP address and a MAC address.
data entry is ip | mac | email | url | regex/<pattern>/<color>

Usage:
  twsla relation <data1> <data2>... [flags]

Flags:
  -h, --help   help for relation

Global Flags:
      --config string      config file (default is $HOME/.twsla.yaml)
  -d, --datastore string   Bblot log db (default "./twsla.db")
  -f, --filter string      Simple filter
  -v, --not string         Invert regexp filter
  -r, --regex string       Regexp filter
  -t, --timeRange string   Time range


指定可能な項目は

ip:IPアドレス
mac:MACアドレス
email:メールアドレス
url:URL
regexp/パターン/:正規表現にマッチした文字列

です。

twsla relation  -f Failed -r user "regex/user\s+\S+/" ip

のようなコマンドで

のように集計できます。フィルターを工夫して件数を絞れば

のようなグラフも出力できます。s:Saveコマンドの出力ファイルの拡張子をhtmlに指定します。

heatmapマップコマンド

曜日または日付単位でログの多い時間帯をヒートマップで表示するためのコマンドです。

twsla help heatmap
Command to tally log counts by day of the week and time of day
	Aggregate by date mode is also available.

Usage:
  twsla heatmap [flags]

Flags:
  -h, --help   help for heatmap
  -w, --week   Week mode

Global Flags:
      --config string      config file (default is $HOME/.twsla.yaml)
  -d, --datastore string   Bblot log db (default "./twsla.db")
  -f, --filter string      Simple filter
  -v, --not string         Invert regexp filter
  -r, --regex string       Regexp filter
  -t, --timeRange string   Time range

-w オプションを指定すると曜日単位で集計します。指定しない場合に日付単位です。

日付単位は

拡張子htmlのファイルの保存すると

のようなグラフを保存できます。
曜日単位は

です。

グラフをgo-echartsで出力する機能

s:Saveで拡張子をhtmlにするとgo-echartsでグラフを保存します。ブラウザーで開いてみてください。拡張子pngを指定すれば、これまで通り画像で保存できます。ただし、ヒートマップは画像で出力できません。


Homebrewでのインストール

Mac OSとLinux 環境では、brewコマンドでインストールできます。

$brew install twsnmp/tap/twsla

です。



開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。