--- name: azure-functions-health-status description: "Use when investigating current Azure Functions app status and health: Running/Stopped state, Resource Health, plan status, Azure Monitor metrics, Application Insights/Log Analytics requests, failures, exceptions, traces, dependencies, and recent Activity Log. Do not use for static inventory-only requests." --- # Azure Functions Health Status Use this skill to investigate the current status and health of an existing Azure Function App. Write final answers in the user's language. ## Required interaction Ask only for missing inputs that are needed to identify the app and time window: - Function App name (required unless already provided) - Subscription ID or name (optional) - Resource group (optional) - Investigation time window, default `24h` (optional) If subscription or resource group is unknown, discover them with Resource Graph. If multiple matching apps are found, ask the user to choose one. ## Fast path 1. Call Azure best practices for `azurefunctions` first when available. 2. Run the bundled health script for the current shell/OS: - `scripts/get-functionapp-health-status.ps1 -AppName ` - `bash scripts/get-functionapp-health-status.sh -a ` on macOS/Linux or Bash - Add `-SubscriptionId ` and/or `-ResourceGroup ` when known. - Add `-Hours ` when the user requests a specific time window. - For Bash, use `-s `, `-g `, and/or `-H ` when known. - Bash script requires Azure CLI plus a working `python3` or `python` executable for JSON shaping. - The script only reads data. It does not change the Azure CLI default subscription, configuration, or extensions. To search all subscriptions, it needs the `resource-graph` Azure CLI extension. If the extension is not installed, the script searches one subscription with `az resource list` and records this in `errors`. Do not install the extension without user approval. - Read the `errors` field of the output. Report each error as a gap. Do not report the app as complete or healthy when a step failed. 3. If bundled script execution is unavailable, use `references/health-status-commands-and-kql.md`. 4. Report health findings and action items; avoid dumping raw logs unless requested. If health findings require runtime or trigger-specific interpretation, use `../azure-functions-common/references/routing.md` on demand. Do not load shared language/extension references for plain status output. ## Scope boundary This skill should collect: - Current app state: enabled/running/stopped, metadata availability, runtime availability - Plan status and Resource Health result - Azure Monitor metrics: instance count, CPU, memory, execution counts/units, always-ready units - Trigger status summary and notable disabled or indexing-failed functions - Application Insights/Log Analytics: request counts/failures/p95, dependency failures, exceptions, warning/error traces - Recent Activity Log events - Gaps: missing telemetry, unsupported Resource Health, unavailable diagnostic data Do not perform full static inventory beyond fields needed to interpret health. Use the inventory skill for detailed specifications. ## Next steps - On success, suggest `azure-functions-diagnostics` to interpret findings and recommend fixes when health signals are degraded or unclear. - On failure, suggest `azure-functions-inventory` to confirm app identity and configuration before retrying health checks. ## Interpretation rules - For Flex Consumption, Resource Health may return `Unknown` or `Unsupported`; rely on app metadata, plan status, metrics, telemetry, and Activity Log. - Workspace-based Application Insights uses `AppRequests`, `AppExceptions`, `AppTraces`, and `AppDependencies`; classic tables may be empty. - Treat unresolved `%SETTING_NAME%` placeholders in traces/exceptions as configuration/indexing issues. - Redact connection strings, keys, tokens, and storage secrets. It is safe to report setting names and whether values exist. ## Output template ```text Target: (, , ) Current status: app , metadata , plan , Resource Health Metrics: instances , CPU , memory , executions Execution: requests , failed , p95 highlights <...>; dependency failures Triggers: enabled , disabled ; indexing/config issues Recent changes: Findings: <1-3 bullets> Recommended next actions: <1-3 bullets> Gaps: ```