mcpField
C
cx-slos

cx-slos

github.com/coralogixクラウド・DevOps2152.7k 回インストール今日更新
リポジトリ

cx-slos について

cx-slos はサービスレベル目標を確認・管理するコマンドラインスキルです。目標に対する達成状況の確認や、JSON による SLO の作成・更新・削除ができ、エージェントモードの書き込み操作には確認が必要です。

主な機能

  1. 01SLO 定義の一覧表示と確認
  2. 02目標に対する達成状況の評価
  3. 03JSON による SLO の作成と更新
  4. 04SLO の削除と影響を受けるアラートの確認

活用シーン

  1. 01サービス信頼性目標の確認
  2. 02SLO 目標未達の調査
  3. 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
sloTypeSLO_TYPE_REQUEST(リクエストベース)または SLO_TYPE_WINDOW(ウィンドウベース)
sloTimeFrameローリングウィンドウ。例:SLO_TIME_FRAME_7_DAYS、SLO_TIME_FRAME_28_DAYS
productTypeSLO の算出元となる領域。例: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 — サービスに対して発生したアラートイベントをまとめるケースをトリアージします。

コメント