見出し画像

すごいログ分析ツール(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を使っていると改善できないので、将来別のデータベースを使ったバージョンを作るかもしれません。

いいなと思ったら応援しよう!

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