keenauth logs tail でログを追跡する

keenauth logs tail は、作業中に環境のログ(サインイン、セッション、トークン、MFA、攻撃対策)を tail -f のように追跡します。最新のレコードを新しいものから古いものへの順で表示したあと、一定の間隔で新しいレコードがないか確認し、見つかったものを順に表示します。停止するには Ctrl-C を押します。その後、コマンドは終了コード 0 で終了します。

このコマンドは keenauth logs list と同じレコードを読み取り、同じ権限(logs:read)が必要です。API キーと keenauth login のセッションのどちらでも動作します。

使用方法

keenauth logs tail --type authentication. --user usr_01j9z3k4m5n6p7q8r9s0t1v2w3
フラグ 説明
--type ログタイプの接頭辞(例: authentication. や session.created)。カンマ区切りまたは繰り返し指定でき、最大 20 個です。いずれかに一致するレコードが表示されます。
--user このユーザー(usr_…)のレコードのみ表示します。
--org この組織(org_…)のレコードのみ表示します。
--limit 追跡を開始する前に表示する最近のレコード数(1〜100)。デフォルト: 20。
--interval 2 回の確認の間隔(1s から 60s)。デフォルト: 5s。
--output, -o table、json、yaml のいずれか。フラグを省略すると、ターミナルでは表形式、それ以外では JSON で出力します。

無効なフィルターまたは間隔を指定した場合、リクエストを送信する前にコマンドは終了コード 2 で停止します。

出力

keenauth logs tail --type authentication.failed -o json | jq -r '.ip_country'

IP アドレス、ユーザーエージェント、識別子のヒントは、お使いの認証情報に the logs API に記載の権限がある場合にのみ表示されます。

追跡の仕組み

logs API は最新のレコードから順に返し、待機パラメーターがないため、コマンドはポーリングを行います。最初のページの後、各確認では、表示済みの最新時刻以降のレコードを要求し、すでに表示したレコードはスキップするので、同じレコードが二重に表示されることはありません。確認ごとに、新しいレコードをすべて取得するまで結果ページをたどります(確認 1 回あたり最大 2,000 件)。お使いのプランの保持期間より古いレコードは返されません。

終了コード

コード 意味
0 Ctrl-C で停止しました。
1 サーバーエラーまたはネットワーク障害です。
2 使用方法のエラーです。フィルター、上限、間隔、出力形式のいずれかが無効です。リクエストは送信されていません。
3 認証情報がないか、サーバーが 401 または 403 を返しました。
4 お使いのプランではこの機能は含まれていません(plan_feature_unavailable を伴う 403)。