mcpField
H
huawei-cloud-monitoring-query

huawei-cloud-monitoring-query

github.com/huaweicloud云与 DevOps5917.2k 次安装2 天前更新
代码仓库

关于 huawei-cloud-monitoring-query

通过本地 Python 脚本和 Huawei Cloud Python SDK 查询资源及部分 CES、EPS 信息的只读技能,适用于资源盘点和自动化参数准备。它不提供监控时序指标值查询,也不执行资源写入操作。

主要功能

  1. 01查询资源列表和详情
  2. 02查询可用规格、镜像及磁盘类型
  3. 03获取资源标识和依赖关系
  4. 04通过本地脚本调用 Python SDK
  5. 05不支持监控指标数据点查询
  6. 06仅执行只读查询

适用场景

  1. 01盘点 Huawei Cloud 现有资源
  2. 02收集自动化配置所需的资源参数
  3. 03查询 CES 或 EPS 支持范围内的信息

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-monitoring-query

安装后在 Claude Code 中输入/huawei-cloud-monitoring-query确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

requirements.txt
references/ces/
guide.md
references/eps/
guide.md
scripts/
check_env.ps1
check_env.sh
config.py
ensure_env.py
scripts/ces/
list_agent_dimension_info.py
list_alarm_histories.py
list_alarm_rule_policies.py
list_alarm_rule_resources.py
list_alarm_rules.py
list_alarm_template_association_alarms.py
list_alarm_templates.py
list_ces_target_project_tags.py
list_dashboard_infos.py
list_dashboard_widgets.py
list_notification_mask_resources.py
list_notification_masks.py
list_one_click_alarm_rules.py
list_one_click_alarms.py
list_resource_groups_services_resources.py
list_resource_groups.py
show_alarm_template.py
show_resource_group.py
show_widget.py
scripts/eps/
list_api_versions.py
list_enterprise_projects.py
list_migration_records.py
list_providers.py

详细介绍

Huawei Cloud 资源查询

⚠️ 执行方式(必读):此技能通过本地 Python 脚本执行查询。禁止使用 hcloud、openstack 或其他 CLI 工具,也禁止直接调用 API。

  • 查询脚本位于技能目录下的 scripts/<service_category>/(例如 scripts/as/list_scaling_groups.py)
  • 所有脚本和环境检查脚本都在技能包中。必须使用 skill action=exec 执行这些脚本。不得直接在 shell 中运行。
  • 有关具体脚本路径和参数,请参阅 references/<service>/guide.md
  • 不得尝试使用 hcloud、openstack、curl IAM 或任何其他 CLI/API 方式。此技能不依赖这些工具。
  • 所有路径均相对于技能目录,即存放此 SKILL.md 的目录。

概述

此技能是一个独立的只读查询技能,通过本地 Python 脚本调用 Huawei Cloud Python SDK,以查询 Huawei Cloud 资源、可用规格和现有资源信息。

此技能适用于以下场景:

  1. 查询特定区域中可用的云资源规格
  2. 查询特定 OS 类型的可用镜像
  3. 查询磁盘类型和现有磁盘信息
  4. 查询现有资源及其关键属性
  5. 查询未通过 Terraform 或其他 IaC 工具创建的资源
  6. 为自动化配置、资源验证或环境清点准备实际参数
  7. 获取可复用信息,例如资源 ID、名称、规格、镜像、网络、磁盘等

此技能不处理以下事项:

  1. 创建资源
  2. 修改资源
  3. 删除资源
  4. 猜测或编造未经查询的信息

能力范围

此技能通过 scripts 目录中按类别划分的脚本提供查询能力,并通过 references 目录中按类别划分的指南提供使用说明。

此技能提供的能力包括:

  1. 查询资源列表
  2. 查询单个资源的详细信息
  3. 查询可用规格、镜像和磁盘类型等选型信息
  4. 查询现有资源的关键标识符和依赖关系
范围之外(不支持)

为避免误导用户,此技能明确不支持以下场景。如果用户提出其中任何请求,请直接说明不支持,不要尝试返回不可靠的结果:

  1. 查询原始指标数据点——没有脚本封装 ShowMetricData / BatchListMetricData / ListMetrics。此技能无法获取指标的时间序列值(例如“过去 1 小时的 RDS CPU 利用率”“过去 24 小时的 EVS 磁盘吞吐量”)。
  2. 查询服务级指标值——虽然 CES 汇总了来自 SYS.RDS、SYS.DCS、SYS.DMS、SYS.EVS、SYS.ELB、SYS.ECS 等服务的指标,但此技能不提供脚本来获取这些命名空间的实际指标值。以下服务列表并不完整;这些服务的指标数据无法通过此技能查询:
    • RDS(关系型数据库服务)——SYS.RDS
    • DCS(分布式缓存服务)——SYS.DCS
    • DMS(分布式消息服务)——SYS.DMS
    • EVS(云硬盘服务)——SYS.EVS
    • ELB(弹性负载均衡)——SYS.ELB
    • ECS(弹性云服务器)——SYS.ECS
    • 上述未列出的其他 SYS.* 命名空间同样不支持指标值查询
  3. CES 和 EPS 以外的服务——脚本仅存在于 scripts/ces/ 和 scripts/eps/ 下。未出现在 references/ces/guide.md 或 references/eps/guide.md 中的任何服务均不受支持。
  4. 创建/修改/删除资源——写操作不在支持范围内。

注意:如需查询实际监控指标数据点,请使用 Huawei Cloud 控制台、直接调用 CES API,或使用专用的指标数据技能(如有)。

使用原则

重要:在此技能中执行的脚本路径均相对于技能目录,即 SKILL.md 所在的目录。

  1. 此技能仅执行查询,不执行任何写入操作
  2. 优先使用用户明确指定的区域、项目、可用区、资源名称、资源 ID 等信息
  3. 查询结果必须基于实际 API 响应;不得根据经验推断
  4. 返回结果应优先保留关键字段,以便后续复用
  5. 结果集较大时,先按区域、名称、ID、状态、标签等缩小范围
  6. 如果当前资源类型没有对应的脚本或指南,需明确说明不支持;不得返回不可靠的结果
  7. 如果用户未提供必要的范围信息,且环境中没有默认值,请在执行查询前确认详情
  8. 直接按照 guide.md 执行;不要读取 scripts 目录中的脚本内容
  9. 输出较大时缓存结果
  10. 执行每个脚本前,必须先运行 -h 查看用法
  11. 不得臆造脚本名称;按照 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是华为云 AK
HW_SECRET_KEY是华为云 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:识别并执行查询脚本
  1. 根据用户的查询意图,阅读 references/<service>/guide.md,确定要执行的脚本路径和参数
  2. 首先运行 -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
  3. 根据用户需求组装参数并执行脚本:
    • 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>
  4. 整理结果并返回给用户

重要:

  • 所有脚本和环境检查脚本都位于 skill 包中。必须使用 skill action=exec 执行。不要直接在 shell 中运行。
  • venv 由 check_env 脚本自动创建。在 Linux/macOS 上,Python 位于 .venv/bin/python3;在 Windows 上,位于 .venv/Scripts/python3.exe
  • 不要直接使用 python3 执行脚本
  • 不要读取 scripts 目录中脚本的源代码;只需按照 guide.md 中的说明操作
  • 如果输出较大,请缓存结果
  • --project_id 参数为可选项;如果未提供,系统会根据区域通过 IAM API 自动获取

目录结构

目录约定如下(所有路径均相对于 skill 目录):

  1. scripts/<resource_category>/ 包含对应资源的 Python 查询脚本。 无需读取脚本内容;只需根据 guide.md 中的用法说明执行脚本
  2. references/<resource_category>/guide.md 包含对应资源的使用指南
  3. 每个脚本仅负责一项明确、单一的查询操作
  4. 每个资源类别必须至少维护一个 guide.md,用于说明脚本功能、参数和用法

参数确认

执行查询脚本前,请确认以下参数:

参数必需说明
region是华为云区域,例如 cn-north-4
--project_id否项目 ID;如果未提供,将自动获取
--availability_zone否可用区;某些资源查询需要此参数

有关脚本专用参数,请参阅 references/<service>/guide.md。


输出格式

查询结果以 JSON 格式输出,并包含以下常见字段:

  • total:匹配资源的总数
  • items:资源列表,每个资源包含 id、name、status 等关键字段
  • 具体字段因资源类型而异;详情请参阅各自的 guide.md

验证方法

  1. 运行环境检查脚本,确认依赖项和凭据可用
  2. 使用 -h 参数查看脚本用法,并确认参数正确
  3. 查询已知资源,并与控制台数据进行比较,以验证结果准确性
  4. 检查返回的 total 数量是否合理

最佳实践

  1. 先缩小查询范围(指定区域、可用区等),以免返回过多数据
  2. 使用 --help 查看脚本支持的完整参数列表
  3. 在本地缓存较大的查询结果,避免重复请求
  4. 需要获取多个资源的信息时,按依赖顺序查询(例如先查询 VPC,再查询子网)
  5. 脚本执行失败时,先检查环境变量和网络连接

参考文档

  • 各服务的查询脚本使用指南:references/<service>/guide.md

注意事项

  1. 此技能仅提供只读查询功能,不会执行任何写入操作
  2. 不要输出 HW_ACCESS_KEY、HW_SECRET_KEY 等环境变量的值
  3. 所有脚本都必须通过 skill action=exec 执行;不要直接在 shell 中运行
  4. 不要猜测脚本名称;严格按照 guide.md 中的名称执行
  5. 查询前必须运行环境检查脚本
  6. 使用临时 AK/SK 时,需要设置 HW_SECURITY_TOKEN

评论

支持 Markdown