コンテンツにスキップ
sigiro
日本語
Esc
移動開く⌘Jプレビュー
このページの内容

CLI

sigiro のすべてのサブコマンド、その引数、および読み取る環境変数について説明します。sigiro には 7 つのサブコマンドがあります。それぞれがインデントされた JSON を出力します。

sigiro には 7 つのサブコマンドがあります。すべてのサブコマンドは、成功時にインデントされた JSON を出力します。2 つ目の出力形式は存在せず、TTY 検出も行いません。

グローバルフラグ --key <TOKEN> は、ホスト型エンドポイント用のベアラートークンを設定します。 このフラグは SIGIRO_API_KEY を上書きします。セルフホスト型サーバーはトークンを無視します。

すべてのクライアントサブコマンドは、SIGIRO_ENDPOINT に指定されたサーバーに接続します。 デフォルトは http://localhost:9999 です。

serve

OTLP gRPC サーバー、OTLP HTTP サーバー、およびクエリ API を起動します。

フラグ 上書き対象 デフォルト
--data-dir <PATH> SIGIRO_DATA_DIR ~/.local/share/sigiro
--http-port <PORT> SIGIRO_HTTP_PORT 9999
--otlp-http-port <PORT> SIGIRO_OTLP_HTTP_PORT 4318
--otlp-grpc-port <PORT> SIGIRO_GRPC_PORT 4317

初回起動時には、クエリ拡張機能がデータディレクトリにダウンロードされます。このダウンロードには 30〜90 秒かかり、その間は起動がブロックされます。

diagnose

sigiro diagnose <SERVICE> は、1 つのサービスに対して 1 つの診断ブロックを返します。

フラグ デフォルト
--from <EPOCH_SECONDS> 整数 現在から 15 分前
--to <EPOCH_SECONDS> 整数 現在

--from--to はエポックです。対応する HTTP フィールド名は from_tsto_ts であり、こちらはエポックマイクロ秒です。どちらの HTTP フィールドも 省略可能です。両方を省略した場合、サーバーは直近 15 分間を読み取ります。これは CLI が使用するのと 同じウィンドウです。

このコマンドは JSON を出力します。出力を絞り込むには、jq にパイプしてください。CLI 自体は フィルターを一切適用しないため、CLI と API は同じドキュメントを返します。

anomalies

sigiro anomalies は、検出されたレジームシフトを、変化の大きいものから順に一覧表示します。 各行には、シグナル横断的な incident_id が含まれます。

フラグ デフォルト
--service <NAME> 文字列 すべてのサービス
--from <EPOCH_SECONDS> 整数 下限なし
--to <EPOCH_SECONDS> 整数 上限なし

各行は、スケジュールされたパスが書き込む sigiro_anomalies テーブルから取得されます。 リクエスト時に計算される項目はありません。

query

sigiro query "<SQL>" は、ローカルクライアントではなくフェデレーテッドコーディネーターです。 1 つ以上のエッジを解決し、各エッジに部分クエリをプッシュして、その部分結果を 1 つの回答に まとめます。

フラグ デフォルト
<SQL> 文字列 なし
--sql-file <PATH> パス、または標準入力を表す - なし
--edge <NAME=HOST:PORT> 繰り返し指定可能 なし
--full-scan フラグ オフ

エッジの解決順序は次のとおりです。SIGIRO_EDGES(カンマ区切りの name=host:port)と --edge はそのまま使用され、いずれか一方が設定されていればディスカバリーは スキップされます。どちらも設定されていない場合、sigiro は tailscale status --json を実行し、 tag:sigiro-edge のタグが付いたすべてのピアを取得します。解決されたエッジが 0 個の場合、 コマンドは何も対象がない状態で実行するのではなく、失敗します。

したがって sigiro query は、単純なローカルサーバーに対しては動作しません。エッジは SIGIRO_QUERY_SURFACE=quack でデータを提供している必要があり、--edge で指定するか、 tailnet 上で見つける必要があります。1 つのローカルサーバーに対して SQL を実行するには、 代わりに SQL を /v1/query に POST してください。

--full-scan は、timestamp に対する WHERE 境界のないクエリを許可します。sigiro は デフォルトではそのようなクエリを拒否します。

status

sigiro status はサーバーの /health エンドポイントを読み取り、ヘルスブロックを出力します。 /health にキーは不要です。

fetch-extensions

sigiro fetch-extensions は、最初の sigiro serve の前に、クエリ拡張機能をデータディレクトリに ダウンロードします。sigiro のインストール後に一度実行するか、外部ネットワークにアクセスできない ホストへのデプロイ前に実行してください。

healthcheck

sigiro healthcheck はローカルの /health エンドポイントをプローブし、サーバーが準備完了の場合に のみ 0 を返して終了します。distroless イメージにはシェルも curl も含まれていないため、これが コンテナの HEALTHCHECK になります。

このページは役に立ちましたか?