huawei-cloud-monitoring-query について
ローカルの Python スクリプトと Huawei Cloud Python SDK でリソースおよび一部の CES・EPS 情報を照会する読み取り専用スキルです。時系列のメトリクス値取得やリソース変更には対応しません。
主な機能
- 01リソース一覧と詳細の照会
- 02利用可能な仕様・イメージ・ディスク種別の確認
- 03リソース ID と依存関係の取得
- 04ローカルスクリプト経由で Python SDK を使用
- 05時系列メトリクスデータの照会には非対応
- 06読み取り専用のクエリ
活用シーン
- 01Huawei Cloud の既存リソースの棚卸し
- 02自動化に必要なリソースパラメーターの収集
- 03CES または EPS のガイドで対応する情報の照会
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-monitoring-queryインストール後、Claude Code で/huawei-cloud-monitoring-queryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
requirements.txtreferences/ces/guide.mdreferences/eps/guide.mdscripts/check_env.ps1check_env.shconfig.pyensure_env.pyscripts/ces/list_agent_dimension_info.pylist_alarm_histories.pylist_alarm_rule_policies.pylist_alarm_rule_resources.pylist_alarm_rules.pylist_alarm_template_association_alarms.pylist_alarm_templates.pylist_ces_target_project_tags.pylist_dashboard_infos.pylist_dashboard_widgets.pylist_notification_mask_resources.pylist_notification_masks.pylist_one_click_alarm_rules.pylist_one_click_alarms.pylist_resource_groups_services_resources.pylist_resource_groups.pyshow_alarm_template.pyshow_resource_group.pyshow_widget.pyscripts/eps/list_api_versions.pylist_enterprise_projects.pylist_migration_records.pylist_providers.py詳細
Huawei Cloud リソースの照会
⚠️ 実行方法(必ずお読みください):このスキルでは、ローカルの Python スクリプトを使ってクエリを実行します。hcloud、openstack などの CLI ツールの使用や、API の直接呼び出しは禁止されています。
- クエリスクリプトは、スキルのディレクトリ内にある
scripts/<service_category>/(例:scripts/as/list_scaling_groups.py)にあります。- スクリプトと環境チェック用スクリプトはすべてスキルパッケージ内にあります。実行には
skill action=execを使用してください。シェルから直接実行しないでください。- スクリプトのパスとパラメーターについては、
references/<service>/guide.mdを参照してください。- hcloud、openstack、curl IAM などの CLI/API メソッドは使用しないでください。このスキルはそれらのツールに依存しません。
- すべてのパスはスキルディレクトリからの相対パスです。スキルディレクトリは、この SKILL.md が置かれているディレクトリです。
概要
このスキルは、ローカルの Python スクリプトを使って Huawei Cloud Python SDK を呼び出し、Huawei Cloud のリソース、利用可能な仕様、既存リソースの情報を照会する、単独で動作する読み取り専用のクエリスキルです。
このスキルは、次のようなシナリオで使用できます。
- 特定のリージョンで利用可能なクラウドリソースの仕様を照会する
- 特定の OS タイプで利用可能なイメージを照会する
- ディスクの種類と既存のディスク情報を照会する
- 既存のリソースとその主要な属性を照会する
- Terraform やその他の IaC ツールを使って作成されていないリソースを照会する
- 自動化の設定、リソースの検証、環境のインベントリ作成に使用する実際のパラメーターを準備する
- リソース ID、名前、仕様、イメージ、ネットワーク、ディスクなどの再利用可能な情報を取得する
このスキルでは、次の操作は行いません。
- リソースの作成
- リソースの変更
- リソースの削除
- 照会していない情報の推測や捏造
対応範囲
このスキルでは、scripts ディレクトリ内のカテゴリ別スクリプトを通じてクエリ機能を提供し、references ディレクトリ内のカテゴリ別ガイドを通じて使用方法を案内します。
このスキルが提供する機能は次のとおりです。
- リソース一覧の照会
- 個別リソースの詳細の照会
- 利用可能な仕様、イメージ、ディスクの種類など、選択に関する情報の照会
- 既存リソースの主要な識別子と依存関係の照会
対応範囲外(サポート対象外)
ユーザーに誤解を与えないよう、次のシナリオはこのスキルでは明示的にサポートされません。該当する依頼があった場合は、サポート対象外であることをそのまま伝え、信頼性の低い結果を返そうとしないでください。
- 生のメトリクスデータポイントの照会 —
ShowMetricData/BatchListMetricData/ListMetricsをラップするスクリプトはありません。このスキルでは、メトリクスの時系列値(例:「過去 1 時間の RDS CPU 使用率」、「過去 24 時間の EVS ディスクスループット」)を取得できません。 - サービスレベルのメトリクス値の照会 — CES は
SYS.RDS、SYS.DCS、SYS.DMS、SYS.EVS、SYS.ELB、SYS.ECSなどのサービスからメトリクスを集約しますが、このスキルには、これらの名前空間の実際のメトリクス値を取得するスクリプトはありません。このスキルではメトリクスデータを照会できないサービスの例を以下に示します(これらに限定されません)。- RDS(Relational Database Service)—
SYS.RDS - DCS(Distributed Cache Service)—
SYS.DCS - DMS(Distributed Message Service)—
SYS.DMS - EVS(Elastic Volume Service)—
SYS.EVS - ELB(Elastic Load Balance)—
SYS.ELB - ECS(Elastic Cloud Server)—
SYS.ECS - 上記に記載されていないその他の
SYS.*名前空間も、メトリクス値の照会には対応していません
- RDS(Relational Database Service)—
- CES と EPS 以外のサービス — スクリプトが存在するのは
scripts/ces/とscripts/eps/のみです。references/ces/guide.mdまたはreferences/eps/guide.mdに記載されていないサービスはサポート対象外です。 - リソースの作成/変更/削除 — 書き込み操作は対応範囲外です。
注:実際のモニタリングメトリクスデータポイントを照会するには、Huawei Cloud コンソール、CES API の直接呼び出し、または利用可能な場合は専用のメトリクスデータスキルを使用してください。
使用上の原則
重要:このスキル内で実行するスクリプトのパスはすべて、SKILL.md が置かれているディレクトリであるスキルディレクトリを基準とします。
- このスキルはクエリのみを実行し、書き込み操作は行いません
- ユーザーが明示したリージョン、プロジェクト、AZ、リソース名、リソース ID などを優先して使用します
- クエリ結果は実際の API 応答に基づく必要があり、経験から推測してはいけません
- 後続で再利用できるよう、返される結果では重要なフィールドを優先して保持します
- 結果セットが大きい場合は、まずリージョン、名前、ID、ステータス、タグなどで範囲を絞り込みます
- 現在のリソースタイプに対応するスクリプトやガイドがない場合は、未対応であることを明確に伝え、信頼できない結果を返してはいけません
- ユーザーが必要な範囲情報を指定しておらず、環境にもデフォルト値がない場合は、クエリを実行する前に詳細を確認します
- guide.md に従って直接実行し、scripts ディレクトリ内のスクリプトの内容を読んではいけません
- 出力が大きい場合は結果をキャッシュします
- 各スクリプトを実行する前に、必ず
-hを実行して使い方を確認します - スクリプト名を作り出してはいけません。guide.md に記載されているスクリプト名に従って実行します。スクリプト名が guide.md にない場合は未対応です
前提条件
使用する前に、環境チェック用スクリプトを実行し、環境の検証と依存関係のインストールを一度に完了する必要があります。
- Linux / macOS:
skill action=exec: bash skill://scripts/check_env.sh - Windows:
skill action=exec: powershell -ExecutionPolicy Bypass -File skill://scripts/check_env.ps1
Windows に関する注意:PowerShell 5.x は
&&によるコマンドの連結をサポートしていないため、使用しないでください。先にディレクトリを変更する必要がある場合は、セミコロンを使用してください。
スクリプトは次の順にチェックします:Python >= 3.6 → 依存関係のインストール → SDK の検証 → 認証情報の検証 → サービスの可用性の検証。 環境チェックに失敗した場合は、ほかのスクリプトに進む前に問題を修正してください。
環境変数:
| 変数 | 必須 | 説明 |
|---|---|---|
| HW_ACCESS_KEY | はい | Huawei Cloud AK |
| HW_SECRET_KEY | はい | Huawei Cloud SK |
| HW_REGION_NAME | いいえ | デフォルトは cn-north-4 |
| HW_PROJECT_ID | いいえ | プロジェクト ID(未設定の場合、IAM API で自動取得) |
| HW_SECURITY_TOKEN | いいえ | 一時的な AK/SK を使用する場合に必要 |
上記の環境変数の値を出力してはいけません。 その他のリソーススクリプトで必要となる追加パラメーター(アベイラビリティーゾーン、エンタープライズプロジェクトなど)については、該当する guide.md を参照してください。
実行フロー
このスキルが呼び出されたときは、次の手順に従う必要があります。ユーザーからの再度の指示を待ってはいけません。
ステップ 1:環境の準備
依存関係がインストールされ、認証情報が設定されていることを確認するため、環境チェック用スクリプトを実行します。
- Linux / macOS:
skill action=exec: bash skill://scripts/check_env.sh - Windows:
skill action=exec: powershell -ExecutionPolicy Bypass -File skill://scripts/check_env.ps1
環境チェックに失敗した場合は、指示に従って問題を修正し、チェックに合格するまで再実行してください。
ステップ 2:クエリスクリプトを特定して実行する
- ユーザーのクエリの意図に基づいて、
references/<service>/guide.mdを読み、実行するスクリプトのパスとパラメーターを確認します - まず
-hを実行して、スクリプトの使用方法を確認します:- Linux / macOS:
skill action=exec: skill://.venv/bin/python3 skill://scripts/<service>/<script>.py -h - Windows:
skill action=exec: skill://.venv/Scripts/python3.exe skill://scripts/<service>/<script>.py -h
- Linux / macOS:
- ユーザーの要件に応じてパラメーターを組み立て、スクリプトを実行します:
- Linux / macOS:
skill action=exec: skill://.venv/bin/python3 skill://scripts/<service>/<script>.py <parameters> - Windows:
skill action=exec: skill://.venv/Scripts/python3.exe skill://scripts/<service>/<script>.py <parameters>
- Linux / macOS:
- 結果を整形してユーザーに返します
重要:
- すべてのスクリプトと環境チェック用スクリプトはスキルパッケージ内にあります。実行には必ず
skill action=execを使用してください。シェルから直接実行しないでください。 - 仮想環境は check_env スクリプトによって自動的に作成されます。Linux/macOS では Python は
.venv/bin/python3にあり、Windows では.venv/Scripts/python3.exeにあります - スクリプトの実行に
python3を直接使用しないでください - scripts ディレクトリ内のスクリプトのソースコードを読まず、guide.md の説明に従ってください
- 出力が大きい場合は、結果をキャッシュしてください
--project_idパラメーターは任意です。指定されていない場合は、リージョンに基づいて IAM API から自動的に取得されます
ディレクトリ構成
ディレクトリの規則は次のとおりです(すべてのパスはスキルディレクトリからの相対パスです):
scripts/<resource_category>/には、対応するリソースの Python クエリスクリプトが含まれます。 スクリプトの内容を読む必要はありません。guide.md の使用方法に従ってスクリプトを実行してくださいreferences/<resource_category>/guide.mdには、対応するリソースの使用ガイドが含まれます- 各スクリプトは、明確で単一のクエリ操作のみを実行します
- 各リソースカテゴリには、スクリプトの機能、パラメーター、使用方法を記載した guide.md が少なくとも 1 つ必要です
パラメーターの確認
クエリスクリプトを実行する前に、次のパラメーターを確認してください:
| パラメーター | 必須 | 説明 |
|---|---|---|
| region | はい | Huawei Cloud のリージョン。例:cn-north-4 |
| --project_id | いいえ | プロジェクト ID。指定されていない場合は自動的に取得されます |
| --availability_zone | いいえ | アベイラビリティーゾーン。一部のリソースのクエリで必要です |
スクリプト固有のパラメーターについては、references/<service>/guide.md を参照してください。
出力形式
クエリ結果は JSON 形式で出力され、次の共通フィールドが含まれます:
total:一致したリソースの合計数items:リソースのリスト。各リソースには、id、name、status などの主要なフィールドが含まれます- 固有のフィールドはリソースの種類によって異なります。詳細については、個々の guide.md を参照してください
検証方法
- 環境チェック用スクリプトを実行し、依存関係と認証情報が利用可能であることを確認します
-hパラメーターを使用してスクリプトの使用方法を表示し、パラメーターが正しいことを確認します- 既知のリソースに対してクエリを実行し、コンソールのデータと比較して結果の正確性を検証します
- 返された
totalの数が妥当かどうかを確認します
ベストプラクティス
- 最初にクエリの範囲を絞り込みます(リージョン、アベイラビリティーゾーンなどを指定)。これにより、データが過剰に返されるのを防げます
--helpを使用して、スクリプトでサポートされているパラメーターの一覧を確認します- 大規模なクエリ結果はローカルにキャッシュし、リクエストの繰り返しを避けます
- 複数のリソース情報が必要な場合は、依存関係の順にクエリします(例:最初に VPC をクエリし、次にサブネットをクエリします)
- スクリプトが失敗した場合は、まず環境変数とネットワーク接続を確認します
参考ドキュメント
- 各サービスのクエリスクリプト使用ガイド:
references/<service>/guide.md
注意事項
- このスキルは読み取り専用のクエリ機能のみを提供し、書き込み操作は行いません
- HW_ACCESS_KEY、HW_SECRET_KEY などの環境変数の値を出力しないでください
- すべてのスクリプトは
skill action=execを使って実行してください。シェルから直接実行しないでください - スクリプト名を推測せず、guide.md に記載された名前に従って実行してください
- クエリを実行する前に、環境チェック用スクリプトを実行してください
- 一時的な AK/SK を使用する場合は、HW_SECURITY_TOKEN を設定する必要があります