Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Log Analytics är en centraliserad loggningsplattform som aggregerar loggar från appar, Azure-resurser, virtuella datorer, containrar med mera. Genom att integrera det med Data API Builder (DAB) kan företag uppfylla efterlevnads-, styrnings- och observerbarhetskrav. Till skillnad från Application Insights (som fokuserar på APM) tillhandahåller Log Analytics bredare loggaggregering med stöd för Kusto Query Language (KQL).
Förutsättningar
- Befintlig DAB-konfigurationsfil.
- Azure-prenumeration med behörighet att skapa Log Analytics-resurser.
- Azure Log Analytics-arbetsyta med:
- En anpassad tabell (slutar i
_CL) - En datainsamlingsregel (DCR)
- En datainsamlingsslutpunkt (DCE)
- En anpassad tabell (slutar i
- Hanterad identitet aktiverad på din DAB-värd (Azure App Service, Container Apps, VM osv.).
- Data-API-byggarens CLI. Installera CLI
Konfigurera Azure Log Analytics-resurser
Skapa nödvändiga Azure-resurser innan du konfigurerar DAB.
Skapa en Log Analytics-arbetsyta
- Gå tillLog Analytics-arbetsytor i >.
- Välj + Skapa.
- Välj din prenumeration, resursgrupp och region.
- Ange ett namn på arbetsytan.
- Välj Granska + skapa>Skapa.
Skapa en anpassad tabell
Anpassade tabeller för LOGS Ingestion API måste sluta med _CL.
- Gå till Tabeller på Log Analytics-arbetsytan.
- Välj + Skapa>ny anpassad logg (DCR-baserad).
- Ange tabellnamn (till exempel
DabLogs_CL). - Definiera schemat med följande kolumner:
-
Time(datum och tid) -
LogLevel(sträng) -
Message(sträng) -
Component(sträng) -
Identifier(sträng)
-
- Välj Skapa.
Skapa en datainsamlingsslutpunkt (DCE)
- Gå till Övervaka>slutpunkter för datainsamling.
- Välj + Skapa.
- Välj din prenumeration, resursgrupp och region.
- Ange ett namn (till exempel
my-dce). - Välj Granska + skapa>Skapa.
- Kopiera url:en för logginmatningsslutpunkten (till exempel
https://my-dce.eastus-1.ingest.monitor.azure.com).
Skapa en datainsamlingsregel (DCR)
- Gå till Övervaka>regler för datainsamling.
- Välj + Skapa.
- Välj prenumeration, resursgrupp, region.
- Ange ett namn (till exempel
my-dcr). - I Datakällor väljer du Anpassade textloggar.
- Konfigurera:
- Datainsamlingsendpoint: Välj din DCE.
- Mål: Din Log Analytics-arbetsyta.
-
Tabell: Din anpassade tabell (
DabLogs_CL).
- Välj Granska + skapa>Skapa.
- Kopiera det oföränderliga ID:t (börjar med
dcr-).
Konfigurera autentisering
DAB använder Azure Managed Identity för att autentisera till Log Analytics. Inga autentiseringsuppgifter lagras i konfigurationen.
Aktivera hanterad identitet
az webapp identity assign \
--name my-app \
--resource-group my-rg
Tilldela behörigheter
Bevilja rollen Monitoring Metrics Publisher till din hanterade identitet i DCR.
# Get Managed Identity principal ID
PRINCIPAL_ID=$(az webapp identity show \
--name my-app \
--resource-group my-rg \
--query principalId -o tsv)
# Get DCR resource ID
DCR_ID=$(az monitor data-collection rule show \
--name my-dcr \
--resource-group my-rg \
--query id -o tsv)
# Assign role
az role assignment create \
--assignee $PRINCIPAL_ID \
--role "Monitoring Metrics Publisher" \
--scope $DCR_ID
Viktigt!
Utan den här rolltilldelningen kan DAB inte skicka loggar till Log Analytics ens med rätt konfiguration.
Konfigurera Log Analytics
Lägg till ett azure-log-analytics avsnitt under runtime.telemetry i konfigurationsfilen.
{
"runtime": {
"telemetry": {
"azure-log-analytics": {
"enabled": true,
"dab-identifier": "my-dab-instance",
"flush-interval-seconds": 10,
"auth": {
"custom-table-name": "DabLogs_CL",
"dcr-immutable-id": "dcr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"dce-endpoint": "https://my-dce.eastus-1.ingest.monitor.azure.com"
}
}
}
}
}
Konfigurationsegenskaper
| Fastighet | Description | Förinställning | Constraints |
|---|---|---|---|
enabled |
Aktivera eller inaktivera Log Analytics-integrering. | false |
Boolean |
dab-identifier |
Unik sträng för att identifiera loggposter från den här DAB-instansen. | DabLogs |
Valfri sträng |
flush-interval-seconds |
Hur ofta (i sekunder) loggar skickas till Log Analytics. | 5 |
Måste vara > 0 |
auth.custom-table-name |
Anpassat tabellnamn på din Log Analytics-arbetsyta. | (krävs) | Måste avslutas med _CL |
auth.dcr-immutable-id |
Oföränderligt ID för datainsamlingsregeln. | (krävs) | Börjar med dcr- |
auth.dce-endpoint |
Slutpunkts-URL för datainsamling. | (krävs) | HTTPS-URL |
Command-line
Konfigurera Log Analytics via dab configure.
Aktivera Log Analytics
dab configure \
--runtime.telemetry.azure-log-analytics.enabled true
Ange DAB-identifierare
dab configure \
--runtime.telemetry.azure-log-analytics.dab-identifier my-dab-instance
Ange tömningsintervall
dab configure \
--runtime.telemetry.azure-log-analytics.flush-interval-seconds 10
Ange namn på anpassad tabell
dab configure \
--runtime.telemetry.azure-log-analytics.auth.custom-table-name DabLogs_CL
Ange DCR oföränderligt ID
dab configure \
--runtime.telemetry.azure-log-analytics.auth.dcr-immutable-id dcr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ange DCE-slutpunkt
dab configure \
--runtime.telemetry.azure-log-analytics.auth.dce-endpoint https://my-dce.eastus-1.ingest.monitor.azure.com
Kör DAB
Starta DAB med konfigurationsfilen:
dab start
Kontrollera DAB-startloggarna för:
Azure Log Analytics is enabled.
Så här fungerar det
När Log Analytics är aktiverat, DAB:
- Autentiserar mot Azure med värdens hanterade identitet.
- Batchar loggar poster baserat på
flush-interval-seconds. - Skickar loggar till datainsamlingens slutpunkt (DCE).
- DCE dirigerar loggar via datainsamlingsregeln (DCR) för transformering.
- DCR matar in loggar i din anpassade Log Analytics-tabell.
Dataflöde
DAB Application
↓
ILogger (ASP.NET Core)
↓
Log Analytics Logger Provider
↓
Managed Identity Authentication
↓
Data Collection Endpoint (DCE)
↓
Data Collection Rule (DCR)
↓
Log Analytics Workspace (Custom Table)
Vad som fångas
| Telemetrityp | Källa | Examples |
|---|---|---|
| Spårningar |
ILogger samtal i DAB |
Startloggar, frågeexekveringsloggar, varningar |
| Errors | Hantering av undantag | Körningsfel, konfigurationsfel, databasfel |
| Komponentinformation | DAB-internt struktur | Vilken modul genererade loggen |
| Instans-ID | Konfiguration |
dab-identifier värde för filtrering |
Loggstruktur
Varje loggpost som skickas till Log Analytics innehåller följande fält:
| Fält | Typ | Description | Example |
|---|---|---|---|
Time |
tidpunkt | Tidsstämpel (ISO 8601) | 2026-01-27T14:30:00Z |
LogLevel |
snöre | Loggens allvarlighetsgrad |
Information, WarningError |
Message |
snöre | Loggmeddelande | Request completed successfully |
Component |
snöre | DAB-komponent som genererade loggen | Azure.DataApiBuilder.Service.Startup |
Identifier |
snöre | Värde från dab-identifier konfigurationsinställningar |
my-dab-instance |
Anmärkning
Anpassade tabellkolumner i Log Analytics lägger till suffix: _s för strängar, _d för dubblar, _t för datumtider osv.
Frågeloggar i Log Analytics
Öppna Log Analytics-arbetsytan i Azure-portalen.
Gå till Loggar och kör en KQL-fråga:
DabLogs_CL | where Identifier_s == "my-dab-instance" | where LogLevel_s in ("Warning", "Error") | where TimeGenerated > ago(1h) | project TimeGenerated, LogLevel_s, Message_s, Component_s | order by TimeGenerated desc
Exempel på förfrågningar
Räkna loggar efter nivå:
DabLogs_CL
| where TimeGenerated > ago(24h)
| summarize Count=count() by LogLevel_s
Hitta fel i en specifik komponent:
DabLogs_CL
| where Component_s contains "SqlQueryExecutor"
| where LogLevel_s == "Error"
| project TimeGenerated, Message_s
Prestanda- och kostnadsöverväganden
Batchbearbetningsbeteende
DAB bearbetar loggar och skickar dem varje flush-interval-seconds:
- 5 sekunder (standard): Bra balans för de flesta scenarier.
- 1–2 sekunder: Nästan realtidsloggning (högre API-anrop, högre kostnad).
- 10–60 sekunder: Minskade API-anrop men försenade loggar.
Kostnadsoptimering
Log Analytics-priser baseras på:
- Datainmatning: Per GB som matas in.
- Datakvarhållning: Per GB per månad efter den kostnadsfria nivån.
Minska kostnaderna:
- Öka
flush-interval-secondsför att gruppera fler loggar. - Använd filter på loggnivå för att exkludera utförliga loggar. Mer information finns i Anpassa loggverbositet.
- Ange lämplig datakvarhållning på Log Analytics-arbetsytan.
Exempel: Filtrera för att minska volymen
{
"runtime": {
"telemetry": {
"log-level": {
"Default": "Warning",
"Microsoft": "Error"
},
"azure-log-analytics": {
"enabled": true,
"flush-interval-seconds": 30,
"auth": {
"custom-table-name": "DabLogs_CL",
"dcr-immutable-id": "dcr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"dce-endpoint": "https://my-dce.eastus-1.ingest.monitor.azure.com"
}
}
}
}
}
Detta skickar endast varnings- och felloggar , vilket avsevärt minskar volymen.
Datakvarhållning
Log Analytics-datakvarhållning kan konfigureras per arbetsyta:
| Tier | Standardretention | Maximal lagring |
|---|---|---|
| Free tier | 7 dagar | 7 dagar |
| Betala efter hand | 30 dagar | 730 dagar (2 år) |
Konfigurera kvarhållning: Log Analytics-arbetsyta → användning och uppskattade kostnader → datakvarhållning.
Tips/Råd
För efterlevnadskrav bör du överväga att arkivera äldre loggar till Azure Storage för långsiktig kvarhållning.
Felsökning
Loggar visas inte i Log Analytics
Symptom: DAB startar men inga loggar visas på Log Analytics-arbetsytan.
Möjliga orsaker:
Ofullständig konfiguration: Kontrollera DAB-startloggarna om det finns fel som
Logs won't be sent to Azure Log Analytics because the Custom Table Name is not available in the config file.Verifiera alla nödvändiga autentiseringsegenskaper:custom-table-name,dcr-immutable-id,dce-endpoint.Hanterad identitet har inte tilldelats: Kontrollera att hanterad identitet är aktiverad med
az webapp identity show --name my-app --resource-group my-rg. Kontrollera rolltilldelningen medaz role assignment list --assignee <principal-id> --scope <dcr-id>.Felaktig DCE-slutpunkt eller DCR-ID: Kontrollera att DCE-slutpunktsformatet är
https://<dce-name>.<region>-1.ingest.monitor.azure.com. Kontrollera att det oföränderliga DCR-ID:t börjar meddcr-.Anpassad tabell finns inte: Anpassade tabeller måste sluta med
_CL. Tabellschemat måste matcha loggstrukturen.
Fel: Tömningsintervallet måste vara positivt
Orsak: flush-interval-seconds är inställt på 0 eller negativt värde.
Lösning: Ställ in flush-interval-seconds på ett positivt heltal (minimum 1).
DAB-loggar visar "Azure Log Analytics är inaktiverat"
Orsak: enabled är false eller saknas i konfigurationen.
Lösning: Ange enabled: true i konfigurationen.
Log Analytics jämfört med Application Insights
| Capability | Programinsikter | Log Analytics |
|---|---|---|
| Fokus | Övervakning av programprestanda (APM) | Centraliserad loggaggregering |
| Frågespråk | KQL | KQL |
| Omfång | Enskilt program | Appar, virtuella datorer, containrar, Azure-resurser |
| Användningsfall | Prestanda, undantag, spårningar | Efterlevnad, styrning, korrelation mellan resurser |
| Authentication | Anslutningssträng | Hanterad identitet (via DCR/DCE) |
Använd Application Insights när du behöver APM-funktioner som spårning av begäranden, beroendemappning och prestandaprofilering. Använd Log Analytics när du behöver centraliserad loggning över flera resurser med krav på företagsefterlevnad.