Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Log Analytics je centralizovaná platforma protokolování, která agreguje protokoly z aplikací, prostředků Azure, virtuálních počítačů, kontejnerů a dalších. Integrace s tvůrcem rozhraní DATA API (DAB) pomáhá podnikům splňovat požadavky na dodržování předpisů, zásady správného řízení a pozorovatelnost. Na rozdíl od Application Insights (který se zaměřuje na APM), poskytuje Služba Log Analytics širší agregaci protokolů s podporou jazyka KQL (Kusto Query Language).
Požadavky
- Existující konfigurační soubor DAB.
- Předplatné Azure s oprávněními k vytváření prostředků Log Analytics
- Pracovní prostor Služby Azure Log Analytics s:
- Vlastní tabulka (končící na
_CL) - Pravidlo shromažďování dat (DCR)
- Koncový bod shromažďování dat (DCE)
- Vlastní tabulka (končící na
- Spravovaná identita povolená na hostiteli DAB (Azure App Service, Container Apps, virtuální počítač atd.).
- Rozhraní příkazového řádku pro tvorbu API dat. Instalace rozhraní příkazového řádku
Nastavení prostředků Azure Log Analytics
Před konfigurací DAB vytvořte požadované prostředky Azure.
Vytvoření pracovního prostoru služby Log Analytics
- Přejděte dopracovních prostorů Služby Log Analytics na >.
- Vyberte + Vytvořit.
- Zvolte své předplatné, skupinu prostředků a oblast.
- Zadejte název pracovního prostoru.
- Vyberte Zkontrolovat + vytvořit>Vytvořit.
Vytvoření vlastní tabulky
Vlastní tabulky pro rozhraní API pro příjem protokolů musí končit _CL.
- V pracovním prostoru služby Log Analytics přejděte na Tabulky.
- Vyberte + Vytvořit>nový vlastní protokol (založený na DCR).
- Zadejte název tabulky (například
DabLogs_CL). - Definujte schéma pomocí těchto sloupců:
-
Time(datum a čas) -
LogLevel(řetězec) -
Message(řetězec) -
Component(řetězec) -
Identifier(řetězec)
-
- Vyberte Vytvořit.
Vytvoření koncového bodu shromažďování dat (DCE)
- Přejděte do Monitor>Koncových Bodů Shromažďování Dat.
- Vyberte + Vytvořit.
- Zvolte své předplatné, skupinu prostředků a oblast.
- Zadejte název (například
my-dce). - Vyberte Zkontrolovat + vytvořit>Vytvořit.
- Zkopírujte adresu URL koncového bodu příjmu protokolů (například
https://my-dce.eastus-1.ingest.monitor.azure.com).
Vytvoření pravidla shromažďování dat (DCR)
- Přejděte do Monitor>Pravidla shromažďování dat.
- Vyberte + Vytvořit.
- Zvolte předplatné, skupinu prostředků, oblast.
- Zadejte název (například
my-dcr). - Ve Zdrojích dat vyberte Vlastní textové protokoly.
- Konfigurovat:
- Koncový bod shromažďování dat: Vyberte DCE.
- Cíl: Váš pracovní prostor služby Log Analytics
-
Tabulka: Vlastní tabulka (
DabLogs_CL).
- Vyberte Zkontrolovat + vytvořit>Vytvořit.
- Zkopírujte neměnné ID (začíná na
dcr-).
Konfigurace ověřování
DAB používá spravovanou identitu Azure k ověření ve službě Log Analytics. V konfiguraci se neukládají žádné přihlašovací údaje.
Povolení spravované identity
az webapp identity assign \
--name my-app \
--resource-group my-rg
Přiřadit oprávnění
Udělte roli Vydavatele metrik monitorování vaší spravované identitě na 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
Důležité
Bez tohoto přiřazení role nemůže DAB odesílat protokoly do Log Analytics ani se správnou konfigurací.
Konfigurace služby Log Analytics
Do souboru konfigurace přidejte oddíl azure-log-analytics pod runtime.telemetry.
{
"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"
}
}
}
}
}
Vlastnosti konfigurace
| Vlastnictví | Description | Výchozí | Constraints |
|---|---|---|---|
enabled |
Povolte nebo zakažte integraci Log Analytics. | false |
logický |
dab-identifier |
Jedinečný řetězec pro identifikaci položek protokolu z této instance DAB. | DabLogs |
Libovolný řetězec |
flush-interval-seconds |
Jak často se protokoly (v sekundách) vyprázdní do Log Analytics. | 5 |
Musí být > 0. |
auth.custom-table-name |
Vlastní název tabulky v pracovním prostoru služby Log Analytics | (povinné) | Musí končit na _CL |
auth.dcr-immutable-id |
Neměnné ID pravidla shromažďování dat | (povinné) | Začíná na dcr- |
auth.dce-endpoint |
Adresa URL koncového bodu shromažďování dat. | (povinné) | HTTPS URL |
Command-line
Nakonfigurujte Log Analytics pomocí dab configure.
Povolení Log Analytics
dab configure \
--runtime.telemetry.azure-log-analytics.enabled true
Nastavení identifikátoru DAB
dab configure \
--runtime.telemetry.azure-log-analytics.dab-identifier my-dab-instance
Nastavení intervalu vyprázdnění
dab configure \
--runtime.telemetry.azure-log-analytics.flush-interval-seconds 10
Nastavení vlastního názvu tabulky
dab configure \
--runtime.telemetry.azure-log-analytics.auth.custom-table-name DabLogs_CL
Nastavení neměnitelného ID DCR
dab configure \
--runtime.telemetry.azure-log-analytics.auth.dcr-immutable-id dcr-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Nastavení koncového bodu DCE
dab configure \
--runtime.telemetry.azure-log-analytics.auth.dce-endpoint https://my-dce.eastus-1.ingest.monitor.azure.com
Spustit DAB
Spusťte DAB s konfiguračním souborem:
dab start
Zkontrolujte spouštěcí protokoly DAB:
Azure Log Analytics is enabled.
Jak to funguje
Pokud je povolená služba Log Analytics, DAB:
- Ověřuje se v Azure pomocí spravované identity hostitele.
- Seskupuje položky protokolu na základě
flush-interval-seconds. - Odesílá protokoly do koncového bodu shromažďování dat (DCE).
- DCE směruje logy prostřednictvím pravidla shromažďování dat (DCR) pro transformaci.
- DCR ingestuje protokoly do vaší vlastní tabulky Log Analytics.
Tok dat
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)
Co se zachytí
| Typ telemetrie | Zdroj | Examples |
|---|---|---|
| Trasování |
ILogger volání v DAB |
Spouštěcí protokoly, protokoly spouštění dotazů, upozornění |
| Errors | Zpracování výjimek | Chyby za běhu, chyby konfigurace, chyby databáze |
| Informace o komponentách | Vnitřní části DAB | Který modul vygeneroval protokol |
| Identifikátor instance | Konfigurace |
dab-identifier hodnota pro filtrování |
Struktura protokolu
Každá položka protokolu odeslaná do Log Analytics obsahuje tato pole:
| Obor | Typ | Description | Example |
|---|---|---|---|
Time |
datetime | Časové razítko (ISO 8601) | 2026-01-27T14:30:00Z |
LogLevel |
řetězec | Závažnost logu |
Information, WarningError |
Message |
řetězec | Zpráva protokolu | Request completed successfully |
Component |
řetězec | Komponenta DAB, která vygenerovala záznam | Azure.DataApiBuilder.Service.Startup |
Identifier |
řetězec | Hodnota z dab-identifier konfigurace |
my-dab-instance |
Poznámka:
Vlastní sloupce tabulky v Log Analytics mají přípony: _s pro textové řetězce, _d pro desetinné číslo, _t pro datum a čas atd.
Protokoly dotazů v Log Analytics
Otevřete pracovní prostor služby Log Analytics na webu Azure Portal.
Přejděte do protokolů a spusťte dotaz KQL:
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
Příkladové dotazy
Počet protokolů podle úrovně:
DabLogs_CL
| where TimeGenerated > ago(24h)
| summarize Count=count() by LogLevel_s
Vyhledání chyb v konkrétní komponentě:
DabLogs_CL
| where Component_s contains "SqlQueryExecutor"
| where LogLevel_s == "Error"
| project TimeGenerated, Message_s
Aspekty výkonu a nákladů
Chování seskupování
DAB shromažďuje záznamy a odesílá je každých flush-interval-seconds:
- 5 sekund (výchozí): Dobrá rovnováha pro většinu scénářů.
- 1–2 sekundy: Protokolování téměř v reálném čase (vyšší volání rozhraní API, vyšší náklady).
- 10–60 sekund: Omezená volání rozhraní API, ale zpožděné logy.
Optimalizace nákladů
Ceny Log Analytics jsou založené na:
- Příjem dat: Přijatý počet GB
- Uchovávání dat: Za GB za měsíc po úrovni Free.
Snížení nákladů:
- Zvýšte
flush-interval-secondspro dávkování více protokolů. - K vyloučení podrobných protokolů použijte filtry protokolové úrovně. Další informace naleznete v tématu Přizpůsobení podrobností protokolu.
- Nastavte v pracovním prostoru služby Log Analytics odpovídající uchovávání dat.
Příklad: Filtrování pro snížení hlasitosti
{
"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"
}
}
}
}
}
Tím se odesílají pouze protokoly upozornění a chyb , což výrazně snižuje objem.
Uchovávání dat
Uchovávání dat Log Analytics je možné konfigurovat pro každý pracovní prostor:
| Tier | Výchozí uchovávání | Maximální doba uchovávání |
|---|---|---|
| úroveň Free | 7 dní | 7 dní |
| Platba dle skutečné spotřeby | 30 dní | 730 dní (2 roky) |
Konfigurace uchovávání informací: Pracovní prostor služby Log Analytics → využití a odhadované náklady → uchovávání dat.
Návod
V případě požadavků na dodržování předpisů zvažte archivaci starších protokolů do služby Azure Storage za účelem dlouhodobého uchovávání.
Řešení problémů
Protokoly se nezobrazují v Log Analytics
Příznak: DAB se úspěšně spustí, ale v pracovním prostoru služby Log Analytics se nezobrazují žádné protokoly.
Možné příčiny:
Nekompletní konfigurace: Zkontrolujte, jestli spouštěcí protokoly DAB obsahují chyby, jako jsou
Logs won't be sent to Azure Log Analytics because the Custom Table Name is not available in the config file.Ověření všech požadovaných vlastností ověřování:custom-table-name,dcr-immutable-id,dce-endpoint.Spravovaná identita není přiřazena: Ověřte, že
az webapp identity show --name my-app --resource-group my-rgje spravovaná identita povolená. Zkontrolujte přiřazení role pomocíaz role assignment list --assignee <principal-id> --scope <dcr-id>příkazu .Nesprávný koncový bod DCE nebo ID DCR: Ověřte, že formát koncového bodu DCE je
https://<dce-name>.<region>-1.ingest.monitor.azure.com. Ověřte, že ID neměnnosti DCR začíná nadcr-.Vlastní tabulka neexistuje: Vlastní tabulky musí končit
_CL. Schéma tabulky musí odpovídat struktuře protokolu.
Chyba: Interval vyprázdnění musí být kladný.
Příčina: flush-interval-seconds je nastavena na 0 nebo zápornou hodnotu.
Řešení: Nastaví flush-interval-seconds se na kladné celé číslo (minimum 1).
Protokoly DAB ukazují, že Služba Azure Log Analytics je zakázaná
Příčina: enabled je false nebo chybí v konfiguraci.
Řešení: Nastavte enabled: true v konfiguraci.
Log Analytics vs. Application Insights
| Schopnost | Application Insights | Analýza protokolů |
|---|---|---|
| Soustředění | Monitorování výkonu aplikací (APM) | Centralizovaná agregace protokolů |
| Dotazovací jazyk | KQL | KQL |
| Scope | Jedna aplikace | Aplikace, virtuální počítače, kontejnery, prostředky Azure |
| Případ použití | Výkon, výjimky, sledování | Dodržování předpisů, zásady správného řízení, korelace mezi prostředky |
| Autentizace | Připojovací řetězec | Spravovaná identita (prostřednictvím DCR/DCE) |
Application Insights použijte, když potřebujete funkce APM, jako je sledování požadavků, mapování závislostí a profilace výkonu. Log Analytics použijte, když potřebujete centralizované protokolování napříč několika prostředky s požadavky na dodržování předpisů podniku.