Install
openclaw skills install huawei-cloud-cce-metric-analyzerHuawei Cloud CCE Metric analysis skill using Python SDK dispatcher. Use this skill when the user wants to: (1) query Pod/Node CPU/memory/disk metrics, (2) get resource usage TopN rankings, (3) query ECS/ELB/EIP/NAT cloud resource metrics, (4) aggregate cluster monitoring data with anomaly detection, (5) detect threshold-based resource anomalies. Trigger: user mentions "metric analysis", "指标分析", "CCE metrics", "CCE 指标", "AOM metrics", "AOM 指标", "resource metrics", "资源指标", "CPU usage", "CPU 使用率", "memory usage", "内存使用率", "performance monitoring", "性能监控", "TopN", "resource ranking", "资源排名"
openclaw skills install huawei-cloud-cce-metric-analyzerQuery and analyze metrics for CCE clusters (Pod/Node CPU/memory/disk) and cloud resources (ECS, ELB, EIP, NAT). Supports threshold-based anomaly detection, status classification (critical/warning/normal), and full-cluster monitoring aggregation.
Architecture: python3 scripts/huawei-cloud.py dispatcher → Huawei Cloud Python SDK + AOM Prometheus → Pod/Node metrics, ECS/ELB/EIP/NAT metrics → Threshold classification → Anomaly detection
Related Skills:
huawei-cloud-cce-pod-failure-diagnoser - Pod CrashLoopBackOff, OOMKilled, restart stormshuawei-cloud-cce-node-failure-diagnoser - Node health, resource pressure diagnosishuawei-cloud-cce-kubernetes-event-analyzer - Warning events, failure patternshuawei-cloud-cce-capacity-trend-forecaster - Capacity planning and trend forecastinghuawei-cloud-cce-cost-optimization-advisor - Resource cost optimizationhuawei-cloud-cce-auto-remediation-runner - Remediation actions (scale, resize, drain)Capabilities:
Typical Use Cases:
huaweicloudsdkcce, huaweicloudsdkcore, huaweicloudsdkaom, huaweicloudsdkces packagesecho $HUAWEI_AK or echo $HUAWEI_SK to check credentialsHUAWEI_AK, HUAWEI_SK, HUAWEI_REGIONConfiguration Method (Environment Variables Only):
export HUAWEI_AK=<your-ak>
export HUAWEI_SK=<your-sk>
export HUAWEI_REGION=cn-north-4
⚠️ Important Security Notes:
| API Action | Permission | Purpose |
|---|---|---|
cce:cluster:get | Get cluster | View CCE cluster details |
aom:instance:list | List AOM instances | Discover AOM Prometheus instance for metrics |
aom:metricsData:get | Get metrics data | Query Pod/Node CPU/memory/disk metrics |
ces:metricsData:get | Get CES metrics | Query ECS/ELB/EIP/NAT cloud resource metrics |
ecs:cloudServers:list | List ECS servers | Correlate ECS instance IDs |
elb:loadbalancers:list | List ELB instances | Correlate ELB IDs |
vpc:eips:list | List EIPs | Correlate EIP IDs |
nat:natGateways:list | List NAT Gateways | Correlate NAT Gateway IDs |
Permission Failure Handling:
All commands use the Python dispatcher script: python3 scripts/huawei-cloud.py <action> <key=value>...
# Pod TopN — cluster-wide CPU/memory ranking
python3 scripts/huawei-cloud.py huawei_get_cce_pod_metrics_topN \
region=cn-north-4 cluster_id=<cluster-id> \
namespace=default top_n=10 hours=1
# Pod TopN with label selector
python3 scripts/huawei-cloud.py huawei_get_cce_pod_metrics_topN \
region=cn-north-4 cluster_id=<cluster-id> \
namespace=default label_selector="app=nginx,version=v1" top_n=10 hours=1
# Single Pod time-series
python3 scripts/huawei-cloud.py huawei_get_cce_pod_metrics \
region=cn-north-4 cluster_id=<cluster-id> \
pod_name=my-app-xxx namespace=default hours=1
# Node TopN — cluster-wide CPU/memory/disk ranking
python3 scripts/huawei-cloud.py huawei_get_cce_node_metrics_topN \
region=cn-north-4 cluster_id=<cluster-id> \
top_n=10 hours=1
# Single Node time-series
python3 scripts/huawei-cloud.py huawei_get_cce_node_metrics \
region=cn-north-4 cluster_id=<cluster-id> \
node_ip=10.0.0.1 hours=1
# ECS instance metrics
python3 scripts/huawei-cloud.py huawei_get_ecs_metrics \
region=cn-north-4 instance_id=<instance-id>
# ELB metrics
python3 scripts/huawei-cloud.py huawei_get_elb_metrics \
region=cn-north-4 elb_id=<loadbalancer-id> hours=1
# EIP metrics
python3 scripts/huawei-cloud.py huawei_get_eip_metrics \
region=cn-north-4 eip_id=<eip-id> hours=1
# NAT Gateway metrics
python3 scripts/huawei-cloud.py huawei_get_nat_gateway_metrics \
region=cn-north-4 nat_gateway_id=<nat-gateway-id> hours=1
# Aggregate all monitoring data with anomaly detection
python3 scripts/huawei-cloud.py huawei_cce_cluster_monitoring_aggregation \
region=cn-north-4 cluster_id=<cluster-id> \
start_time="2026-05-30 00:00:00" end_time="2026-05-30 23:59:59" \
namespace=default top_n=10
This tool aggregates: Pod TopN CPU/memory, Node TopN CPU/memory/disk, ELB metrics (with LoadBalancer service association), NAT Gateway metrics, EIP metrics (bandwidth, packet loss), and anomaly detection using 80% threshold.
| Parameter | Required/Optional | Description | Default |
|---|---|---|---|
region | Required | Huawei Cloud region | HUAWEI_REGION |
cluster_id | Required | CCE cluster ID | N/A |
namespace | Recommended | Kubernetes namespace | default |
ak | Optional | Override AK | HUAWEI_AK |
sk | Optional | Override SK | HUAWEI_SK |
project_id | Optional | Project ID | Auto from IAM |
huawei_get_cce_pod_metrics_topN Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
namespace | No | Namespace filter | all |
label_selector | No | Label selector (e.g. app=web) | N/A |
top_n | No | Number of top items | 10 |
hours | No | Metrics lookback hours | 1 |
node_ip | No | Filter Pods on specific node | N/A |
cpu_query | No | Custom CPU PromQL | Auto |
memory_query | No | Custom memory PromQL | Auto |
huawei_get_cce_pod_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
pod_name | Yes | Target Pod name | N/A |
namespace | No | Namespace | default |
hours | No | Metrics lookback hours | 1 |
huawei_get_cce_node_metrics_topN Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
top_n | No | Number of top items | 10 |
hours | No | Metrics lookback hours | 1 |
huawei_get_cce_node_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
node_ip | Yes | Target Node IP | N/A |
hours | No | Metrics lookback hours | 1 |
huawei_get_ecs_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
instance_id | Yes | ECS instance ID | N/A |
huawei_get_elb_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
elb_id | Yes | ELB loadbalancer ID | N/A |
hours | No | Metrics lookback hours | 1 |
huawei_get_eip_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
eip_id | Yes | EIP ID | N/A |
hours | No | Metrics lookback hours | 1 |
huawei_get_nat_gateway_metrics Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
nat_gateway_id | Yes | NAT Gateway ID | N/A |
hours | No | Metrics lookback hours | 1 |
huawei_cce_cluster_monitoring_aggregation Parameters| Parameter | Required | Description | Default |
|---|---|---|---|
start_time | Yes | Start time (YYYY-MM-DD HH:MM:SS) | N/A |
end_time | Yes | End time (YYYY-MM-DD HH:MM:SS) | N/A |
namespace | No | Namespace filter | default |
top_n | No | Number of top items | 10 |
See Output Schema for the complete JSON response structure.
Key output fields:
success — boolean, true if query completedregion — Huawei Cloud regioncluster_id / cluster_name — CCE cluster identityaom_instance_id — AOM Prometheus instance used for metric queriesmetrics — Dict with cpu/memory/disk data per resource, including status classificationtime_series — Historical data points with timestamp, time, average, min, maxstatus — Threshold classification: critical (>80% CPU, >85% memory/disk), warning (>50% CPU/memory, >70% disk), normal (below warning), unknown (no data)Cloud resource metric fields (ECS/ELB/EIP/NAT):
cpu_util, mem_util, disk_util, network_incoming/outgoing_bytes_rate, disk_read/write_bytes_ratem1_cps, m14_l7_rt, mb_l7_qps, mc-me-mf_l7_http_2xx-5xxupstream/downstream_bandwidth, upstream/downstream_bandwidth_usage, upstream/downstream_traffic, packet_loss_ratesnat_connection, inbound/outbound_bandwidth, snat_connection_ratiopython3 scripts/huawei-cloud.py huawei_get_cce_pod_metrics_topN region=cn-north-4 cluster_id=<cluster-id> namespace=default top_n=5 to verify Pod metric queriespython3 scripts/huawei-cloud.py huawei_get_cce_node_metrics_topN region=cn-north-4 cluster_id=<cluster-id> top_n=5 to verify Node metric queriespython3 scripts/huawei-cloud.py huawei_get_ecs_metrics region=cn-north-4 instance_id=<instance-id> to verify CES metric connectivityhours small (1-4) for recent analysis; cap at 24 hours for historical reviewsnamespace to reduce noise in Pod TopN resultscritical and warning resources first; normal resources can be skippedhuawei_cce_cluster_monitoring_aggregation gives a one-shot overview of all resource metrics with anomaly detectionhuawei-cloud-cce-kubernetes-event-analyzer for related warning events| Document | Description |
|---|---|
| Workflow | Metric query sequence, Pod/Node workflows, threshold detection, next-step handoff |
| Risk Rules | Read-only constraints, data redaction rules, time-bounding, threshold caveats |
| Output Schema | JSON response format for CCE metrics, cloud resource metrics, time-series, status values |
scripts/huawei-cloud.py) is the only execution method — do not use hcloud CLI or direct API calls for metric queriesaom_instance_idhuawei-cloud-cce-auto-remediation-runner only if explicitly requested and validated| Pitfall | Symptom | Quick Fix |
|---|---|---|
Missing cluster_id | Action fails immediately | Provide cluster_id from cluster listing |
| AOM Prometheus instance not found | Metric queries return empty results | Ensure AOM Prom instance is created for the cluster; check aom:instance:list permission |
| Large time window without namespace filter | Slow response, too many results | Narrow hours to 1-4 and add namespace filter |
| Cloud resource ID not found | ECS/ELB/EIP/NAT query returns error | Verify resource ID exists; check CES IAM permission |
| Custom PromQL syntax error | cpu_query / memory_query returns empty | Use default auto-generated PromQL; only customize if familiar with AOM PromQL syntax |
| Permission denied on CES metrics | Cloud resource metrics fail | Verify ces:metricsData:get IAM permission |
| Aggregation missing time range | start_time / end_time required but not provided | Always specify both time boundaries for aggregation queries |
| Node IP format mismatch | Single Node metrics fail | Use the exact node IP as shown in cluster node listing (e.g. 10.0.0.1) |