All skills
github avatar

/appinsights-instrumentation

@6641fb8 official
by githubgithub/awesome-copilot40k stars
5,040

Instrument a webapp to send useful telemetry data to Azure App Insights

Use this Skill: https://skilld.dev/gh/github/awesome-copilot/appinsights-instrumentation

This session only. Nothing lands on disk.

referencesPYTHON.md

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

Modify code

Make these necessary changes to the app.

  • Install client library
pip install azure-monitor-opentelemetry
  • Configure the app to use Azure Monitor Python applications send telemetry via the logger class in Python standard library. Create a module that configures and creates a logger that can send telemetry.
import logging
from azure.monitor.opentelemetry import configure_azure_monitor

configure_azure_monitor(
    logger_name="<your_logger_namespace>"
)
logger = logging.getLogger("<your_logger_namespace>")

Note: since we modified the code of the app, it needs to be deployed to take effect.

Configure App Insights connection string

The App Insights resource has a connection string. Add the connection string as an environment variable of the running app. You can use Azure CLI to query the connection string of the App Insights resource. See [scripts/appinsights.ps1] for what Azure CLI command to execute for querying the connection string.

After getting the connection string, set this environment variable with its value.

"APPLICATIONINSIGHTS_CONNECTION_STRING={your_application_insights_connection_string}"

If the app has IaC template such as Bicep or terraform files representing its cloud instance, this environment variable should be added to the IaC template to be applied in each deployment. Otherwise, use Azure CLI to manually apply the environment variable to the cloud instance of the app. See what Azure CLI command to execute for setting this environment variable.

Send data

Create a logger that is configured to send telemetry.

logger = logging.getLogger("<your_logger_namespace>")
logger.setLevel(logging.INFO)

Then send telemetry events by calling its logging methods.

logger.info("info log")

Source: SKILL.md on GitHub

1 alert16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides guidelines and templates for instrumenting web applications with Azure Application Insights telemetry. No security issues were detected.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    7/8 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

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

Last checked against GitHub yesterday.

Activeupdated 9 months ago
  • azure
  • app-insights
  • telemetry
  • observability
  • asp-net-core
  • node-js
  • instrumentation
  • monitoring

README badge

README badge for github/awesome-copilot/appinsights-instrumentation

Instruments ASP.NET Core or Node.js webapps hosted in Azure to send telemetry to Azure App Insights, with options for auto-instrumentation on App Service or manual setup via Bicep templates and code modifications.

Generated from the current SKILL.md.

Does this skill work with my hosting environment?
Yes, if your app is ASP.NET Core or Node.js hosted in Azure (App Service, Container Apps, or as code). Python apps are referenced in the guides but may have limited support. Apps hosted outside Azure are not supported.
Do I need to manually instrument, or can the skill do it automatically?
For ASP.NET Core apps on Azure App Service, the skill can auto-instrument using the AUTO guide. For other setups, you'll manually create an App Insights resource and modify your application code.
How do I create the App Insights resource?
You can add App Insights to an existing Bicep template (recommended if you have one), or use Azure CLI via the included PowerShell script. The skill recommends placing it in the same resource group as your hosted app.
What languages and frameworks does this support?
ASP.NET Core and Node.js are fully supported with code instrumentation guides. Python is referenced but support details are not specified in the skill description.

Generated from the current SKILL.md. These answers refresh after source changes.