惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Palo Alto Networks Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
GbyAI
GbyAI
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
量子位
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
Recent Announcements
Recent Announcements
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 叶小钗
L
Lohrmann on Cybersecurity
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
Hugging Face - Blog
Hugging Face - Blog
P
Proofpoint News Feed
NISL@THU
NISL@THU
博客园 - Franky
C
Cybersecurity and Infrastructure Security Agency CISA
The Register - Security
The Register - Security
M
MIT News - Artificial intelligence
Know Your Adversary
Know Your Adversary
A
Arctic Wolf
F
Full Disclosure
T
Threat Research - Cisco Blogs
P
Privacy & Cybersecurity Law Blog
The Hacker News
The Hacker News
博客园 - 【当耐特】
D
Docker
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Jina AI
Jina AI
Help Net Security
Help Net Security
V
Visual Studio Blog
小众软件
小众软件
B
Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
Forbes - Security
Forbes - Security
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic

Datadog | The Monitor blog

Introducing our open source AI-native SAST Instrument and monitor Boomi integration flows with OpenTelemetry and Datadog Not all index scans are equal: How we cut query latency by over 99% Platform engineering metrics: What to measure and what to ignore Integrate Recorded Future threat intelligence with Datadog Cloud SIEM CI/CD security: threat modeling using a MITRE-style threat matrix CI/CD security: How to secure your GitHub ecosystem Ingress NGINX is EOL: A practical guide for migrating to Kubernetes Gateway API Operating agentic AI with Amazon Bedrock AgentCore and Datadog LLM Observability: Lessons from NTT DATA Introducing the Datadog Code Security MCP Capture and analyze custom heatmaps in Session Replay Understand session replays faster with AI summaries and smart chapters Monitor ClickHouse query performance with Datadog Database Monitoring How we designed empathetic alert sounds for on-call engineers Search and act across Datadog to resolve issues faster with Bits Assistant Measure the business impact of every product change with Datadog Experiments Analyzing round trip query latency Configuring JavaScript caches for better performance Introducing Bits AI Dev Agent for Code Security Datadog achieves ISO 42001 certification for responsible AI Monitor Nutanix clusters, hosts, and VMs with Datadog Monitor Juniper Mist in Datadog A new Host Map for modern infrastructure Annotate traces to improve LLM quality with Datadog LLM Observability What’s new in Cloud SIEM: AI-powered investigations, enhanced threat intelligence, and scalable security operations Explore Kubernetes with native OpenTelemetry data Monitor Oracle Fusion Cloud Applications with Datadog Announcing the Datadog Terraform provider v4.0.0 Scaling Kubernetes workloads on custom metrics How to design cloud environments for AI-powered threat analysis Monitor Aruba Central in Datadog How we centralize and remediate risks with Datadog Case Management Accelerate incident response with Datadog and ServiceNow Monitor your application and network load balancer logs Understanding Karpenter architecture for Kubernetes autoscaling Tools for collecting metrics and logs from Karpenter Monitor Karpenter with Datadog What your product data is actually saying Key metrics for monitoring Karpenter Securing Datadog’s platform in the AI age: The role of observability data Four ways engineering teams use the Datadog MCP Server to power AI agents Approaching your observability migration with the right mindset Meet the new Bits AI SRE: Deeper reasoning, twice as fast Key learnings from the 2026 State of DevSecOps study Use plain English to query your multi-cloud infrastructure in Resource Catalog Simplifying troubleshooting across the user journey with Datadog Synthetic Monitoring Protect your OCI resources with Datadog Cloud Security This Month in Datadog - February 2026 Amazon EC2 security: How misconfigured and public AMIs expand your cloud attack surface Enable end-to-end visibility into your Java apps with a single command Measure and improve mobile app startup performance with Datadog RUM Evaluating our AI Guard application to improve quality and control cost Identify untested code across every level of your codebase Make use of guardrail metrics and stop babysitting your releases Monitor Versa Networks SD-WAN performance in Datadog Improve performance and reliability with APM Recommendations Remediate transitive vulnerabilities faster with Datadog Software Composition Analysis Generate audit-ready vulnerability and compliance reports with Datadog Sheets Monitor Fortinet FortiManager performance in Datadog Improve test coverage across codebases with Datadog Code Coverage Move fast, don’t break things: Consistent testing standards at scale Enrich logs with ServiceNow CMDB context before routing to any SIEM or logging tool Monitor Lustre with Datadog Make faster, better product decisions with Datadog Product Analytics Surface and remediate runtime posture issues with Workload Protection Findings Protect agentic AI applications with Datadog AI Guard How to optimize JavaScript code with CSS Trace Google Pub/Sub workloads in Cloud Run with Datadog Detect human names in logs with ML in Sensitive Data Scanner How we cut our NLQ agent debugging time from hours to minutes with LLM Observability Debug PostgreSQL query latency faster with EXPLAIN ANALYZE in Datadog Database Monitoring Datadog acquires Propolis Unify and correlate frontend and backend data with retention filters Scale compliance across global frameworks with Datadog Cloud Security Monitor Arista VeloCloud SD-WAN performance with Datadog Building reliable dashboard agents with Datadog LLM Observability Simplify log collection and aggregation for MSSPs with Datadog Observability Pipelines Mitigation for Node.js denial-of-service vulnerability affecting Datadog APM Automate flaky test fixes with the Bits AI Dev Agent and Test Optimization How we built an AI SRE agent that investigates like a team of engineers Datadog integrations 2025 recap: Observability for AI, security, and hybrid cloud Design effective executive dashboards with Datadog Implement dbt data quality checks with dbt-expectations Bring faster visibility into AWS Lambda functions with remote instrumentation Troubleshoot faster with the GitLab Source Code integration in Datadog How Cambia Health Solutions saved $30,000 monthly with Cloud Cost Management and the Datadog Resource Catalog Normalize any logs for Cloud SIEM with Datadog's OCSF processor Optimizing Datadog at scale: Cost-efficient observability at Zendesk Detect, diagnose, and resolve network issues easily with CNM Network Health Connect engineering errors to user impact in early-stage products Cilium configuration for Kubernetes operations at scale Designing feedback loops for progressive delivery Ship features faster and safer with Datadog Feature Flags Choosing the right OpenTelemetry Collector distribution Route your monitor alerts with Datadog monitor notification rules Automate Cloud SIEM investigations with Bits AI Security Analyst Cloud threat detection: How to identify risky activity across control and data planes Collecting Kafka performance metrics Monitoring Kafka with Datadog Monitoring Kafka performance metrics
Deploy ASP.NET Core applications to Azure App Service
Andrew Lock, Jay Davé, Mallory Mooney · 2021-08-27 · via Datadog | The Monitor blog

The ASP.NET Core framework provides cross-platform support for web development, giving you greater control over how you build and deploy your .NET applications. With the ability to run .NET applications on more platforms, you need to ensure that you have visibility into application performance, regardless of where your applications are hosted.

In previous posts, we looked at instrumenting and monitoring a .NET application deployed via Docker and AWS Fargate. In this post, we’ll show how Datadog can help you get visibility into a .NET Core application on Azure App Service (AAS), a cloud-based platform-as-a-service (PaaS) for deploying web and mobile applications and other resources.

We’ll walk through:

  • creating a sample .NET Core application

  • deploying the application to Azure App Services

  • enabling Datadog’s Azure integration and AAS extension

  • monitoring application performance with Datadog APM

Datadog’s Azure integration enables you to capture metrics and logs from all of your resources on Azure, giving you visibility into the performance of your workloads and their underlying infrastructure. Datadog’s extension for Azure App Service provides out-of-the-box instrumentation for .NET applications on AAS as well as support for custom instrumentation, trace ID injection, and application runtime metrics. This enables you to track requests as they move across service and process boundaries, correlate that data with code-level performance, and quickly identify any bottlenecks.

Create a sample .NET Core application

To get started, make sure that you have at least version 5 of the .NET Core SDK installed, which includes the .NET CLI. The CLI lets you generate the sample ASP.NET Core application we’ll use throughout this guide. You will also need the Azure CLI in order to publish the application to Azure App Service.

Create a new web application project with all of the files needed to run a sample application via the following .NET CLI commands:

dotnet new sln -n DatadogAasExample

dotnet new webapp -o DatadogAasExample -n DatadogAasExample

dotnet sln add DatadogAasExample

These commands create a new solution file (i.e.,DatadogAasExample.sln) and add a new Razor Pages web application project and associated DatadogAasExample directory to the file. You can build and run the project locally by running the following command:

dotnet run --project ./DatadogAasExample -- --URLS http://localhost:8000

You can then view your application by navigating to http://localhost:8080/.

A sample .NET Core application

Next, we’ll show you how to set up Azure App Service to publish your application. Once you’ve done this, you can deploy your application directly to AAS, which will automatically create the runtime environment necessary to run it.

Deploy a .NET Core application on Azure App Service

Publishing applications on AAS requires an App Service, which includes a resource group and host plan. The resource group is a collection of all of your application resources, such as databases or APIs. The Azure App Service host plan defines the makeup of your application’s compute resources, such as the number of virtual machine instances that should be created along with their operating system, region, and size.

You can create a new resource group and host plan and publish your application via the Azure CLI. First, log into your Azure account, then run the following CLI command in the DatadogAasExample project folder to create a new App Service, prepare the application, and publish it to AAS:

az webapp up --sku F1 -n Datadog-MySampleApp --os-type windows -g Datadog-MySampleApp-RG -p Datadog-MySampleApp-AAS

You can append --dryrun to the command to view more information about what the command will do before it runs, but we’ll look at each parameter in more detail below.

  • --sku F1: sets the free tier as the pricing tier for your host plan

  • -n Datadog-MySampleApp: sets the name of the app

  • --os-type windows: sets Windows as the operating system for the App Service, which is the required OS for installing extensions

  • -g Datadog-MySampleApp-RG: creates and names the new resource group

  • -p Datadog-MySampleApp-AAS: creates and names the new App Service host plan

To learn more about the CLI’s commands and optional parameters, check out Azure’s documentation.

When you run the command, Azure App Service automatically detects that you are deploying a .NET Core application and hosts it on a free-tier shared VM instance with the appropriate OS and runtime. The CLI will provide more details about your deployed application in logs similar to the following output:

The webapp 'Datadog-MySampleApp' doesn't exist

Creating Resource group 'Datadog-MySampleApp-RG' ...

Resource group creation complete

Creating AppServicePlan 'Datadog-MySampleApp-AAS' ...

Creating webapp 'Datadog-MySampleApp' ...

Configuring default logging for the app, if not already enabled

Creating zip with contents of dir /app/DatadogAasExample ...

Getting scm site credentials for zip deployment

Starting zip deployment. This operation can take a while to complete ...

Deployment endpoint responded with status code 202

You can launch the app at http://datadog-mysampleapp.azurewebsites.net

{

"URL": "http://datadog-mysampleapp.azurewebsites.net",

"appserviceplan": "Datadog-MySampleApp-AAS",

"location": "centralus",

"name": "Datadog-MySampleApp",

"os": "Windows",

"resourcegroup": "Datadog-MySampleApp-RG",

"runtime_version": "dotnet|5.0",

"runtime_version_detected": "5.0",

"sku": "FREE",

"src_path": "//app//DatadogAasExample"

}

To view your application on AAS, navigate to the URL in the log output (i.e., http://datadog-mysampleapp.azurewebsites.net).

Next, we’ll look at how you can get visibility into your Azure environment and .NET application with Datadog’s Azure integration and extension for Azure App Service.

Enable Datadog’s Azure integration

Datadog’s Azure integration collects metrics and logs from your Azure services, including Azure App Service, and is required for the extension. You can enable the integration via the Azure portal or CLI, but we’ll use the CLI in this guide.

The Azure integration requires creating an app registration, which uses a service principal to generate a set of credentials that grant Datadog monitoring access to your application’s subscription.

To create a new service principal, run the following command and replace {subscription_id} with your application’s subscription ID, which you can find via the az account show CLI command:

az ad sp create-for-rbac --role "Monitoring Reader" --scopes /subscriptions/{subscription_id} --name datadog-monitor-sp

The service principal is configured with the “Monitoring Reader” role and scoped to your application’s subscription. Once the CLI creates the new service principal, it will display credentials similar to the following output:

{

"appId": "12c406f7-e9aa-4b43-1234-df0aafd7cf9c",

"displayName": "datadog-monitor-sp",

"name": "f12345a1-7e8d-4dcc-8e3e-8f1e12e3db45",

"password": "XYabcdEFGd3JId.FDSg1234.GRP",

"tenant": "e12ef3b4-5e67-8b90-b1a0-1234abcd9c787"

}

Enter the appId, tenant, and password values into the Client ID, Tenant ID, and Client Secret fields respectively in your account’s Azure Integration tile to grant Datadog access to Azure.

Datadog’s Azure integration tile

Datadog will start collecting standard metrics from Azure Monitor and generate additional metrics and tags from all of your Azure services, such as service-tier tags (e.g., basic, standard, premium) and metrics that track the number of hosts on your Azure App Service host plan.

The Azure integration also enables you to install the extension for Azure App Service, which we’ll look at next.

Install the Datadog extension for Azure App Service

Azure App Service allows you to add third-party services to your application’s environment via extensions, so you can leverage features such as automatic instrumentation and trace collection for monitoring application performance. The Datadog extension for Azure App Service supports several .NET runtimes running on Windows instances, including the .NET Core framework. Note that AAS does not currently support extensions for Linux-based applications.

Configure your application to use Datadog’s extension

Before installing the extension, you will need to configure your application with the following environment variables:

  • DD_API_KEY: uses your Datadog account’s API key

  • DD_ENV, DD_SERVICE, DD_VERSION: sets the env, version, and service tags on traces for unified service tagging

  • DD_TRACE_ROUTE_TEMPLATE_RESOURCE_NAME_ENABLED: enables improved resource names for ASP.NET Core endpoints

You can add these environment variables to your application via the Azure portal or by running the following Azure CLI command:

az webapp config appsettings set -g Datadog-MySampleApp-RG -n Datadog-MySampleApp --settings DD_API_KEY={your_API_key} DD_ENV=aas_test DD_SERVICE=MySampleApp DD_VERSION=1.0.0 DD_SITE=datadoghq.com DD_TRACE_ROUTE_TEMPLATE_RESOURCE_NAMES_ENABLED=true

Check out our documentation to learn more about the available options for customizing the extension’s tracing configuration.

Now that your application is configured with the appropriate Datadog environment variables, you can install the extension via deployment scripts or one of Azure’s UI interfaces.

Install the extension via a Powershell script

Datadog provides Powershell scripts that enable you to easily install and keep extensions up to date from the command line. This streamlines the setup process and makes it easier to manage installed extensions for each of your Azure App Services and resource groups.

To install the extension via Powershell, download the install-latest-extension.ps1 script to the DatadogAasExample project folder and execute it with the following command:

.\install-latest-extension.ps1 -Username $username -Password $password -SubscriptionId $subscriptionId -ResourceGroup $resourceGroupName -SiteName $webAppName -DDApiKey $ddApiKey -DDSite $ddSite -DDEnv $ddEnv -DDService $ddService -DDVersion $ddVersion

The script uses your user-scope credentials and configuration data for your application to install and configure Datadog’s out-of-the-box instrumentation for each of your App Service applications, so you can view traces in Datadog APM.

Datadog’s update-all-site-extensions.ps1 script can be used to update all existing extensions in a resource group to the latest available version. You can run the following command to execute it:

.\update-all-site-extensions.ps1 -SubscriptionId $subscriptionId -ResourceGroup $resourceGroupName -Username $username -Password $password

You can also install the extension through one of Azure’s UI interfaces, which provide more visibility into your application’s configuration settings and performance.

Install the extension via the Azure portal

The Azure portal allows you to view and manage all of your applications, extensions, and application resources in one place. To get started, run the following command to fully stop your application, which is required before installing any new extensions for Azure App Service via the UI:

az webapp stop -n Datadog-MySampleApp -g Datadog-MySampleApp-RG

Next, log into the portal and navigate to the “Azure App Services” blade to find and select your application. Click “Extension” under “Development Tools” and click “Add” to see a list of available extensions. Select the .NET Datadog APM extension to add it to your application.

Datadog’s .NET extension for Azure App Service

You can restart your application with the following command to complete the installation process:

az webapp start -n Datadog-MySampleApp -g Datadog-MySampleApp-RG

You can also view and install extensions via Kudu, a source code management (SCM) tool for Azure App Service. Every application on AAS includes a Kudu SCM portal, which provides useful information about your application (e.g., environment variables, application settings, server configurations). You can add the Datadog extension by searching for it in the “Gallery” tab on the “Site extensions” page.

Datadog’s .NET extension on Kudu

Once the extension is installed for your application, Datadog will automatically collect application traces and forward them to Datadog, where you can explore them alongside other performance data.

Monitor .NET Core applications with Datadog

Datadog’s Azure integration provides a built-in dashboard for Azure App Service, where you can get a high-level overview of all of your applications and service plans.

Datadog’s Azure App Service dashboard

You can also collect additional data from your application, such as Azure Platform logs, and connect trace IDs to logs, so you can easily correlate traces with log data. This enables you to view application traces and associated logs in Datadog APM and drill down to specific traces to determine if your application is handling requests as expected.

.NET Core trace for Azure App Service application

Your trace and log data provide you with more context for troubleshooting a performance issue with your application and pinpointing its root cause, be it an application bug or a problem with an application resource, such as an overloaded server or a slow database query.

Datadog’s extension also includes support for DogStatsD, so you can collect custom metrics that help you measure key performance indicators specific to your application. This data can include anything critical to your business, from the number of completed transactions to the performance of a custom application service.

.NET + Azure App Services

In this post, we looked at how you can deploy an ASP.NET Core application on Azure App Service and monitor its performance with Datadog’s Azure integration and extension. Check out our documentation to learn more about tracing your .NET Core applications and getting full visibility into the state of your application and its resources. If you don’t already have a Datadog account, you can sign up for a 14-day free trial.