All skills
microsoft avatar

/azure-diagnostics

@ae5e585
by microsoftmicrosoft/skills3.1k stars
351

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, troubleshoot functions, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, service bus dead letter.

Use this Skill: https://skilld.dev/gh/microsoft/skills/azure-diagnostics

This session only. Nothing lands on disk.

troubleshootingmessagingazure-eventhubs-java.md

≈825 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Azure Event Hubs SDK — Java

Package: azure-messaging-eventhubs | README | Full Troubleshooting Guide

⚠️ Note: The detailed Java troubleshooting guide has moved to Microsoft Learn.

Common Errors

Exception Cause Fix
AmqpException (connection:forced) Idle connection disconnected Auto-recovers; no action needed
AmqpException (unauthorized-access) Bad credentials or missing permissions Verify connection string, SAS, or RBAC roles
AmqpException (resource-limit-exceeded) Too many concurrent receivers Reduce receiver count or upgrade tier
OperationTimeoutException Network issue or throttling Check firewall, try AMQP over WebSockets (port 443)

Enable Logging

Configure via SLF4J. Add logback-classic dependency and set level for com.azure.messaging.eventhubs:

<logger name="com.azure.messaging.eventhubs" level="DEBUG"/>

For AMQP frame tracing:

<logger name="com.azure.core.amqp" level="DEBUG"/>

See Java SDK logging docs for details.

Key Issues

  • High CPU / partition imbalance: Limit to 1.5–3 partitions per CPU core.
  • Consumer disconnected: Higher priority consumer took ownership. Expected during load balancing. Persistent issues without scaling indicate a problem.
  • Connection sharing: Reuse EventHubClientBuilder connections; avoid creating new clients per operation.

Checkpointing (BlobCheckpointStore)

Package: azure-messaging-eventhubs-checkpointstore-blob

Auth: DefaultAzureCredential is for local development. See auth-best-practices.md for production patterns.

TokenCredential credential = new DefaultAzureCredentialBuilder().build();

BlobContainerAsyncClient blobClient = new BlobContainerClientBuilder()
    .endpoint("https://<storage-account>.blob.core.windows.net/<checkpoint-container>")
    .credential(credential)
    .buildAsyncClient();

EventProcessorClient processor = new EventProcessorClientBuilder()
    .credential("<your-namespace>.servicebus.windows.net", "<your-eventhub>", credential)
    .consumerGroup("$Default")
    .checkpointStore(new BlobCheckpointStore(blobClient))
    .processEvent(eventContext -> {
        // process event
        eventContext.updateCheckpoint();
    })
    .buildEventProcessorClient();

Common issues:

  • Soft delete / blob versioning: Disable both on the storage account — they cause delays during load balancing.
  • HTTP 412/409 from storage: Normal during partition ownership negotiation; not an error.
  • Checkpoint frequency: Call updateCheckpoint() per batch, not per event, to reduce storage calls.

Filing Issues

Include: partition count, machine specs, instance count, max heap (-Xmx), average EventData size, traffic pattern, and DEBUG-level logs (±10 min from issue).

Source: SKILL.md on GitHub

1 warning15d4 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill is designed for Azure diagnostics and troubleshooting, providing a comprehensive set of guides and scripts that utilize standard tools like the Azure CLI and kubectl. It includes some security considerations, such as the ingestion of logs which provides a surface for indirect prompt injection, and the use of privileged debug pods for advanced diagnostics. These are used within the skill's intended functionality and are accompanied by appropriate guidance for user approval.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    4/4 files flagged

Signed by skilld at ae5e585. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated last month
metadata
{
  "author": "Microsoft",
  "version": "1.2.6"
}

README badge

README badge for microsoft/skills/azure-diagnostics