install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/microsoft/skills/azure-observability" ~/.claude/skills/comeonoliver-skillshub-azure-observability-e96c0f && rm -rf "$T"
manifest:
skills/microsoft/skills/azure-observability/SKILL.mdsource content
Azure Observability Services
Services
| Service | Use When | MCP Tools | CLI |
|---|---|---|---|
| Azure Monitor | Metrics, alerts, dashboards | | |
| Application Insights | APM, distributed tracing | | |
| Log Analytics | Log queries, KQL | | |
| Alerts | Notifications, actions | - | |
| Workbooks | Interactive reports | | - |
MCP Server (Preferred)
When Azure MCP is enabled:
Monitor
with commandazure__monitor
- Query metricsmonitor_metrics_query
with commandazure__monitor
- Query logs with KQLmonitor_logs_query
Application Insights
with commandazure__applicationinsights
- List App Insights resourcesapplicationinsights_component_list
Log Analytics
with commandazure__kusto
- List clusterskusto_cluster_list
with commandazure__kusto
- Execute KQL querieskusto_query
If Azure MCP is not enabled: Run
/azure:setup or enable via /mcp.
CLI Reference
# List Log Analytics workspaces az monitor log-analytics workspace list --output table # Query logs with KQL az monitor log-analytics query \ --workspace WORKSPACE_ID \ --analytics-query "AzureActivity | take 10" # List Application Insights az monitor app-insights component list --output table # List alerts az monitor alert list --output table # Query metrics az monitor metrics list \ --resource RESOURCE_ID \ --metric "Percentage CPU"
Common KQL Queries
// Recent errors AppExceptions | where TimeGenerated > ago(1h) | project TimeGenerated, Message, StackTrace | order by TimeGenerated desc // Request performance AppRequests | where TimeGenerated > ago(1h) | summarize avg(DurationMs), count() by Name | order by avg_DurationMs desc // Resource usage AzureMetrics | where TimeGenerated > ago(1h) | where MetricName == "Percentage CPU" | summarize avg(Average) by Resource
Monitoring Strategy
| What to Monitor | Service | Metric/Log |
|---|---|---|
| Application errors | App Insights | Exceptions, failed requests |
| Performance | App Insights | Response time, dependencies |
| Infrastructure | Azure Monitor | CPU, memory, disk |
| Security | Log Analytics | Sign-ins, audit logs |
| Costs | Cost Management | Budget alerts |
SDK Quick References
For programmatic access to monitoring services, see the condensed SDK guides:
- OpenTelemetry: Python | TypeScript | Python Exporter
- Monitor Query: Python | Java
- Log Ingestion: Python | Java
- App Insights Mgmt: .NET
Service Details
For deep documentation on specific services:
- Application Insights setup ->
skillappinsights-instrumentation - KQL query patterns -> Log Analytics KQL documentation
- Alert configuration -> Azure Monitor alerts documentation