All skills
microsoft avatar

/appinsights-instrumentation

@b3c238e
by microsoftmicrosoft/skills3.1k stars
351

Guidance for instrumenting webapps with Azure Application Insights. Provides telemetry patterns, SDK setup, and configuration references. WHEN: how to instrument app, App Insights SDK, telemetry patterns, what is App Insights, Application Insights guidance, instrumentation examples, APM best practices.

Use this Skill: https://skilld.dev/gh/microsoft/skills/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 warning15d4 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill provides guidance and technical reference for instrumenting applications with Azure Application Insights. It follows industry best practices for configuration management, including secret handling, and uses official Microsoft libraries and tools. No security issues were detected.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    12/12 files flagged

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

Last checked against GitHub yesterday.

Activeupdated 2 months ago
metadata
{
  "author": "Microsoft",
  "version": "1.2.1"
}

README badge

README badge for microsoft/skills/appinsights-instrumentation