mcpField
H
huawei-cloud-agentarts-obs-diagnosis

huawei-cloud-agentarts-obs-diagnosis

github.com/huaweicloudOther5939 installsUpdated 3d ago
Repository

About huawei-cloud-agentarts-obs-diagnosis

A diagnostic skill for Huawei Cloud AgentArts that helps operators trace missing metrics, logs, and traces across APM, AOM, and LTS. It organizes checks from subscription metadata through data pipelines to query parameters.

Key features

  1. 01Three-phase diagnosis flow
  2. 02Checks APM, AOM, and LTS metadata
  3. 03Troubleshoots metrics, logs, and traces
  4. 04Validates timestamps, regions, and permissions
  5. 05Produces a diagnostic report

Use cases

  1. 01Investigating missing AgentArts metrics
  2. 02Tracing absent logs or sessions
  3. 03Checking region and timestamp mismatches

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-agentarts-obs-diagnosis

After installing, type/huawei-cloud-agentarts-obs-diagnosisin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
acceptance-criteria.md
cli-installation-guide.md
dataflow-diagram.md
diagnostic-report-template.md
iam-policies.md
verification-method.md
templates/
test-vars.json

Details

From the project README

Huawei Cloud AgentArts Observability No-Data Diagnosis

Overview

This skill systematically diagnoses missing metrics, logs, and traces/sessions in Huawei Cloud AgentArts agent-ops platform. It follows a three-phase diagnostic flow: subscription metadata check → data pipeline troubleshooting → query parameter validation, covering three data sources: APM (traces/metrics), AOM (metrics), and LTS (logs).

Architecture
Application (OTel SDK/Collector)
  │
  ├── Traces:  OTEL SDK → APM (OTLP) → deliverConfig → Kafka → agent-ops
  ├── Metrics: Application → AOM (Prometheus) → agent-ops
  └── Logs:    Application → LTS → agent-ops (requires logGroup/logStream metadata)
Data Sources and Metadata
Data TypeSourceRequired Metadata
Traces/SessionsAPMapmBusiness, apmToken
MetricsAOMpromInstance, aomAccessCode
LogsLTSlogGroup, logStream

Prerequisites

1. Huawei Cloud Credentials
export HUAWEI_ACCESS_KEY="<your-access-key-id>"
read -rs HUAWEI_SECRET_KEY; export HUAWEI_SECRET_KEY
export HUAWEI_REGION="cn-north-4"
2. hcloud CLI (KooCLI)

Install: https://support.huaweicloud.com/qs-hcli/hcli_02_003.html

3. IAM Permissions

See references/iam-policies.md for least-privilege policy.

Workflow

Step 1: Identify Missing Data Type

Use AskUserQuestion to determine which data type is missing:

OptionData TypeData Source
AMetrics (metrics)AOM / APM
BLogs (logs)LTS
CTraces/Sessions (traces/session)APM
DAll missingAll sources

Record symptoms: complete vs partial absence, error codes, onset time.

Step 2: Confirm Environment Context
ParameterDefaultDescription
regioncn-north-4Query region (must match ingestion region)
domain_id—IAM domain ID
project_id—Project ID for LTS queries
start_time / end_time—Millisecond timestamps (13 digits, NOT 10-digit seconds)
Step 3: Check Subscription Metadata (Phase 1 — Always First)

Missing subscription metadata is the most common root cause of no-data issues.

Check APM business and token:

hcloud APM ListBusiness --cli-region=cn-north-4

If no business exists → APM not subscribed. Create business:

hcloud APM CreateBusiness --cli-region=cn-north-4 \
  --name="obs-diagnosis-check" \
  --display_name="obs-diagnosis-check" \
  --descp="diagnosis" \
  --cmdb_datasource_type=OTEL

Verify business token:

hcloud APM ShowToken --cli-region=cn-north-4 \
  --x-business-id={business_id}

Check AOM Prometheus instance and access code:

hcloud AOM ListPromInstance --cli-region=cn-north-4 --Enterprise-Project-Id=0
hcloud AOM ListAccessCode --cli-region=cn-north-4

If no PromInstance → AOM not configured. Create Prometheus instance (--prom_type must be one of ECS/CCE/REMOTE_WRITE/CLOUD_SERVICE/ACROSS_ACCOUNT; --region header is required and must match --cli-region):

hcloud AOM CreatePromInstance --cli-region=cn-north-4 \
  --prom_name="obs-diagnosis" \
  --prom_type=REMOTE_WRITE \
  --region=cn-north-4

Check LTS log groups and streams:

hcloud LTS ListLogGroups --cli-region=cn-north-4
hcloud LTS ListLogStreams --cli-region=cn-north-4 --log_group_id={group_id}

If no logGroup/logStream → LTS not subscribed for agent-ops.

Step 4: Diagnose by Data Type (Phase 2 — Pipeline Check)
4A. Metrics No-Data Diagnosis

Check pipeline bottom-up:

  1. Application side: Is OTEL metrics SDK / Prometheus exporter configured?
  2. AOM side:
    hcloud AOM ListPromInstance --cli-region=cn-north-4 --Enterprise-Project-Id=0
    hcloud AOM ListAccessCode --cli-region=cn-north-4
    hcloud AOM ListMetadataAomPromGet --cli-region=cn-north-4
    
    • Prometheus instance valid?
    • Access code valid?
    • Endpoint reachable?
  3. Query side: Use Prometheus query to verify data exists:
    hcloud AOM ListInstantQueryAomPromGet --cli-region=cn-north-4 \
      --query="up" \
      --prom_instance_id={prom_id}
    
  4. agent-ops filter: Check metric_name matches (resource_tokens, model_tokens, session_tokens, trace_tokens), filter labels match (gen_ai_resource_type, resource_id, model_id).
4B. Logs No-Data Diagnosis
  1. Application side: Is ICAgent / OTEL logs exporter configured?
  2. LTS side:
    hcloud LTS ListLogGroups --cli-region=cn-north-4
    hcloud LTS ListLogStreams --cli-region=cn-north-4 --log_group_id={group_id}
    hcloud LTS ListLogs --cli-region=cn-north-4 \
      --log_group_id={group_id} \
      --log_stream_id={stream_id} \
      --start_time=1720000000000 \
      --end_time=1720600000000
    
  3. Query parameters: Check agentRunId, agentId, traceId, logType, keyword syntax (LTS query language).
  4. Error codes:
    • LTS.2446 → Unsupported query syntax — fix keyword syntax
    • 403 → Permission denied — check agency token (ops_admin_trust)
4C. Traces/Sessions No-Data Diagnosis
  1. Application side:
    hcloud APM SearchAgent --cli-region=cn-north-4 --x-business-id={business_id}
    
    Is OTEL SDK configured with correct endpoint and token?
  2. APM deliverConfig:
    • Is deliver_otel_trace=true in deliverConfig?
    • Is Kafka reachable (bootstrap-servers, SASL_SSL, topic exists)?
  3. APM data verification:
    hcloud APM SearchTransaction --cli-region=cn-north-4 \
      --x-business-id={business_id} \
      --start_time=1720000000000 \
      --end_time=1720600000000
    
  4. agent-ops query side (API only — not in KooCLI):
    curl -X POST ${AGENT_OPS_ENDPOINT}/v1/ops/observation/traces \
      -H "Authorization: Bearer ${IAM_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"start_time": 1720000000000, "end_time": 1720600000000}'
    
Step 5: Common Checks (All Data Types)
  1. Timestamp format: Must be 13-digit milliseconds (10-digit seconds → no data)
  2. Region consistency: Ingestion region must match query region
  3. Authentication: IAM token / AppCode valid? 401 → expired, 403 → insufficient permission. ${IAM_TOKEN} 需在运行期由 IAM token / AppCode 获取后替换(见上 Step 4 agent-ops 查询命令);未替换则为占位符,照抄请求必返回 401。
  4. Permission check:
    hcloud IAM ListPoliciesV5 --cli-region=cn-north-4
    
Step 6: Generate Diagnostic Report

See references/diagnostic-report-template.md for the report format.

Core Commands

CommandPurposeMode
hcloud APM ListBusiness --cli-region=cn-north-4List APM businessesCLI
hcloud APM ShowBusinessDetail --cli-region=cn-north-4Show business detailsCLI
hcloud APM ShowToken --cli-region=cn-north-4Get business tokenCLI
hcloud APM ShowAccessPoint --cli-region=cn-north-4Get access pointCLI
hcloud APM SearchAgent --cli-region=cn-north-4Search agentsCLI
hcloud APM SearchTransaction --cli-region=cn-north-4Search transactions (traces)CLI
hcloud APM ShowSpanSearch --cli-region=cn-north-4Search spansCLI
hcloud APM ListOpenRegion --cli-region=cn-north-4List open regionsCLI
hcloud AOM ListPromInstance --cli-region=cn-north-4 --Enterprise-Project-Id=0List Prometheus instancesCLI
hcloud AOM ListAccessCode --cli-region=cn-north-4List access codesCLI
hcloud AOM ListInstantQueryAomPromGet --cli-region=cn-north-4Instant Prometheus queryCLI
hcloud AOM ListRangeQueryAomPromGet --cli-region=cn-north-4Range Prometheus queryCLI
hcloud AOM ListMetadataAomPromGet --cli-region=cn-north-4List Prometheus metadataCLI
hcloud LTS ListLogGroups --cli-region=cn-north-4List log groupsCLI
hcloud LTS ListLogStreams --cli-region=cn-north-4List log streamsCLI
hcloud LTS ListLogs --cli-region=cn-north-4List logsCLI
hcloud IAM ListPoliciesV5 --cli-region=cn-north-4List IAM policiesCLI
POST {AGENT_OPS_ENDPOINT}/v1/ops/observation/tracesQuery traces in agent-opsAPI
POST {AGENT_OPS_ENDPOINT}/v1/ops/observation/metrics/trendQuery metric trendsAPI

Parameter Confirmation

ParameterRequiredDescriptionExample
regionYesQuery regioncn-north-4
business_idYes (traces)APM business IDFrom ListBusiness
prom_instance_idYes (metrics)AOM Prometheus instance IDFrom ListPromInstance
log_group_idYes (logs)LTS log group IDFrom ListLogGroups
log_stream_idYes (logs)LTS log stream IDFrom ListLogStreams
start_timeYesStart time (ms timestamp)1720000000000
end_timeYesEnd time (ms timestamp)1720600000000
metric_nameNo (metrics)Metric name to queryresource_tokens
keywordsNo (logs)LTS keyword searcherror AND timeout
trace_idNo (traces)Trace ID filter—

KooCLI Command Format Standard

hcloud <Service> <Operation> --cli-region=<region> [--key=value ...]
FeatureDescriptionExample
Service nameKooCLI Service name (uppercase)APM, AOM, LTS, IAM
Operation namePascalCaseListBusiness, ShowToken
Region parameter--cli-region=<value>--cli-region=cn-north-4
Simple parameter--key=value--business_id=xxx

Reference Documents

  • references/iam-policies.md — Least-privilege IAM policies
  • references/cli-installation-guide.md — hcloud CLI installation guide
  • references/verification-method.md — Verification methods and API status
  • references/dataflow-diagram.md — Mermaid data flow and diagnostic flow
  • references/acceptance-criteria.md — Acceptance criteria for diagnosis
  • references/diagnostic-report-template.md — Diagnostic report template

Edge Cases

ScenarioHandling
All data types missingCheck subscription status first, then network connectivity
Partial data missing (some apps)Check agent deployment, service.name mapping
LTS.2446 errorFix keyword syntax (escaping, quotes, operators)
403 error (non-claw)Check IAM tenant permissions and subscription status
403 error (claw)Check agency (ops_admin_trust) and STS configuration
RESOURCE_NOT_EXISTResource records missing — confirm CreateClawTenantRelation
Metadata missingSubscribe first (SubscribeOpsObservation)
Timestamp 10 digitsConvert to 13-digit milliseconds
Region mismatchUse same region for ingestion and query

Notes

  • Priority order: Subscription metadata → data pipeline → query parameters → permissions
  • Most common root cause: Missing subscription metadata (apmBusiness, promInstance, logGroup)
  • Timestamp pitfall: 10-digit seconds instead of 13-digit milliseconds
  • Credential security: Never hardcode AK/SK. Read from env vars or CLI profile.
  • Least privilege: See references/iam-policies.md for required permissions.

Comments

Markdown supported