You are configuring a custom availability monitoring tool that runs as a continuous background process on an internal server. The tool executes health checks and uses the Azure Application Insights SDK to report results. You use the following class to send telemetry:
csharp
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DataContracts;
public class HealthReporter
{
private static TelemetryClient telemetryClient = new TelemetryClient();
public static void SendResult(bool success)
{
var availability = new AvailabilityTelemetry
{
Name = "InternalApiTest",
Success = success,
RunLocation = "CorporateNetwork"
};
telemetryClient.TrackAvailability(availability);
}
}
Although the background process runs continuously and calls the `SendResult` method, no availability data appears in the Azure Portal, and no exceptions are logged locally.
Which of the following is the most likely cause of this issue?
- AThe availability telemetry payload size exceeds the 64 KB maximum message limit, causing the ingestion endpoint to reject it.
- BThe application is using a system-assigned managed identity, but must use a user-assigned managed identity to write custom availability telemetry.
- The connection string for the Application Insights resource was not configured, causing the SDK to silently drop the telemetry.Answer
- DThe service principal used by the background process lacks the GET permission in the Azure Key Vault access policy.