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-dotnet.md

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

Azure Event Hubs SDK — .NET (C#)

Package: Azure.Messaging.EventHubs | README | Full Troubleshooting Guide

Common Errors

Exception Reason Fix
EventHubsException (ServiceTimeout) Service didn't respond in time Transient — retried automatically. Verify state if persists
EventHubsException (QuotaExceeded) Too many active readers per consumer group Reduce concurrent receivers or upgrade tier
EventHubsException (ConsumerDisconnected) Higher priority consumer took ownership Expected during load balancing; check if scaling
EventHubsException (MessageSizeExceeded) Event too large Reduce event payload; unlikely in practice since the client caps at the service link limit
UnauthorizedAccessException Bad credentials Verify connection string, SAS token, or RBAC roles

Exception Filtering

try { /* receive events */ }
catch (EventHubsException ex) when (ex.Reason == EventHubsException.FailureReason.ConsumerDisconnected)
{
    // Handle consumer disconnection
}

Retry Configuration

Configure via EventHubsRetryOptions when creating the client. See Configuring retry thresholds sample.

Key Issues

  • Socket exhaustion: Treat clients as singletons. Share EventHubConnection across clients if needed. Always call CloseAsync or DisposeAsync.
  • HTTP 412/409 from storage: Normal during checkpoint store operations — not an error.
  • Partitions closing frequently: Expected when scaling. If persists >5 min without scaling, investigate. See Troubleshooting Guide for detailed diagnostics.
  • High CPU: Limit to 1.5–3 partitions per CPU core and test at scale thoroughly if above that threshold.
  • Azure Functions: After upgrading to v5.0+ extensions, update binding types. Reduce logging noise by filtering Azure.Messaging.EventHubs to Warning.
  • WebSockets: Use EventHubsTransportType.AmqpWebSockets to connect over port 443 when AMQP ports (5761, 5762) are blocked.

Checkpointing (BlobCheckpointStore)

Package: Azure.Messaging.EventHubs.Processor (includes EventProcessorClient + blob checkpoint store)

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

var credential = new DefaultAzureCredential();

var storageClient = new BlobContainerClient(
    new Uri("https://<storage-account>.blob.core.windows.net/<checkpoint-container>"),
    credential);

var processor = new EventProcessorClient(
    storageClient,
    "$Default",
    "<your-namespace>.servicebus.windows.net",
    "<your-eventhub>",
    credential);

processor.ProcessEventAsync += async (args) =>
{
    // process event
    await args.UpdateCheckpointAsync();
};

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 UpdateCheckpointAsync() per batch, not per event, to reduce storage calls.

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