kansatsu ドキュメント — ログを tail して、パターンを検知して、通知する CLI

KANSATSU(1) User Commands KANSATSU(1)

以下は kansatsu tail --follow --alert=slack を実行した際の出力例です。

$ kansatsu tail --follow --alert=slack

2026-07-10 09:14:02  INFO   nginx     GET /api/orders 200 42ms
2026-07-10 09:14:03  INFO   nginx     GET /api/orders 200 39ms
2026-07-10 09:14:05  WARN   worker    queue depth 812 (threshold 500)
2026-07-10 09:14:07  ERROR  payments  timeout connecting to db-primary (3/3)
  └─ pattern matched "timeout connecting to db-primary" × 3 / 90s
  └─ alert → webhook:#ops-alerts sent in 142ms
2026-07-10 09:14:09  INFO   nginx     GET /api/orders 200 44ms

$ 

NAME

kansatsu — ログを tail し、正規表現パターンを検知し、閾値を超えたら通知する。それだけを、正確に。

現場のログ監視は複雑になりすぎた。ダッシュボードを開き、クエリを書き、契約プランを見比べる前に、 多くの現場が本当に必要としているのは「特定のエラーが3回起きたら教えてほしい」という一行の要求だけだ。 kansatsu は1バイナリ・設定ファイル1枚・依存ゼロで動く。tail -f の延長線上に、 パターン検知と通知を足しただけの道具として設計した。ログを溜め込まない。集計もしない。 見るべき瞬間にだけ、見るべき人に届ける。

SYNOPSIS

kansatsu tail [--follow] [--pattern=<regex>] [--alert=<webhook|mail|slack>] [--since=<duration>] <path>
kansatsu watch --config=<file>
kansatsu replay --from=<date> --to=<date> --pattern=<regex>

単発の調査には tail、常駐監視には設定ファイルを渡す watch、 過去ログへの再検索には replay を使う。3つのサブコマンドで完結し、これ以上は増やさない方針。

INSTALL

Homebrew(macOS / Linuxbrew)

brew install kansatsu/tap/kansatsu

curl(インストールスクリプト)

curl -fsSL https://get.kansatsu.dev/install.sh | sh

APT(Debian / Ubuntu)

# リポジトリ登録は初回のみ
curl -fsSL https://get.kansatsu.dev/gpg | sudo apt-key add -
echo "deb https://get.kansatsu.dev/apt stable main" | sudo tee /etc/apt/sources.list.d/kansatsu.list
sudo apt update && sudo apt install kansatsu

いずれの方法でもバイナリは単体で動作する。ランタイムの追加インストールは不要。

USAGE

主要コマンドは6つ。すべて kansatsu <command> --help でその場の一覧を確認できる。

コマンド一覧
コマンド説明
tailログファイルを末尾から読み進めるkansatsu tail --follow /var/log/nginx/access.log
watch設定ファイルに従い複数ログを常時監視kansatsu watch --config=kansatsu.yml
replay過去ログに対してパターン検索を再実行kansatsu replay --from=2026-07-01 --pattern="timeout"
test通知先への疎通確認を行うkansatsu test --alert=webhook
config validate設定ファイルの構文を検査するkansatsu config validate kansatsu.yml
versionバージョン情報を表示するkansatsu version

OPTIONS

主要フラグ

--follow, -f
ファイル末尾に追従し続ける(tail -f 相当)。指定しない場合は既存ログを一度走査して終了する
--pattern=<regex>
検知する正規表現パターン。複数指定した場合はいずれか一致で検知する
--alert=<dest>
検知時の通知先。webhook / mail / slack のいずれか。既定は未設定(通知しない)
--since=<duration>
何分前からのログを走査するか。例: 30m, 2h, 1d
--threshold=<n>
同一パターンの検知回数が n 回を超えたら通知する。既定は 1(単発検知で通知)
--config=<path>
設定ファイルのパス。既定は ./kansatsu.yml

設定ファイル例(kansatsu.yml)

# kansatsu.yml
watch:
  - path: /var/log/nginx/access.log
    pattern: "5\\d{2} "
    threshold: 5
    window: 60s
    alert: webhook

  - path: /var/log/app/worker.log
    pattern: "timeout connecting to"
    threshold: 3
    window: 90s
    alert: mail

alert:
  webhook:
    url: https://hooks.example.internal/kansatsu
  mail:
    to: ops@example.internal

PRICING

OSS版と Team版の比較
機能OSS(無料)Team(¥1,800 / host / 月)
ホスト数無制限(セルフホスト)契約ホスト数まで
検知パターン無制限(正規表現ベース)無制限
通知先Webhook 1件のみWebhook / メール / チャット通知、無制限
ログ保持保持しない(ストリーム処理のみ)90日間のクラウド保管・全文検索
検知履歴標準出力のみダッシュボードで確認・CSV出力
メンバー招待10名まで(監査ログ付き)
サポートコミュニティ(Issueベース)メール対応・1営業日以内に返信
ライセンスMIT年払い契約(¥18,000 / host / 年)

FAQ

Q. OSS版とTeam版は、あとから切り替えできますか?

A. できます。kansatsu.yml はそのまま使えます。Team版は保持期間と通知先の上限を外すだけで、コマンド体系は変わりません。

Q. Windowsでも動きますか?

A. 動きます。WSL2 上での利用を推奨しています。ネイティブバイナリは現在検証中です。

Q. 誤検知が多い場合はどう調整すればよいですか?

A. thresholdwindow を調整してください。「60秒間に5回」のように積算条件を指定すると、単発のエラーで通知が飛ぶのを防げます。

Q. ログの内容は外部に送信されますか?

A. OSS版は送信しません。ローカルでストリーム処理し、通知メッセージのみを指定した通知先に送ります。Team版で保持を有効にした場合のみ、暗号化してクラウドに保管します。

Q. 既存の監視基盤と併用できますか?

A. できます。kansatsu は tail と検知に特化した単機能CLIです。集約基盤へは Webhook 経由でイベントを転送できます。

Q. 導入にどれくらい時間がかかりますか?

A. バイナリの設置と kansatsu.yml の作成だけで、10分程度が目安です。

kansatsu 2.4.0 2026-07-10 KANSATSU(1)