appinsights-instrumentation
github/awesome-copilot
Instrument webapps to send telemetry data to Azure App Insights for observability
What is appinsights-instrumentation?
This skill enables sending telemetry data from a webapp to Azure App Insights for monitoring application health and performance. Use it when you need observability into your ASP.NET Core or Node.js application running on Azure.
- Auto-instrument ASP.NET Core apps hosted in Azure App Service
- Manually instrument ASP.NET Core, Node.js, and Python applications
- Create App Insights resources via Bicep templates or Azure CLI
- Collect and send telemetry data for application health monitoring
- Configure connection strings and instrumentation keys in application code
How to install appinsights-instrumentation
npx skills add https://github.com/github/awesome-copilot --skill appinsights-instrumentation- ASP.NET Core app hosted in Azure, or Node.js app hosted in Azure
- Access to Azure subscription and resource groups
- Existing Bicep templates (optional, for infrastructure-as-code approach) or Azure CLI access
How to use appinsights-instrumentation
- 1.Determine your application type and hosting environment (ASP.NET Core, Node.js, or Python on Azure)
- 2.For ASP.NET Core on Azure App Service, use the AUTO guide for auto-instrumentation
- 3.For manual instrumentation, create an App Insights resource using either Bicep templates or Azure CLI scripts
- 4.Update your application code with App Insights SDK based on your language (ASPNETCORE, NODEJS, or PYTHON guide)
- 5.Configure the instrumentation key or connection string in your application configuration
- 6.Deploy the updated application to Azure and verify telemetry data is flowing to App Insights
Use cases
- Monitor application performance and health metrics in production
- Track request rates, response times, and error rates
- Diagnose issues by analyzing telemetry logs and traces
- Set up alerts based on application health thresholds
- Correlate application events across distributed systems
- Backend developers building ASP.NET Core applications
- Node.js application developers
- DevOps engineers managing Azure deployments
- Teams needing application observability and monitoring
appinsights-instrumentation FAQ
ASP.NET Core and Node.js applications hosted in Azure are fully supported. Python applications can also be instrumented manually.
Use auto-instrumentation if you have a C# ASP.NET Core app in Azure App Service, as it requires minimal code changes. Use manual instrumentation for other scenarios or if you need more control.
You can add App Insights to an existing Bicep template file or use Azure CLI commands. Bicep is recommended if you already have infrastructure-as-code templates in your workspace.
Create it in the same resource group as your hosted application for easier resource management and organization.
Once deployed, your application will automatically send telemetry data to App Insights, where you can monitor metrics, logs, traces, and set up alerts.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: appinsights-instrumentation description: 'Instrument a webapp to send useful telemetry data to Azure App Insights'
AppInsights instrumentation
This skill enables sending telemetry data of a webapp to Azure App Insights for better observability of the app's health.
When to use this skill
Use this skill when the user wants to enable telemetry for their webapp.
Prerequisites
The app in the workspace must be one of these kinds
- An ASP.NET Core app hosted in Azure
- A Node.js app hosted in Azure
Guidelines
Collect context information
Find out the (programming language, application framework, hosting) tuple of the application the user is trying to add telemetry support in. This determines how the application can be instrumented. Read the source code to make an educated guess. Confirm with the user on anything you don't know. You must always ask the user where the application is hosted (e.g. on a personal computer, in an Azure App Service as code, in an Azure App Service as container, in an Azure Container App, etc.).
Prefer auto-instrument if possible
If the app is a C# ASP.NET Core app hosted in Azure App Service, use AUTO guide to help user auto-instrument the app.
Manually instrument
Manually instrument the app by creating the AppInsights resource and update the app's code.
Create AppInsights resource
Use one of the following options that fits the environment.
- Add AppInsights to existing Bicep template. See examples/appinsights.bicep for what to add. This is the best option if there are existing Bicep template files in the workspace.
- Use Azure CLI. See scripts/appinsights.ps1 for what Azure CLI command to execute to create the App Insights resource.
No matter which option you choose, recommend the user to create the App Insights resource in a meaningful resource group that makes managing resources easier. A good candidate will be the same resource group that contains the resources for the hosted app in Azure.
Modify application code
- If the app is an ASP.NET Core app, see ASPNETCORE guide for how to modify the C# code.
- If the app is a Node.js app, see NODEJS guide for how to modify the JavaScript/TypeScript code.
- If the app is a Python app, see PYTHON guide for how to modify the Python code.
Related skills
More from github/awesome-copilot and the wider catalog.
git-commit
Execute semantic git commits with conventional message analysis and intelligent staging.
excalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions.
documentation-writer
Create structured technical documentation using the Diátaxis framework for tutorials, how-to guides, references, and explanations.
gh-cli
GitHub CLI comprehensive reference for repositories, issues, PRs, Actions, projects, releases, and all GitHub operations from the command line.
prd
Generate comprehensive Product Requirements Documents with executive summaries, user stories, technical specs, and risk analysis.
refactor
Surgical code refactoring to improve maintainability without changing behavior.