You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
flowchart LR
subgraph APIM
G[API Gateway] -->|Logs: subscriptionId, apiName, latency| L
end
subgraph Observability
L[Log Analytics Workspace]
M[Azure Monitor Metrics]
L --> K[Kusto Aggregations]
M --> K
end
subgraph CostData
C[Azure Cost Mgmt Export]
C --> K
end
K --> P[Azure Monitor Dashboard]
subgraph Governance
T["Azure Tags (BU, Product, App)"]
S[Subscriptions per BU]
end
T -.-> G
S -.-> G
Loading
APIM Layer
Subscription key uniquely identifies the BU
APIM diagnostic logs capture:
subscriptionId
apiName
operationName
backendUrl
callerIp
duration, backendDuration
status codes
Workflow:
flowchart LR subgraph APIM G[API Gateway] -->|Logs: subscriptionId, apiName, latency| L end subgraph Observability L[Log Analytics Workspace] M[Azure Monitor Metrics] L --> K[Kusto Aggregations] M --> K end subgraph CostData C[Azure Cost Mgmt Export] C --> K end K --> P[Azure Monitor Dashboard] subgraph Governance T["Azure Tags (BU, Product, App)"] S[Subscriptions per BU] end T -.-> G S -.-> GSubscription key uniquely identifies the BU
APIM diagnostic logs capture:
subscriptionId
apiName
operationName
backendUrl
callerIp
duration, backendDuration
status codes
Application Insights receives APIM diagnostics (via Diagnostic Settings)
Log Analytics Workspace stores:
ApiManagementGatewayLogs
AppTraces, AppRequests, AppDependencies
Kusto aggregates BU metrics
Azure Cost Management Exports
Export to Storage Account daily
Contains cost grouped by subscription, resource group, tags
Kusto reads exported cost CSV → aggregates per BU
Azure Monitor Workbooks
Real-time API usage
Latency (avg, p95, p99)
Backend response patterns
Error rates (4XX, 5XX)
Cost allocated per BU
Optional: App Insights Workbook Templates
Consistent:
BU tags
APIM product names
Subscription naming
Backend tagging