Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
The existing evidence can establish only partial stages of the request; if no correlated HTTP record, SCM execution record, or digest-bound result artifact already exists, the historical /api/command outcome remains indeterminate without Microsoft App Service backend telemetry.
1. Request admission and body handling
Use any already-collected client, gateway, reverse-proxy, or AppServiceHTTPLogs records for the incident UTC window.
- A completed client upload plus an HTTP response proves more than the header-only trace.
- A header-only pending trace proves that some HTTP response metadata reached the client; it does not prove that Kudu received the complete request body or dispatched the command.
-
AppServiceHTTPLogsis available for Linux App Service, but the documentation does not state that it necessarily includes SCM/Kudu traffic. Treat it as evidence only after confirming that existing rows contain the SCM hostname or/api/commandpath ^1^.
If an existing Log Analytics workspace contains those records, start with a broad search rather than assuming a particular URI column:
search in (AppServiceHTTPLogs) "api/command"
| where TimeGenerated between (
datetime(2026-01-01T12:00:00Z) ..
datetime(2026-01-01T12:10:00Z)
)
| order by TimeGenerated asc
Replace the timestamps with the bounded incident window. Then correlate any available SCM hostname, client IP, status, instance identifier, and request ID with the original trace. An HTTP row ordinarily establishes request-level routing metadata—not complete body receipt or command dispatch.
2. SCM execution evidence
Download the existing diagnostic dump without changing logging:
- App Service → Development Tools → Advanced Tools → Go
- In Kudu, select Tools → Diagnostic dump.
- Search the extracted
/home/LogFilescontent for the incident timestamp, request/correlation ID, command filename, digest, result path, or distinctive arguments.
For Linux, the dump contains available Docker host and container console logs; scaled-out apps include a set for each instance. Deployment logs are under /site/deployments/ ^2^.
This proves execution only if an already-existing correlated entry records command start, exit, failure, or output. The general availability of a diagnostic dump does not mean /api/command executions were logged. Deployment history is relevant only if the command was part of deployment processing; Kudu automatically records deployment logs, not arbitrary command history ^2^.
The empty Process List detector window and Linux process API HTTP 400 supply no positive evidence about whether this command ran. If this is a custom container, the SCM site is in a separate container and cannot inspect the app container’s processes or filesystem, so SCM process/file views are not an app-container execution oracle ^3^.
3. Result delivery
The digest-bound artifact is the strongest application-level completion evidence:
- Existing artifact with the expected digest and atomic completion marker: evidence of successful completion.
- Existing temporary, partial, or error artifact: evidence that execution reached the write phase.
- No directory or artifact: consistent with non-admission, failure before writing, execution on a different/nonpersistent filesystem, or interrupted execution. It does not distinguish those cases.
For custom containers, data outside /home or a mounted Azure Storage path resides in the container’s writable layer and is not durable platform storage ^3^.
4. Restart state versus SCM readiness
Public app health does not establish SCM command readiness. Health Check evaluates a customer-configured application endpoint, while Site status reports platform runtime state ^4^.
For existing evidence:
- App Service → Properties → Site status: record state, last error, occurrence time, and affected instance.
- Diagnose and solve problems → Web App Restarted: correlate restart/reallocation events.
- Review existing
AppServicePlatformLogsfor container operations andAppServiceAuditLogsfor Kudu login activity. Audit login activity does not prove command execution ^1^.
No documented public App Service/KuduLite mechanism in these references exposes a durable /api/command operation record that can now be queried for completion, nor a read-only readiness contract specifically for that endpoint. WEBSITE_START_SCM_WITH_PRELOAD can preload Kudu on Linux when Always On is enabled, but changing it would be prospective configuration—not historical evidence ^5^.
A current Kudu shell probe would also be a new observation, not proof of the earlier outcome. If later authorized, az webapp exec --target kudu can test current SCM shell availability; it cannot reconstruct the previous request ^6^.
If no correlated artifact exists
Only Microsoft Azure App Service support can inspect internal platform telemetry needed for definitive historical attribution. Open Azure portal → Help + support → Create a support request, select the App Service resource and a technical issue, and provide UTC timestamps, SCM hostname, instance identifiers, response headers/request IDs, restart time, and the untouched client trace. Microsoft Q&A and self-service detectors cannot inspect backend request telemetry.
A definitive technical investigation may require an eligible support plan. Site Status, Resource Health, Service Health, and App Service Diagnostics remain available as self-service evidence, but cannot guarantee reconstruction of the command outcome ^4^.
References