
すごいログ分析ツール(twsla) v1.8.0リリース
TWSAL v1.8.0をリリースしました。
シェルスクリプトによるインストール対応
Mac OSとLinuxはシェルスクリプトでインストールできるようにしました。
$curl -sS https://lhx98.linkclub.jp/twise.co.jp/download/install.sh | sh
で最新版をインストールできます。
Linuxの環境ではかなり楽になりました。
count/extractコマンドをIP情報(DNS/GeoIP)対応
ログの中のIPアドレスから国、都市、緯度経度などの位置情報、ホスト名、ドメイン名などの情報を取得して集計する機能です。
--geoipでIP位置情報データベースのパスを指定します。
IP位置情報のデータベースファイルを入手する方法は
を参考にしてください。
--ip 取得するIP情報の種類を指定します。
host:ホスト名
domain:ドメイン名
loc:位置情報
country:国コード
に対応しています。locとcountryだけIP位置情報データベースが必須になります。
例えば、
$twsla count -e ip --ip country --geoip ~/Desktop/GeoLite2-City_20241119/GeoLite2-City.mmdb Failed password
のように集計すると

のように集計できます。個々のIPアドレスではなく国別に集計できます。
locで集計すると

のような感じです。緯度経度が追加されて、都市名がわかる場合には、これも追加します。
domainで集計すると

です。DNSサーバーへ問い合わせるので、かなり遅いです。
対象のログは、ログのサンプルサイトからダウンロードしたSSHサーバーのログです。ログイン失敗しているアクセス元のIPアドレスに関する情報がよくわかります。
extractコマンドもパラメータは同じです。同じログをlocで表示すると

です。
ログ内のJSONデータの扱いを改善
これまで、ログ全体がJSONのデータは処理できましたが、データの一部がJSONのログに対応していませんでした。最初の{の位置を探すように変更して対応しました。
importコマンドの改善
importの処理を改善しました。
--noDeltaフラグを追加しました。指定するとログの時間差の計算をスキップします。これらで多少速度アップします。
ただし、タイムスタンプが順番になっていないログのインポートは、速度が遅くなります。bboltを使っていると改善できないので、将来別のデータベースを使ったバージョンを作るかもしれません。
いいなと思ったら応援しよう!
