見出し画像

TWLogAIAN:ログをGravwell/TWSNMP FCから読み込めるようにした、ログ抽出設定のインポート/エクスポートに対応できた

浦和レッズ 初勝利!
昨日は朝から必勝祈願のため黙々とログ分析ツールの開発をやっていました。(あまり勝敗に関係ないと思いますが)
勝利した後も気分がよいので更に開発が進みました。おかげで最初のバージョンで積み残した機能をまとめて追加できました。
まずはログサーバーから直接ログを読み込む機能です。当然最初はTWSNMP FCで保存しているsyslogを検索して読み込めるようにしました。

TWSNMP FC連携

ついでにGravwellにも対応しました。開発のための参考にしたのは

です。githubにサンプルプログラムのありました。

Gravwell連携

Gravwellの強力なパイプライン検索の構文が使えます。Gravwellのライセンスや1日のログ容量も緩和されたので今が利用するチャンスです。

この開発は、

です。

次にログ抽出のカスタム設定をエクスポートして、他の環境にインポートする機能を作りました。最初のバージョンでは2種類のTSV(タブ区切り)ファイルで実現していましたが、いまいちだったので1つのyamlファイルで対応できるように改善しました。

extractortypes:
- key: custom_20220307065138
  name: TCP接続数
  grok: '%{TIMESTAMP_ISO8601:timestamp}\s+(?:%{SYSLOGFACILITY} )?%{SYSLOGHOST:logsource}\s+%{NOTSPACE:tag}:\s+.*sce=%{INT:sce}.*'
  timefield: timestamp
  ipfields: ""
  macfields: ""
  view: ""
fieldtypes:
- key: sce
  name: 有効なTCP接続数
  type: number
  unit: "件"

のように定義したlogtypes.yamlファイルを作業フォルダーにコピーすれば
ログの種類のメニューと項目の定義を拡張できます。

拡張定義の項目名

これでデフォルトで組み込んである種類を減らせます。
この開発は、

です。
これで私が実戦で使う機能が揃ってきました。
ここからが本番です。AIアシスト機能を追加していきます。でも今朝は時間切れです。
明日に続く

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