Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Instrument applications with Azure Application Insights for telemetry, tracing, and performance monitoring
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
references/python.md
1## Modify code23Make these necessary changes to the app.45- Install client library6```7pip install azure-monitor-opentelemetry8```910- Configure the app to use Azure Monitor11Python applications send telemetry via the logger class in Python standard library. Create a module that configures and creates a logger that can send telemetry.1213```python14import logging15from azure.monitor.opentelemetry import configure_azure_monitor1617configure_azure_monitor(18logger_name="<your_logger_namespace>"19)20logger = logging.getLogger("<your_logger_namespace>")21```2223> Note: since we modified the code of the app, it needs to be deployed to take effect.2425## Configure App Insights connection string2627The 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.2829After getting the connection string, set this environment variable with its value.3031```32"APPLICATIONINSIGHTS_CONNECTION_STRING={your_application_insights_connection_string}"33```3435If 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.3637## Send data3839Create a logger that is configured to send telemetry.40```python41logger = logging.getLogger("<your_logger_namespace>")42logger.setLevel(logging.INFO)43```4445Then send telemetry events by calling its logging methods.46```python47logger.info("info log")48```49