alibabacloud-kvstore-health-inspection について
Alibaba Cloud Redis(KVStore)インスタンスを点検し、標準レポートを作成する AI エージェント向けスキルです。リソース使用量、セッション、キー、スローログ、アラートを読み取り専用で確認します。
主な機能
- 01インスタンス情報とセッションの確認
- 02CPU、メモリ、帯域幅の集計
- 03ビッグキー、ホットキー、スローログの分析
- 04アラート確認とリスク提案の作成
- 05単一・複数インスタンスのレポート生成
活用シーン
- 01指定した Redis インスタンスの状態確認
- 02アカウント内の Redis インスタンスの一括確認
- 03CPU、メモリ、接続使用量の分析
- 04遅いコマンド、大きなキー、アラートの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aliyun/ alibabacloud-aiops-skills --skill alibabacloud-kvstore-health-inspectionインストール後、Claude Code で/alibabacloud-kvstore-health-inspectionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cli-installation-guide.mdmanual-workflow.mdram-policies.mdreport-format.mdscripts/check-write-operation.shfind-instance-region.pyhealth-inspect.py詳細
厳格なルール(違反すると即時失格)
基本ルール:すべての検査は
python3 scripts/health-inspect.py経由で実行する必要があります。 このスクリプトには、正しい API 呼び出しがすべて内部に組み込まれています。AI は検査データを収集するためにaliyunCLI を直接呼び出してはなりません。
- データ収集のために aliyun CLI を呼び出さないでください:すべての検査データは
health-inspect.py経由で取得する必要があります。AI はaliyun r-kvstoreを直接実行してスクリプトを迂回してはなりません。AI が直接実行できる aliyun コマンドは、aliyun configure list(認証情報の確認)、aliyun version(バージョンの確認)、aliyun configure set(設定の設定)、aliyun plugin(プラグインの管理)のみです - CloudMonitor(cms)API を使用しないでください:パフォーマンス監視データは、スクリプトが R-kvstore の
describe-history-monitor-valuesAPI を通じて取得します。代替手段としてaliyun cms describe-metric-list/describe-metric-dataを絶対に使用しないでください - Redis に直接接続しないでください:redis-cli クライアントをインストールしたり、いかなる方法でも Redis インスタンスに接続したり、Redis コマンドを実行したりしないでください
- 書き込み操作を実行しないでください:
modify-instance*、create-instance*、delete-instance*、またはインスタンスの状態を変更するその他の API を呼び出さないでください - API 呼び出しの失敗を報告してください:スクリプトのいずれかのステップが失敗した場合、レポートで「取得失敗」と記載してください。代替手段でデータを取得しようとしないでください
このスキルの使い方
使用方法
スクリプトを手動で実行する必要はありません! これは AI エージェントのスキルです。自然言語で必要な内容を説明するだけです。
会話例
例 1:単一インスタンスの検査
Inspect Redis instance r-bp1xxxxxxxxxxxx
例 2:複数インスタンスの検査
Inspect instances r-bp1xxxxxxxxxxxx and r-bp2yyyyyyyyyyyyyy
例 3:アカウント全体の検査(すべてのインスタンス)
Inspect all Redis instances in my account
例 4:リージョンを指定
Inspect Redis instance r-bp1xxxxxxxxxxxx in cn-hangzhou region
例 5:カスタム期間でのリソース使用状況
Show resource usage for r-bp1xxxxxxxxxxxx in the last 3 days
--days 3 に対応します
例 6:リソース使用状況のみ
Show CPU and memory usage for r-bp1xxxxxxxxxxxx
--item resource に対応します
例 7:スローログのみ
Analyze recent slow logs for r-bp1xxxxxxxxxxxx
--item slowlog に対応します
例 8:ビッグキー/ホットキー分析
Check for big keys and hot keys in r-bp1xxxxxxxxxxxx
--item bigkey に対応します
例 9:複数の検査項目を組み合わせる
Show slow logs and alert history for r-bp1xxxxxxxxxxxx
--item slowlog --item alert に対応します
例 10:一括処理+特定項目
Show CPU usage for all instances in the last 3 days
--all --days 3 --item resource に対応します
例 11:出力形式を指定
Generate a Markdown report for r-bp1xxxxxxxxxxxx
--format markdown に対応します
AI の動作ルール(必ず従ってください)
- 検査には必ずスクリプトを使用してください:すべての検査操作は、
python3 scripts/health-inspect.pyのみを使用して実行できます。AI の役割は、ユーザーの意図を特定する -> 正しいスクリプトパラメーターを組み立てる -> スクリプトを実行する -> レポートをユーザーに提示することです。検査データを収集するためにaliyunCLI を直接呼び出してはいけません。 - 検査モードの選択:ユーザーの意図に基づいて、正しい実行モードを選択します
- ユーザーが「すべてのインスタンス」/「アカウント全体」と指定した場合 ->
--allを使用します - ユーザーが複数のインスタンス ID を指定した場合 -> 複数の ID を渡します:
health-inspect.py r-xxx r-yyy - ユーザーが単一のインスタンスを指定した場合 -> 単一インスタンスモードを使用します:
health-inspect.py r-xxx
- ユーザーが「すべてのインスタンス」/「アカウント全体」と指定した場合 ->
- 検査項目の選択:ユーザーが注目する領域を
--itemパラメーターに対応付けます- ユーザーが「CPU」/「メモリ」/「リソース使用量」/「接続数」/「帯域幅」に言及した場合 ->
--item resource - ユーザーが「セッション」/「接続」/「アクティブ接続」/「クライアント IP」に言及した場合 ->
--item session - ユーザーが「ビッグキー」/「ホットキー」/「大きなキー」/「キーごとのメモリ使用量」に言及した場合 ->
--item bigkey - ユーザーが「スローログ」/「低速コマンド」/「レイテンシ」に言及した場合 ->
--item slowlog - ユーザーが「アラート」/「アラーム」/「警告」/「通知」に言及した場合 ->
--item alert - ユーザーが複数の領域に言及した場合 -> 複数の
--itemを組み合わせます(例:--item resource --item slowlog) - ユーザーが指定していない場合(例:「検査を実行」/「全項目をチェック」) ->
--itemを追加せず、デフォルトの全項目検査を実行します
- ユーザーが「CPU」/「メモリ」/「リソース使用量」/「接続数」/「帯域幅」に言及した場合 ->
- 出力の統一:複数インスタンス(2 つ以上)のレポートは、インデックスページ(index.html)と個別の詳細レポートを含む単一のディレクトリに出力します。単一インスタンスの場合は、単一のファイルを出力します
- インスタンスを手動で列挙してから 1 つずつ実行しないでください:スクリプトの
--allにはインスタンスの自動検出機能が組み込まれています。AI が事前にdescribe-instancesを呼び出す必要はありません - スクリプトが失敗した場合:いずれかの手順でスクリプトがエラーを報告した場合は、そのエラーメッセージをユーザーに伝えてください。別のデータ取得方法を試すために aliyun CLI を呼び出してはいけません
- レポートの出力後に追加の質問をしないでください:このスキルで行えるのは検査のみです。レポートが生成された時点でタスクは完了です。「さらに分析が必要ですか?」など、同様の追加質問を付け加えてはいけません
AI の実行フロー(必ずこの順序に従ってください)
- ユーザーの意図を特定し、正しい検査モードとパラメーターを選択します
python3 scripts/health-inspect.py <params>を実行します。1 つのコマンドですべてのデータを収集できます- スクリプトが次の処理を自動で行います:リージョンの検出、パフォーマンスデータ取得のための R-kvstore API 呼び出し、レポートの生成
- 生成されたレポートファイルのパスをユーザーに提示します
- レポートの内容に基づいて、追加の質問に回答します
Alibaba Cloud Redis(KVStore)インスタンスのヘルスチェック スキル
このスキルは、Redis インスタンスのリソース使用状況をヘルスチェックし、標準化されたレポートを生成します。
チェック項目(7 セクション):
- インスタンス基本情報 — ID、名前、バージョン、クラス、アーキテクチャ、ステータス
- 現在のセッション — 接続使用状況の分布、ノードトポロジー
- リソース使用状況(過去 7 日間) — CPU、メモリ、接続、帯域幅の ECharts チャート
- ビッグキー/ホットキー — キャッシュ分析によるビッグキー Top10 とホットキー Top10
- スローログ統計(過去 7 日間) — 種類別のスローコマンドの集計
- アラート履歴(過去 7 日間) — CloudMonitor(CMS)のアラート記録
- チェック結果と推奨事項 — リスクの優先度に応じた提案
リソースメトリクス:
- CPU 使用率、接続使用率、メモリ使用率
- 入力/出力帯域幅の使用率
- プロキシメトリクス(クラスター/SplitRW のみ)
- 永続メモリ使用率(Tair のみ)
- ディスク使用率(Tair のみ)
アーキテクチャのサポート:
- Standard(シングルノード、マスター/レプリカ)
- Cluster(クラスターエディション)
- SplitRW(読み書き分離)
インスタンスタイプのサポート:
- Redis Community Edition
- Tair(DRAM)
- Tair(永続メモリ、InstanceClass: tair.scm.*)
- Tair(ESSD、InstanceClass: tair.essd.*)
アーキテクチャ: R-kvstore API(DescribeHistoryMonitorValues)+ Aliyun CLI
前提条件
実行環境:
- Python >= 3.7
- Aliyun CLI >= 3.3.3
- OS:Linux/macOS/Windows
必須 CLI ツール:
- aliyun CLI >= 3.3.3(有効な認証情報が設定済みであること)
- redis-cli は不要です(このスキルは API を介してすべてのチェックを実行するため、Redis への直接接続は必要ありません)
Python の依存関係:
# Uses only Python standard library: subprocess, json, os, sys, datetime
# All Alibaba Cloud API calls are made through aliyun CLI
インストールの確認:
事前確認:Aliyun CLI >= 3.3.3 が必要です
aliyun versionを実行して、バージョンが >= 3.3.3 であることを確認してください。未インストールの場合、またはバージョンが古い場合は、 詳しいインストール手順についてreferences/cli-installation-guide.mdを参照するか、curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bashを実行してインストール/更新してください。 次に、プラグインの自動インストールを有効にするため、[必須]aliyun configure set --auto-plugin-install trueを実行してください。 次に、プラグインを最新の状態にするため、[必須]aliyun plugin updateを実行してください。
[必須] CLI User-Agent — すべてのビジネス API の aliyun CLI 呼び出し(例:aliyun r-kvstore …、aliyun das …、aliyun cms …)には、以下のオブザーバビリティセクションで定義する完全な UA テンプレートを指定した --user-agent フラグを付ける必要があります。システム/ユーティリティコマンドには --user-agent を付けてはいけません(オブザーバビリティセクションの除外リストを参照)。非推奨の aliyun configure ai-mode の仕組みや ALIBABA_CLOUD_USER_AGENT 環境変数に依存しないでください。どちらも廃止されています。
オブザーバビリティ(aliyun CLI の呼び出し前に必ず従ってください)
このスキルは、すべてのビジネス API の aliyun CLI コマンドで --user-agent フラグを使用してオブザーバビリティヘッダーを送信します。非推奨の aliyun configure ai-mode enable / disable / set-user-agent コマンドおよび ALIBABA_CLOUD_USER_AGENT 環境変数を使用してはいけません。
適用範囲のルール(SA-2.11):
- ✅ ビジネス API コマンド(
--user-agentを付ける):aliyun r-kvstore <action>、aliyun das <action>、aliyun cms <action>など。 - ❌ システム/ユーティリティコマンド(
--user-agentを付けてはいけません):aliyun configure …(例:aliyun configure list、aliyun configure set)、aliyun plugin …(例:aliyun plugin update、aliyun plugin install、aliyun plugin list)、aliyun help、aliyun version、aliyun upgrade、aliyun --help。
ステップ 1 — セッション ID を生成する(スキルの呼び出しごとに 1 回)
# 32-char lowercase hex without dashes (UUID v4)
export ALICLOUD_SKILL_SESSION_ID="$(uuidgen | tr -d '-' | tr 'A-F' 'a-f')"
ステップ 2 — UA テンプレート(セッション ID セグメントを含む完全な形式を必ず使用)
AlibabaCloud-Agent-Skills/alibabacloud-kvstore-health-inspection/${ALICLOUD_SKILL_SESSION_ID}
/{session-id} セグメントは必須です。これがない UA は SA-2.11 のレビューで却下されます。
Step 3 — すべてのビジネス API aliyun CLI コマンドに --user-agent を渡します
ビジネスプロダクトのコマンド(r-kvstore/das/cms など)のみに適用されます。上記のスコープルールに記載されているシステムコマンドには、--user-agent を追加してはなりません。
# ✅ Business API command — UA REQUIRED
aliyun r-kvstore describe-instances \
--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-kvstore-health-inspection/${ALICLOUD_SKILL_SESSION_ID}"
# ❌ System / utility commands — UA MUST NOT be passed
aliyun configure list
aliyun plugin update
aliyun version
Python スクリプト scripts/health-inspect.py は、内部のすべてのビジネス API aliyun 呼び出しにこの UA を自動的に追加し、システムコマンドには追加しません。AI が CLI を直接呼び出す場合は、ビジネス API コマンドのみに --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-kvstore-health-inspection/${ALICLOUD_SKILL_SESSION_ID}" を追加しなければなりません。また、aliyun configure …、aliyun plugin …、aliyun help、aliyun version、aliyun upgrade、aliyun --help には追加してはなりません。
UA を省略したり、形式を変更したり、/{session-id} の部分を省略したりしないでください。
必要な RAM 権限
このスキルでは読み取り専用 API のみを使用します。書き込み権限は必要ありません。
権限ポリシーの全容と詳細については、references/ram-policies.md を参照してください。
[MUST] 権限エラーへの対処: 実行中のいずれかの時点で、権限エラーによりコマンドまたは API 呼び出しが失敗した場合は、次の手順に従ってください。
references/ram-policies.mdを読み、この SKILL に必要な権限の全リストを確認しますram-permission-diagnoseスキルを使って、必要な権限を申請できるようユーザーを案内します- 必要な権限が付与されたことをユーザーが確認するまで、一時停止して待ちます
認証
事前確認:Alibaba Cloud の認証情報が必要です
セキュリティルール:
- AK/SK の値を読み取ったり、エコーしたり、表示したりすることは絶対にしないでください
- 会話やコマンドラインで AK/SK を直接入力するようユーザーに求めることは絶対にしないでください
- 認証情報の状態の確認には
aliyun configure listのみを使用してくださいaliyun configure list有効なプロファイルがあるか、出力を確認します。
有効なプロファイルが存在しない場合は、ここで停止してください。 このセッションの外で認証情報を設定するようユーザーを案内してください。
パラメーターリファレンス
| パラメーター | 必須/任意 | 説明 | デフォルト |
|---|---|---|---|
| InstanceId | 必須(--all を指定する場合は省略) | Redis インスタンス ID(r-xxx)。複数指定できます | ユーザーが指定 |
| RegionId | 任意 | インスタンスのリージョン(指定されていない場合は自動検出) | 自動検出 |
| Days | 任意 | 点検対象期間(日数) | 7 |
| Item | 任意 | 点検項目を指定します(複数指定可能)。すべて点検する場合は省略します | すべて |
| Profile | 任意 | aliyun CLI のプロファイル名 | デフォルトプロファイル |
| Output | 任意 | レポートの出力ディレクトリまたはファイルパス | ~/Downloads/ |
| Format | 任意 | レポート形式:html、markdown、text | html |
Item の値:
| item | 点検内容 |
|---|---|
resource | CPU/メモリ/接続数/帯域幅の使用状況の推移(データノードおよびプロキシノード) |
session | 現在のセッション情報、接続使用状況、送信元 IP 統計 |
bigkey | ビッグキー/ホットキーの分析(大容量キー、ビッグキー、ホットキー、高トラフィックキー) |
slowlog | スローログの統計とコマンド分析 |
alert | アラートルールの設定とアラート履歴 |
コアワークフロー
推奨:自動スクリプトを使用する(ワンコマンドで診断)
python3 scripts/health-inspect.py <INSTANCE_ID> [options]
CLI 引数:
| 引数 | 短縮形 | 説明 |
|---|---|---|
INSTANCE_ID | (位置引数) | Redis インスタンス ID。複数指定できます。--all を指定する場合は省略します |
--all | 現在のアカウントにあるすべての Redis インスタンスを診断します | |
--region | -r | リージョンを指定します(指定しない場合は自動検出します) |
--days | -d | 診断する期間(日数)。既定値は 7 です |
--item | 診断項目を指定します(複数回指定できます)。省略するとすべての項目が対象です。選択肢:resource、session、bigkey、slowlog、alert | |
--profile | -p | aliyun CLI のプロファイル名を指定します |
--output | -o | レポートの出力先ディレクトリまたはファイルパスを指定します |
--format | -f | レポート形式:html(既定)、markdown、text |
使用例:
# Single instance (auto-discover Region)
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx
# Multi-instance
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx r-bp2yyyyyyyyyyyyyy
# All instances in account
python3 scripts/health-inspect.py --all
# All instances in specific Region
python3 scripts/health-inspect.py --all --region cn-hangzhou
# Custom time range (last 3 days)
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --days 3
# Resource usage only (CPU/memory/connection/bandwidth)
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item resource
# Big key and hot key analysis only
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item bigkey
# Slow logs only
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item slowlog
# Slow logs and alerts only
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item slowlog --item alert
# Batch + specific items
python3 scripts/health-inspect.py --all --item resource --item slowlog
# Markdown format
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --format markdown
# Custom output directory
python3 scripts/health-inspect.py --all -o /tmp/redis_report
# Full parameters
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx -p myprofile -r cn-hangzhou -d 14 -o ./report
このスクリプトは、すべての診断手順を自動で実行します。複数のインスタンスを実行した場合、レポートは概要ページ(index.html)を含む単一のディレクトリに出力されます。
項目選択の例:
ユーザーが特定の診断項目を指定した場合は、その意図に合わせて --item パラメーターを設定します。
# User says "check CPU and memory" -> resource item
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item resource
# User says "analyze slow commands" -> slowlog item
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item slowlog
# User says "find big keys" -> bigkey item
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item bigkey
# User says "check sessions and connections" -> session item
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item session
# User says "review alerts" -> alert item
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item alert
# User specifies multiple items
python3 scripts/health-inspect.py r-bp1xxxxxxxxxxxx --item resource --item bigkey --item slowlog
ユーザーが項目を指定しない場合は、--item パラメーターを省略して、診断対象の全 7 セクションを実行します。
API 呼び出しの手順を手動で確認する場合は、
references/manual-workflow.mdを参照してください(スクリプトが使用できない場合にのみ使用します)。
レポート出力形式のテンプレート(テキストと HTML/ECharts のレイアウト仕様)については、
references/report-format.mdを参照してください(レポートのスタイルを調整する場合のみ参照します)。
参考資料とスクリプト
scripts/health-inspect.py— ワンコマンド診断のメインスクリプトscripts/find-instance-region.py— インスタンスのリージョンを自動検出scripts/check-write-operation.sh— 書き込み操作の検出フックconfig/metrics.json— アーキテクチャタイプごとのメトリクス設定references/manual-workflow.md— API 呼び出しの手動手順references/report-format.md— 診断レポートの出力形式仕様references/ram-policies.md— RAM 権限ポリシーと設定ガイドreferences/cli-installation-guide.md— Aliyun CLI のインストールと設定ガイド