Skip to content

Commit fea4b77

Browse files
lucaspimentelclaude
andcommitted
Add prerequisites sections to Azure App Service docs
Add Prerequisites sections to all three Azure App Service deployment variants (Windows Code, Linux Code, Linux Container) to help users understand requirements and platform-specific differences before setup. Key additions: - Prerequisites sections explaining deployment model differences - Cross-references between the three App Service variants - Enhanced .NET sections with links to APM and configuration docs - Configuration sections with platform-specific notes - Additional Resources sections with troubleshooting links Windows Code: - Warning about not installing MSI on App Service - Links to Azure Functions and Linux variants Linux Code: - Enhanced .NET section with environment variable guidance - Additional Resources section with APM cross-references Linux Container: - Prerequisites explaining sidecar vs other approaches - Configuration section with container-specific notes - Additional Resources with custom instrumentation links This improves navigation and helps users understand how each Azure App Service deployment model differs from standard APM setup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent a83e9de commit fea4b77

File tree

3 files changed

+74
-1
lines changed

3 files changed

+74
-1
lines changed

content/en/serverless/azure_app_service/linux_code.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@ If you would prefer to not use the sidecar approach (Not Recommended), you can i
1515

1616
**Supported runtimes**: Java, Node.js, .NET, PHP, Python
1717

18+
## Prerequisites
19+
20+
1. **Install the Azure integration:** Install the [Datadog-Azure integration](/integrations/azure/) to collect Azure metrics and logs.
21+
2. **Understand the sidecar approach:** This setup uses a sidecar container pattern, which differs from:
22+
- [Windows Code deployment](/serverless/azure_app_service/windows_code) (uses extension)
23+
- [Standard .NET APM setup](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) (uses Agent or NuGet)
24+
3. **Review .NET compatibility:** See [.NET Core Compatibility](/tracing/trace_collection/compatibility/dotnet-core) for supported runtimes and integrations.
25+
26+
<div class="alert alert-info">
27+
Using Windows instead? See <a href="/serverless/azure_app_service/windows_code">Windows Code setup</a>. Using containers? See <a href="/serverless/azure_app_service/linux_container">Linux Container setup</a>.
28+
</div>
29+
1830
## Setup
1931

2032
### Azure integration
@@ -54,14 +66,18 @@ Instrumentation starts when the application is launched.
5466
{{% /tab %}}
5567
{{% tab ".NET" %}}
5668

57-
Add the `Datadog.Trace.Bundle` Nuget package to your project. See [the Nuget package page for more details][102].
69+
Add the `Datadog.Trace.Bundle` Nuget package to your project. See [the Nuget package page for more details][102] or [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) for background.
5870

5971
For example:
6072

6173
```shell
6274
dotnet add package Datadog.Trace.Bundle --version 3.21.0
6375
```
6476

77+
**Important:** The environment variables shown in the [.NET: Additional required environment variables](#dotnet-additional-settings) section are critical for .NET to work with the sidecar pattern.
78+
79+
For more on these environment variables, see [Library Configuration](/tracing/trace_collection/library_config/dotnet-core/).
80+
6581
[102]: https://www.nuget.org/packages/Datadog.Trace.Bundle#readme-body-tab
6682

6783
{{% /tab %}}
@@ -340,6 +356,13 @@ Be sure to enable **App Service logs** to receive debugging logs.
340356

341357
Share the content of the **Log stream** with [Datadog Support][9].
342358

359+
## Additional Resources
360+
361+
- [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) - Core APM concepts
362+
- [.NET Core Library Configuration](/tracing/trace_collection/library_config/dotnet-core/) - Full configuration reference
363+
- [.NET Custom Instrumentation](/tracing/trace_collection/custom_instrumentation/dotnet/) - Adding custom spans
364+
- [Connecting .NET Logs and Traces](/tracing/other_telemetry/connect_logs_and_traces/dotnet) - Log correlation
365+
343366
## Further reading
344367

345368
{{< partial name="whats-next/whats-next.html" >}}

content/en/serverless/azure_app_service/linux_container.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@ This document assumes that your application is set up for sidecars according to
2121

2222
If you would prefer to not use the sidecar approach (Not Recommended), you can instead follow the instructions to [Instrument Azure App Service - Linux Container with `serverless-init`][2].
2323

24+
## Prerequisites
25+
26+
1. **Install the Azure integration:** Install the [Datadog-Azure integration](/integrations/azure/) to collect Azure metrics and logs.
27+
2. **Understand container instrumentation:** This guide instruments a containerized app with a sidecar. For other deployment models, see:
28+
- [Windows Code](/serverless/azure_app_service/windows_code) - Extension-based
29+
- [Linux Code](/serverless/azure_app_service/linux_code) - Sidecar for non-containerized apps
30+
3. **Review container setup basics:** If you're new to Datadog's .NET tracer in containers, see [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) for background.
31+
4. **Check compatibility:** See [.NET Core Compatibility](/tracing/trace_collection/compatibility/dotnet-core) for supported runtimes.
32+
2433
## Setup
2534

2635
### Azure integration
@@ -576,6 +585,21 @@ $statsd->increment('page.views', 1, array('environment'=>'dev'));
576585
{{% /tab %}}
577586
{{< /tabs >}}
578587

588+
## Configuration
589+
590+
The .NET tracer supports configuration via environment variables. See [.NET Core Library Configuration](/tracing/trace_collection/library_config/dotnet-core/) for all available options.
591+
592+
**Container-specific notes:**
593+
- Environment variables are set in your Azure App Service Application Settings
594+
- The sidecar handles Agent connectivity automatically
595+
- Logs should be written to `/home/LogFiles/` for collection
596+
597+
## Additional Resources
598+
599+
- [.NET Custom Instrumentation](/tracing/trace_collection/custom_instrumentation/dotnet/) - Adding custom spans
600+
- [.NET Diagnostic Tool](/tracing/troubleshooting/dotnet_diagnostic_tool) - Troubleshooting
601+
- [Connecting .NET Logs and Traces](/tracing/other_telemetry/connect_logs_and_traces/dotnet) - Log correlation
602+
579603
[1]: https://learn.microsoft.com/en-us/azure/app-service/tutorial-custom-container-sidecar
580604
[2]: /serverless/guide/azure_app_service_linux_containers_serverless_init
581605
[3]: https://app.datadoghq.com/integrations/azure

content/en/serverless/azure_app_service/windows_code.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,23 @@ There are no billing implications for tracing Java Web Apps during this period.
6262
{{% /tab %}}
6363
{{< /tabs >}}
6464

65+
## Prerequisites
66+
67+
1. **Install the Azure integration:** Install the [Datadog-Azure integration](/integrations/azure/) first to correlate APM traces with Azure metrics.
68+
2. **Understand the extension approach:** The Azure App Service extension is a specialized version of the Datadog .NET tracer. It differs from standard APM setup:
69+
- No MSI installer needed (extension handles installation)
70+
- No manual environment variable configuration for basic setup
71+
- Automatic integration with IIS
72+
3. **Review .NET compatibility:** See [.NET Core Compatibility](/tracing/trace_collection/compatibility/dotnet-core) or [.NET Framework Compatibility](/tracing/trace_collection/compatibility/dotnet-framework) for supported versions.
73+
74+
<div class="alert alert-warning">
75+
<strong>Do not install the Datadog .NET tracer MSI</strong> on Azure App Service. The extension provides all necessary components. Installing the MSI may cause conflicts.
76+
</div>
77+
78+
<div class="alert alert-info">
79+
Looking for Azure Functions instead? See <a href="/serverless/azure_functions/">Azure Functions Setup</a>. Using Linux? See <a href="/serverless/azure_app_service/linux_code">Linux Code</a> or <a href="/serverless/azure_app_service/linux_container">Linux Container</a> setup.
80+
</div>
81+
6582
## Installation
6683
Datadog recommends doing regular updates to the latest version of the extension to ensure optimal performance, stability, and availability of features. Note that both the initial install and subsequent updates require your web app to be fully stopped in order to install/update successfully.
6784

@@ -553,6 +570,15 @@ It is likely that you do not have the Azure integration configured to monitor yo
553570
554571
Still need help? Contact [Datadog support][5].
555572
573+
## Additional Resources
574+
575+
- [Tracing .NET Core Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-core) - Foundational APM concepts
576+
- [Tracing .NET Framework Applications](/tracing/trace_collection/automatic_instrumentation/dd_libraries/dotnet-framework) - Framework-specific guidance
577+
- [.NET Core Library Configuration](/tracing/trace_collection/library_config/dotnet-core/) - All configuration options
578+
- [.NET Framework Library Configuration](/tracing/trace_collection/library_config/dotnet-framework/) - Framework configuration
579+
- [.NET Custom Instrumentation](/tracing/trace_collection/custom_instrumentation/dotnet/) - Adding custom spans
580+
- [.NET Diagnostic Tool](/tracing/troubleshooting/dotnet_diagnostic_tool) - Troubleshooting traces
581+
556582
### Further Reading
557583
558584
{{< partial name="whats-next/whats-next.html" >}}

0 commit comments

Comments
 (0)