Huawei Cloud Agentarts Obs Diagnosis logo

Huawei Cloud Agentarts Obs Diagnosis

Organization
huaweicloud
huawei-cloud-agentarts-obs-diagnosis

Observability no-data diagnosis skill for Huawei Cloud AgentArts agent-ops platform. Systematically diagnoses missing metrics, logs, and traces/sessions in agent-ops by checking subscription metadata, data pipeline (APM/AOM/LTS), query parameters, and authentication. Generates root-cause analysis and fix recommendations. Triggers include: "AgentArts no data", "metrics no data", "logs no data", "traces no data", "session no data", "obs diagnosis", "可观测诊断", "无数据诊断", "查不到指标", "查不到日志", "调用链无数据", "agent-ops 无数据"

Overview

Publisherhuaweicloud
Repositoryhuaweicloud-skills
Skill namehuawei-cloud-agentarts-obs-diagnosis
Stars
59
Forks
24
Bundled files
7
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 7 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by huaweicloud on GitHub. Read the source before you install it.

Installation

Install the Huawei Cloud Agentarts Obs Diagnosis AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/huaweicloud/huaweicloud-skills/tree/master/skills/ai/agentarts/huawei-cloud-agentarts-obs-diagnosis
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/huaweicloud/huaweicloud-skills.git /tmp/huaweicloud-skills
mkdir -p .claude/skills
cp -r /tmp/huaweicloud-skills/skills/ai/agentarts/huawei-cloud-agentarts-obs-diagnosis .claude/skills/huawei-cloud-agentarts-obs-diagnosis
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Huawei Cloud Agentarts Obs Diagnosis in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Huawei Cloud Agentarts Obs Diagnosis on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Huawei Cloud Agentarts Obs Diagnosis is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

bash
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:

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

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

bash
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:

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

Check AOM Prometheus instance and access code:

bash
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):

bash
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:

bash
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:
    bash
    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:
    bash
    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:
    bash
    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:
    bash
    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:
    bash
    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):
    bash
    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:
    bash
    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

bash
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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Huawei Cloud Agentarts Obs Diagnosis AI skill do?

Observability no-data diagnosis skill for Huawei Cloud AgentArts agent-ops platform. Systematically diagnoses missing metrics, logs, and traces/sessions in agent-ops by checking subscription metadata, data pipeline (APM/AOM/LTS), query parameters, and authentication. Generates root-cause analysis and fix recommendations. Triggers include: "AgentArts no data", "metrics no data", "logs no data", "traces no data", "session no data", "obs diagnosis", "可观测诊断", "无数据诊断", "查不到指标", "查不到日志", "调用链无数据", "agent-ops 无数据"

Why use Huawei Cloud Agentarts Obs Diagnosis on TypingMind?

Because you install it once and use it with any model. Huawei Cloud Agentarts Obs Diagnosis is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Huawei Cloud Agentarts Obs Diagnosis in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/huaweicloud/huaweicloud-skills/tree/master/skills/ai/agentarts/huawei-cloud-agentarts-obs-diagnosis. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Huawei Cloud Agentarts Obs Diagnosis?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Huawei Cloud Agentarts Obs Diagnosis?

As many as you like. As long as a model supports skills, you can use Huawei Cloud Agentarts Obs Diagnosis with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Huawei Cloud Agentarts Obs Diagnosis AI skill free?

Yes. It is published on GitHub by huaweicloud under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇