cx-slos について
cx-slos はサービスレベル目標を確認・管理するコマンドラインスキルです。目標に対する達成状況の確認や、JSON による SLO の作成・更新・削除ができ、エージェントモードの書き込み操作には確認が必要です。
主な機能
- 01SLO 定義の一覧表示と確認
- 02目標に対する達成状況の評価
- 03JSON による SLO の作成と更新
- 04SLO の削除と影響を受けるアラートの確認
活用シーン
- 01サービス信頼性目標の確認
- 02SLO 目標未達の調査
- 03影響するアラートを確認しながら定義を更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ coralogix/ cx-cli --skill cx-slosインストール後、Claude Code で/cx-slosを入力して読み込まれたか確認します。
詳細
SLO 管理スキル
SLO(サービスレベル目標)は、サービスの信頼性目標を定義します。 たとえば、「28 日間でリクエストの 99.9% が成功する」などです。このスキルを使って、SLO の定義を確認し、健全性を判断して、そのライフサイクルを管理します。
CLI コマンド
| コマンド | 目的 |
|---|---|
cx slos list | すべての SLO 定義を一覧表示します |
cx slos get <id> | ID を指定して単一の SLO を取得します |
cx slos create --from-file <path> | JSON 定義から SLO を作成します(--yes が必要) |
cx slos update --from-file <path> | JSON から SLO 定義を置き換えます(--yes が必要) |
cx slos delete <id> | SLO を削除します(--yes が必要) |
- すべてのコマンドは、構造化出力用の
-o jsonと、複数プロファイルへの一斉実行用の-p <profile>(繰り返し指定可能)をサポートしています。 create/updateは--from-file <path>、または標準入力を表す-(デフォルト)から読み込みます。create、update、deleteは書き込み操作であり、非対話モード/エージェントモードでは--yesが必要です。
SLO の定義
すべての SLO に表示されるフィールド:
| フィールド | 意味 |
|---|---|
name | 人が読める SLO 名 |
description | 任意の説明 |
targetThresholdPercentage | 目標値。例:99.9 |
sloType | SLO_TYPE_REQUEST(リクエストベース)または SLO_TYPE_WINDOW(ウィンドウベース) |
sloTimeFrame | ローリングウィンドウ。例:SLO_TIME_FRAME_7_DAYS、SLO_TIME_FRAME_28_DAYS |
productType | SLO の算出元となる領域。例:SLO_PRODUCT_TYPE_APM |
SLO の健全性を監視する
# All SLOs with their target and window
cx slos list -o json | jq '[.[] | {name, targetThresholdPercentage, sloType, sloTimeFrame}]'
# Inspect a single SLO in full
cx slos get <slo-id> -o json
現在の達成率を targetThresholdPercentage と比較し、SLO が健全か、エラーバジェットを消費しているかを判断します。リクエストベースの SLO は良好なイベントの割合を測定し、ウィンドウベースの SLO は良好な時間ウィンドウの割合を測定します。トリアージ後、cx-telemetry-querying スキルに切り替えて、ログ、スパン、メトリクスから違反の根本原因を調査します。
SLO の作成と更新
SLO を作成する最も安全な方法は、既存の SLO を往復利用することです。JSON を手書きするのではなく、get が返す正確なフィールド構造をテンプレートとして使います。
# Template from an existing SLO, edit, then create
cx slos get <existing-slo-id> -o json > slo.json
# Edit slo.json: change name, targetThresholdPercentage, sloType, sloTimeFrame, etc.
cx slos create --from-file slo.json --yes
# Replace an existing definition
cx slos update --from-file slo.json --yes
update と delete は、影響を受けるアラート ID(effectedSloAlertIds)を報告するため、その一覧を確認してください。SLO を変更または削除すると、関連付けられたアラートが無効になる可能性があります。
主な原則
- 存在の有無だけでなく、達成率と目標を確認する — 99.9% の目標に対して 99.91% の SLO は、エラーバジェットがほとんど残っておらず、違反する前に対応が必要です。
- 定義を往復利用する — API が期待する正確なフィールド構造を保つため、JSON を手書きせず、
cx slos getの結果をcreate/updateのペイロードのテンプレートとして使います。 - エージェントモード/非対話モードでは
create/update/deleteに--yesが必要です。 - 影響を受けるアラートに注意する —
update/deleteはeffectedSloAlertIdsを返します。SLO を削除すると、そのアラートが通知されなくなることがあります。 - 複数プロファイルへの一斉実行には
-p <profile>(繰り返し指定可能)を使い、環境間で SLO を比較します。
関連スキル
cx-alerts— SLO のエラーバジェットが消費された際に発火するアラート定義です。cx-telemetry-querying— SLO 違反の背後にあるログ、スパン、メトリクスを調査します。cx-cases— サービスに対して発生したアラートイベントをまとめるケースをトリアージします。
コメント
Markdown 対応