AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Azure Diagnostics

skill-manu14357-zskills-azure-diagnostics · by manu14357

>

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-manu14357-zskills-azure-diagnostics

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-manu14357-zskills-azure-diagnostics)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Azure Diagnostics? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Azure Diagnostics

Troubleshoot Azure problems systematically: narrow scope, gather evidence, form hypotheses, validate fixes. Use structured root cause analysis to prevent recurrence.

Use This Skill When

  • The user reports application downtime, errors, or performance regression
  • Deployments succeed but service behavior is broken or degraded
  • There are connectivity, identity, DNS, scaling, or quota issues
  • Configuration drift or unexpected resource state is observed
  • Error messages are cryptic or originating from dependent services

Context: Incident Classification

Availability (0% traffic passing): Database down, network cut, authentication broken Degradation (partial traffic/slowness): High latency, connection pool exhaustion, throttling Configuration drift: Resource settings changed outside IaC, policy violation, quota exceeded Data integrity: Corruption, replication lag, backup failure Security: Unauthorized access, malicious activity, compliance violation

Required Inputs

  • Affected resources: Service name, region, resource group
  • Symptom timeline: Start time, duration, frequency (one-off or recurring)
  • Error signals: HTTP status codes, error messages, exception stack traces, correlation IDs
  • Recent changes: Deployment, config update, DNS change, certificate rotation, network topology
  • Expected vs. observed: What should happen vs. what actually happened
  • User impact: How many users? Business tier? SLA breach?

Decision Tree

Is the service completely unavailable (0% traffic)?
├─ Yes → Check Azure Service Health, then check compute (app/function) status
│         ├─ Resource deleted/stopped? → Restart or redeploy
│         ├─ Resource failed to start? → Check startup logs, quotas
│         └─ Resource healthy but unreachable? → Check network, DNS, firewall
└─ No (partial/slow) → Proceed to performance analysis

Did this occur after a recent deployment or change?
├─ Yes → Suspect new code, config, or infrastructure
│         ├─ Rollback or undo change → Verify symptom resolves
│         └─ If resolved: Root cause is the change; analyze diff
└─ No → Suspect environmental change, quota, or dependent service

Is the issue isolated to one region/subscription or widespread?
├─ Isolated → Check resource-specific logs, networking, IAM
└─ Widespread → Check Azure platform status, quotas, throttling

Workflow

Phase 1: Triage (First 2 minutes)

  1. Check Azure Service Health:

``bash # Portal: Service Health blade # Or search "Service Health" in Azure portal # Look for: Incidents, Advisories, Planned Maintenance affecting your region ``

  1. Verify resource status:

``bash az resource show --ids /subscriptions/$SUBID/resourceGroups/$RG/providers/$TYPE/$NAME # Check: provisioningState, powerState, healthStatus fields ``

  1. Check resource limits:
  • Has quota been exceeded? (CPU, memory, concurrent connections, API calls/sec)
  • Is the resource in a failed provisioning state?

Phase 2: Evidence Gathering (5-15 minutes)

  1. Collect logs from all layers:

Application Logs (Application Insights or Log Analytics): ``kql // Find errors in last hour traces | where timestamp > ago(1h) and severityLevel >= 2 | summarize count() by tostring(severityLevel), message ``

Dependency Tracking (what services called what): ``kql dependencies | where timestamp > ago(1h) and success == false | summarize count() by target, type, resultCode ``

Network Flow (connectivity issues): ``bash az network watcher flow-log show --resource-group $RG --nsg-name $NSG # Download NSG flow logs from storage account ``

Resource Logs (Azure Monitor Diagnostics): ``bash # For Key Vault: az monitor diagnostic-settings list --resource $KV_ID # Check: logs enabled, destination correct, retention policy ``

  1. Extract correlation IDs and trace context:

```

  • Application Insights: Operation ID (shows request chain across services)
  • HTTP requests: x-correlation-id, x-request-id headers
  • Logs: transaction ID linking app → dependency → database

```

  1. Timeline of events:

`` 10:30 AM: User reports 500 error 10:31 AM: Error rate spikes to 95% 10:32 AM: Database logs show connection timeout 10:33 AM: DBA identifies firewall rule was deleted ``

Phase 3: Root Cause Analysis

Check each layer bottom-up:

  1. Infrastructure Layer:
  • Is the resource running? (VM status, App Service plan load, Function runtime)
  • Are quotas exceeded? (vCPU, disk, network bandwidth, RPS limits)
  • Is there a network path? (ping, tracert, NSG rules, firewall)

```bash # Check VM status az vm get-instance-view --resource-group $RG --name $VM --query 'instanceView.statuses'

# Check App Service plan utilization az monitor metrics list --resource $PLAN_ID --metric "CpuPercentage,MemoryPercentage" ```

  1. Network Layer:
  • Can DNS resolve? (nslookup, dig)
  • Is there routing? (ip route show, traceroute)
  • Are NSGs blocking traffic? (check inbound/outbound rules)
  • Is private endpoint configured correctly? (DNS name resolution, IP routing)

``bash # Test DNS from within the resource: nslookup myapp.azurewebsites.net # If fails: Check private DNS zones, conditional forwarders ``

  1. Identity Layer:
  • Does managed identity have permissions? (RBAC role assignments)
  • Is Key Vault access allowed? (network rules, access policies, RBAC)
  • Has credential rotated or expired? (service principal secret)

```bash # Check role assignment az role assignment list --assignee $PRINCIPAL_ID --scope $SCOPE

# Verify Key Vault access az keyvault key list --vault-name $KV --query '[].name' ```

  1. Data Layer:
  • Is the database accessible? (connection string, firewall, availability)
  • Are credentials valid? (username, password, connection string format)
  • Is there replication lag or transaction lock? (database health check)

``bash # Check SQL database connectivity sqlcmd -S $SERVER.database.windows.net -U $USER -P $PWD -Q "SELECT 1" ``

  1. Application Layer:
  • Is there a code bug? (recent deployment, null pointer, logic error)
  • Are resource limits exhausted? (connection pool, memory, threads)?
  • Is there an unhandled exception? (check exception logs)

Phase 4: Hypothesis Testing

Form and test one hypothesis at a time:

Hypothesis 1: Network connectivity broken
  → Test: Can ping the endpoint? Can telnet to port?
  → Result: YES/NO → Adjust hypothesis or confirm

Hypothesis 2: Identity permissions missing
  → Test: Run az role assignment list for managed identity
  → Result: Missing "Key Vault Secrets User" role → CONFIRMED

Hypothesis 3: Quota exceeded
  → Test: az vm list-usage --location eastus --query "[?name.value=='cores'].currentValue"
  → Result: 100 cores used, limit 98 → CONFIRMED

Phase 5: Implement & Verify Fix

  1. Minimal reversible fix:
  • Do NOT make multiple changes at once
  • Prefer configuration change over code deployment
  • Have rollback plan ready
  1. Verify the fix:

``bash # Run post-fix validation # 1. Service health check passes # 2. Error rate returns to baseline # 3. Latency within SLA # 4. No cascading failures in dependent services ``

  1. Monitor for 5-10 minutes:
  • Is error rate stable and low?
  • Are there any new errors in logs?
  • Have dependent services recovered?

Output Contract

  1. Problem Statement
  • What users experience (HTTP 500, timeout, latency)
  • When it started, how long it lasted
  • Blast radius (% of users, which regions/tiers)
  1. Root Cause (with Evidence)
  • Most likely cause with 2-3 supporting log entries
  • Alternative causes if root cause is 70-80% confidence
  1. Supporting Evidence
  • Log excerpts showing the failure
  • Correlation IDs linking events across services
  • Timeline of events
  1. Fix Actions (step-by-step, reversible)
  • Exact commands or portal steps
  • Expected wait time for fix to take effect
  • Rollback procedure if fix doesn't work
  1. Verification Checklist
  • Smoke test (e.g., GET /health returns 200)
  • Full transaction test (e.g., POST /order, verify in database)
  • Dependent service test (e.g., can call downstream API)
  1. Prevention & Lessons Learned
  • Alert that should have caught this earlier
  • Configuration or IaC change to prevent recurrence
  • Post-incident runbook for next time

Guardrails

  • Separate facts from assumptions: Show evidence for each claim.
  • Prefer reversible fixes: Change config before redeploying code.
  • Avoid blame: Focus on systems, not people ("firewall rule was deleted" not "DBA made a mistake").
  • Keep timeline explicit: Timestamps matter for correlation.
  • Do not guess: If logs don't show the cause, keep investigating; don't assume.
  • Test rollback: Never assume rollback works without testing.
  • Create post-incident runbook: Document for faster diagnosis next time.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.