Skip to content
Back to skills

Apex Azure Diagnostics

ASecurity

**WORKFLOW SKILL** — Debug Azure production issues: Container Apps, Functions, App Service, AKS, VMs and messaging, with KQL log analysis. WHEN: 'troubleshoot container apps', 'troubleshoot AKS', 'pod crashloop', 'VM RDP or SSH failure', 'app service high CPU', 'service bus errors'. DO NOT USE FOR: pre-deploy validation (apex-azure-validate), cost (apex-azure-cost-optimization), AKS design (apex-azure-kubernetes).

  • 216 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsgoshellbashnodekubernetesazuredebugging

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned September 24, 2026

npx -y skills add jonathan-vella/apex --skill apex-azure-diagnostics --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apex Azure Diagnostics?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apex Azure Diagnostics
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jonathan-vella-apex-azure-diagnostics/badge)](https://www.skillsdirectory.com/skills/jonathan-vella-apex-azure-diagnostics)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: apex-azure-diagnostics
user-invocable: true
disable-model-invocation: false
argument-hint: "resource scope, symptom and time range"
description: "**WORKFLOW SKILL** — Debug Azure production issues: Container Apps, Functions, App Service, AKS, VMs and messaging, with KQL log analysis. WHEN: 'troubleshoot container apps', 'troubleshoot AKS', 'pod crashloop', 'VM RDP or SSH failure', 'app service high CPU', 'service bus errors'. DO NOT USE FOR: pre-deploy validation (apex-azure-validate), cost (apex-azure-cost-optimization), AKS design (apex-azure-kubernetes)."
license: MIT
metadata:
  author: Microsoft
  version: "1.0.2"
---

# Azure Diagnostics

> **AUTHORITATIVE GUIDANCE — MANDATORY COMPLIANCE**
>
> This document is the **official source** for debugging and troubleshooting Azure production issues. Follow these instructions to diagnose and resolve common Azure service problems systematically.

## Triggers

Activate this skill when user wants to:

- Debug or troubleshoot production issues
- Diagnose errors in Azure services
- Analyze application logs or metrics
- Fix image pull, cold start, or health probe issues
- Investigate why Azure resources are failing
- Find root cause of application errors
- Troubleshoot Azure Function Apps (invocation failures, timeouts, binding errors)
- Find the App Insights or Log Analytics workspace linked to a Function App
- Troubleshoot App Service issues (high CPU, deployment failures, crashes, slow responses, TLS/custom domains)
- Troubleshoot AKS clusters, nodes, pods, ingress, DNS or upgrades
- Troubleshoot Azure VM connectivity (RDP/SSH failures, NSG or firewall blocks, VM agent issues)
- Troubleshoot Event Hubs and Service Bus SDK errors (AMQP failures, lock lost, connectivity)

## Rules

1. Start with systematic diagnosis flow
2. Use AppLens (MCP) for AI-powered diagnostics when available
3. Check resource health before deep-diving into logs
4. Select appropriate troubleshooting guide based on service type
5. Document findings and attempted remediation steps
6. Diagnose only the approved scope; obtain separate approval before remediation
7. Default to read-only. Restarts, redeploys, `run-command`, credential resets, NSG changes,
   cordon/drain and node debug pods (`run-ig` with `--approve`) each need explicit approval
8. Never print secret values: list app setting names only, and never pass passwords through chat

## Prerequisites

- Confirm resource IDs, subscription, incident window and read access.
- Use available Azure CLI or MCP capabilities; unavailable telemetry is a gap,
  not a healthy result. Do not dump credentials or app settings into reports.

---

## Steps

Follow the [diagnostic workflow](references/infraops-remediation-playbooks.md#diagnostic-workflow-six-phases)
for discovery, health/metrics, logs, recent changes, severity classification and
reporting. That procedure owns phase order and the severity-to-priority mapping.
Load only the health checks and query templates needed for the selected service.

---

## Troubleshooting Guides by Service

| Service            | Common Issues                                                                                 | Reference                                              |
| ------------------ | --------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| **Container Apps** | Image pull failures, cold starts, health probes, port mismatches                              | [container-apps/](references/container-apps/README.md) |
| **App Service**    | High CPU, deployment failures, crashes, slow responses, TLS/custom domains                    | [app-service/](references/app-service/README.md)       |
| **Function Apps**  | App details, invocation failures, timeouts, binding errors, cold starts, missing app settings | [functions/](references/functions/README.md)           |
| **AKS**            | Cluster access, nodes, `kube-system`, scheduling, crash loops, ingress, DNS, upgrades          | [AKS troubleshooting](references/aks/aks-troubleshooting.md) |
| **Compute (VM)**   | RDP/SSH connectivity, NSG/firewall blocks, credential resets, VM agent issues                 | [VM connectivity](references/compute/vm-troubleshooting.md) |
| **Messaging**      | Event Hubs and Service Bus SDK errors, AMQP failures, message lock, connectivity              | [Messaging troubleshooting](references/messaging/README.md) |

Route active AKS incidents, VM connectivity and messaging SDK problems to their guides above;
keep Container Apps, App Service and Function Apps diagnostics in this skill.

## Scripts

Bash and PowerShell pairs in `scripts/` gather evidence in one pass. All are read-only except `run-ig`.

| Script                        | Purpose                                                                                       |
| ----------------------------- | --------------------------------------------------------------------------------------------- |
| `aks-baseline`                | AKS provisioning state, node pools, recent activity, node readiness and `kube-system` health   |
| `pod-evidence`                | Status, describe, current and previous logs, and resource usage for unhealthy pods            |
| `run-ig`                      | Inspektor Gadget trace through a privileged node debug pod; runs only with `--approve`/`-Approve` |
| `appservice-diagnostics`      | App Service config, recent deployments, app setting names and custom domains                  |
| `containerapp-diagnostics`    | Container App revisions, registry and ingress config, and recent logs                         |
| `test-messaging-connectivity` | DNS, HTTPS and AMQP/Kafka port reachability for a Service Bus or Event Hubs namespace          |

---

## Quick Reference

### Common Diagnostic Commands

```bash
# Inspect resource metadata (not Resource Health availability)
az resource show --ids RESOURCE_ID

# View activity log
az monitor activity-log list -g RG --max-events 20

# Container Apps logs
az containerapp logs show --name APP -g RG --follow

# Function App logs (query App Insights traces)
az monitor app-insights query --apps APP-INSIGHTS -g RG \
  --analytics-query "traces | where timestamp > ago(1h) | order by timestamp desc | take 50"
```

### AppLens (MCP Tools)

For AI-powered diagnostics, use:

```
mcp_azure-mcp_applens
  intent: "diagnose issues with <resource-name>"
  command: "diagnose"
  parameters:
    resourceId: "<resource-id>"

Provides:
- Automated issue detection
- Root cause analysis
- Remediation recommendations
```

### Azure Monitor (MCP Tools)

For querying logs and metrics:

```
mcp_azure-mcp_monitor
  intent: "query logs for <resource-name>"
  command: "logs_query"
  parameters:
    workspaceId: "<workspace-id>"
    query: "<KQL-query>"
```

See [kql-queries.md](references/kql-queries.md) for common diagnostic queries.

---

## Check Azure Resource Health

### Using MCP

```
mcp_azure-mcp_resourcehealth
  intent: "check health status of <resource-name>"
  command: "get"
  parameters:
    resourceId: "<resource-id>"
```

Metadata/provisioning state from `az resource show` is not Resource Health
availability. If the Resource Health tool is unavailable, report that check as
unavailable and continue the approved [health checks](references/infraops-health-checks.md).

---

## Reference Index

- [KQL Query Library](references/kql-queries.md)
- [Azure Resource Graph Queries](references/azure-resource-graph.md)
- [InfraOps KQL Templates](references/infraops-kql-templates.md) — custom Azure Resource Graph and Log Analytics queries
- [InfraOps Health Checks](references/infraops-health-checks.md) — per-resource-type diagnostic commands
- [InfraOps Remediation Playbooks](references/infraops-remediation-playbooks.md) — 6-phase diagnostic workflow
- [Function Apps Troubleshooting](references/functions/README.md)
- [App Service Troubleshooting](references/app-service/README.md)
- [AKS Troubleshooting](references/aks/aks-troubleshooting.md) — intake, evidence, per-symptom guides and Inspektor Gadget
- [VM Connectivity Troubleshooting](references/compute/vm-troubleshooting.md) — RDP/SSH, NSG/firewall, credentials, VM agent
- [Messaging Troubleshooting](references/messaging/README.md) — Event Hubs and Service Bus SDK guides

Load these references on demand, not all at once.

Files in this skill

  • SKILL.md8.2 KB
  • references/aks/aks-troubleshooting.md6.2 KB
  • references/aks/general-diagnostics.md2 KB
  • references/aks/load-balancer-and-ingress.md3.6 KB
  • references/aks/network-policy.md832 B
  • references/aks/networking.md5.5 KB
  • references/aks/node-issues.md4.7 KB
  • references/aks/pod-failures.md7.6 KB
  • references/aks/references/aks-mcp.md1.5 KB
  • references/aks/references/command-flows.md4 KB
  • references/aks/references/inspektor-gadget.md7.9 KB
  • references/aks/references/structured-input-modes.md1.5 KB
  • references/aks/spot-and-zone-issues.md2.5 KB
  • references/aks/upgrade-operations.md2.2 KB
  • references/app-service/README.md7.2 KB
  • references/azure-resource-graph.md2.2 KB
  • references/compute/references/cannot-connect-to-vm.md3.1 KB
  • references/compute/references/credential-auth-errors.md2.5 KB
  • references/compute/references/firewall-blocking.md2.3 KB
  • references/compute/references/network-connectivity.md2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…