Kurz: Odesílání dat do služby Azure Monitor pomocí rozhraní API pro příjem protokolů (šablony Resource Manageru)
Rozhraní API pro příjem protokolů ve službě Azure Monitor umožňuje odesílat vlastní data do pracovního prostoru služby Log Analytics. Tento kurz používá šablony Azure Resource Manageru (šablony ARM) k procházení konfigurace komponent potřebných k podpoře rozhraní API a pak poskytuje ukázkovou aplikaci využívající rozhraní REST API i klientské knihovny pro .NET, Go, Java, Java, JavaScript a Python.
Poznámka:
Tento kurz používá šablony ARM ke konfiguraci komponent potřebných pro podporu rozhraní API pro příjem protokolů. Viz kurz: Odeslání dat do protokolů služby Azure Monitor pomocí rozhraní API pro příjem protokolů (Azure Portal) pro podobný kurz, který ke konfiguraci těchto komponent používá uživatelské rozhraní webu Azure Portal.
Kroky potřebné ke konfiguraci rozhraní API pro příjem dat protokolů jsou následující:
- Vytvořte aplikaci Microsoft Entra pro ověření v rozhraní API.
- Vytvořte vlastní tabulku v pracovním prostoru služby Log Analytics. Jedná se o tabulku, do které budete odesílat data.
- Vytvořte pravidlo shromažďování dat (DCR) pro směrování dat do cílové tabulky.
- Dejte aplikaci Microsoft Entra přístup k DCR.
- Podívejte se na ukázkový kód pro odesílání dat do služby Azure Monitor pomocí rozhraní API pro příjem protokolů a vzorový kód pro odesílání dat do rozhraní API pro příjem protokolů.
Poznámka:
Tento článek obsahuje možnosti použití koncového bodu příjmu dcR nebo koncového bodu shromažďování dat (DCE). Můžete se rozhodnout, že některý z nich uživatel použije, ale DCE se vyžaduje s rozhraním API pro příjem dat protokolů, pokud se používá privátní propojení. Podívejte se, kdy se vyžaduje DCE?
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Pracovní prostor služby Log Analytics, kde máte alespoň práva přispěvatele.
- Oprávnění k vytváření objektů DCR v pracovním prostoru
Shromažďování podrobností o pracovním prostoru
Začněte tím, že z pracovního prostoru shromáždíte informace, které budete potřebovat.
V nabídce Pracovních prostorů služby Log Analytics na webu Azure Portal přejděte do svého pracovního prostoru. Na stránce Vlastnosti zkopírujte ID prostředku a uložte ho pro pozdější použití.
Vytvoření aplikace Microsoft Entra
Začněte registrací aplikace Microsoft Entra pro ověření v rozhraní API. Podporuje se jakékoli schéma ověřování Resource Manageru, ale tento kurz se řídí schématem toku udělení přihlašovacích údajů klienta.
V nabídce Microsoft Entra ID na webu Azure Portal vyberte Registrace aplikací> Novou registraci.
Pojmenujte aplikaci a změňte obor tenantů, pokud výchozí nastavení není pro vaše prostředí vhodné. Identifikátor URI přesměrování není povinný.
Po registraci můžete zobrazit podrobnosti o aplikaci. Poznamenejte si ID aplikace (klienta) a ID adresáře (tenanta). Tyto hodnoty budete potřebovat později v procesu.
Vygenerujte tajný klíč klienta aplikace, který se podobá vytvoření hesla pro použití s uživatelským jménem. Vyberte Certifikáty a tajné kódy>Nový tajný klíč klienta. Zadejte název tajného kódu, abyste identifikovali jeho účel a vybrali dobu trvání vypršení platnosti . Tady je vybraná možnost 12 měsíců . Pro produkční implementaci byste postup obměně tajných kódů dodržovali osvědčené postupy nebo použili bezpečnější režim ověřování, například certifikát.
Vyberte Přidat , chcete-li tajný klíč uložit, a poznamenejte si hodnotu. Ujistěte se, že tuto hodnotu zaznamenáte, protože ji po opuštění této stránky nemůžete obnovit. Použijte stejná bezpečnostní opatření, jaká byste použili k bezpečnému uchovávání hesla, protože se jedná o funkční ekvivalent.
Vytvoření koncového bodu shromažďování dat
DCE se nevyžaduje, pokud použijete koncový bod pro příjem dat DCR.
Vytvoření nové tabulky v pracovním prostoru služby Log Analytics
Před odesláním dat do ní je nutné vytvořit vlastní tabulku. Tabulka pro tento kurz bude obsahovat pět sloupců zobrazených ve schématu níže. Pro každý sloupec jsou povinné hodnoty name
, type
a description
vlastnosti. isHidden
Vlastnosti a isDefaultDisplay
obě výchozí hodnoty false
jsou, pokud nejsou explicitně zadány. Možné datové typy jsou string
, , int
, real
long
dateTime
boolean
, guid
, a .dynamic
Poznámka:
Tento kurz používá PowerShell z Azure Cloud Shellu k volání rozhraní REST API pomocí rozhraní AZURE Monitor Tables API. K provedení těchto volání můžete použít jakoukoli jinou platnou metodu.
Důležité
Vlastní tabulky musí používat příponu _CL
.
Na webu Azure Portal vyberte tlačítko Cloud Shell a ujistěte se, že je prostředí nastavené na PowerShell.
Zkopírujte následující kód PowerShellu a nahraďte proměnné v parametru Path odpovídajícími hodnotami pro váš pracovní prostor v
Invoke-AzRestMethod
příkazu. Vložte ho do příkazového řádku Cloud Shellu a spusťte ho.$tableParams = @' { "properties": { "schema": { "name": "MyTable_CL", "columns": [ { "name": "TimeGenerated", "type": "datetime", "description": "The time at which the data was generated" }, { "name": "Computer", "type": "string", "description": "The computer that generated the data" }, { "name": "AdditionalContext", "type": "dynamic", "description": "Additional message properties" }, { "name": "CounterName", "type": "string", "description": "Name of the counter" }, { "name": "CounterValue", "type": "real", "description": "Value collected for the counter" } ] } } } '@ Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{workspace}/tables/MyTable_CL?api-version=2022-10-01" -Method PUT -payload $tableParams
Vytvoření pravidla shromažďování dat
Řadič domény definuje, jak se budou data zpracovávat po přijetí. Sem patří:
- Schéma dat odesílaných do koncového bodu
- Transformace , která se použije na data před odesláním do pracovního prostoru
- Cílový pracovní prostor a tabulka transformovaných dat budou odeslány do
Do vyhledávacího pole webu Azure Portal zadejte šablonu a pak vyberte Nasadit vlastní šablonu.
Vyberte Vytvořit vlastní šablonu v editoru.
Do editoru vložte následující šablonu ARM a pak vyberte Uložit.
Všimněte si následujících podrobností v DCR definované v této šabloně:
streamDeclarations
: Definice sloupců příchozích dat.destinations
: Cílový pracovní prostor.dataFlows
: Odpovídá datovému proudu s cílovým pracovním prostorem a určuje transformační dotaz a cílovou tabulku. Výstupem cílového dotazu je to, co se odešle do cílové tabulky.
{ "$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "dataCollectionRuleName": { "type": "string", "metadata": { "description": "Specifies the name of the Data Collection Rule to create." } }, "location": { "type": "string", "metadata": { "description": "Specifies the location in which to create the Data Collection Rule." } }, "workspaceResourceId": { "type": "string", "metadata": { "description": "Specifies the Azure resource ID of the Log Analytics workspace to use." } } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRules", "name": "[parameters('dataCollectionRuleName')]", "location": "[parameters('location')]", "apiVersion": "2023-03-11", "kind": "Direct", "properties": { "streamDeclarations": { "Custom-MyTableRawData": { "columns": [ { "name": "Time", "type": "datetime" }, { "name": "Computer", "type": "string" }, { "name": "AdditionalContext", "type": "string" }, { "name": "CounterName", "type": "string" }, { "name": "CounterValue", "type": "real" } ] } }, "destinations": { "logAnalytics": [ { "workspaceResourceId": "[parameters('workspaceResourceId')]", "name": "myworkspace" } ] }, "dataFlows": [ { "streams": [ "Custom-MyTableRawData" ], "destinations": [ "myworkspace" ], "transformKql": "source | extend jsonContext = parse_json(AdditionalContext) | project TimeGenerated = Time, Computer, AdditionalContext = jsonContext, CounterName=tostring(jsonContext.CounterName), CounterValue=toreal(jsonContext.CounterValue)", "outputStream": "Custom-MyTable_CL" } ] } } ], "outputs": { "dataCollectionRuleId": { "type": "string", "value": "[resourceId('Microsoft.Insights/dataCollectionRules', parameters('dataCollectionRuleName'))]" } } }
Na obrazovce Vlastní nasazení zadejte předplatné a skupinu prostředků, do které se má řadič domény uložit. Pak zadejte hodnoty definované v šabloně. Hodnoty zahrnují název řadiče domény a ID prostředku pracovního prostoru, které jste shromáždili v předchozím kroku. Umístění by mělo být stejné jako pracovní prostor. Oblast se už naplní a použije se pro umístění řadiče domény.
Vyberte Zkontrolovat a vytvořit a po kontrole podrobností vyberte Vytvořit .
Po dokončení nasazení rozbalte pole Podrobnosti o nasazení a výběrem řadiče domény zobrazte jeho podrobnosti. Vyberte zobrazení JSON.
Zkopírujte identifikátor URI pro příjem dat immutable a protokoly pro DCR. Použijete je při odesílání dat do služby Azure Monitor pomocí rozhraní API.
Přiřazení oprávnění k řadiči domény
Po vytvoření dcR musí mít aplikace udělená oprávnění. Oprávnění umožní všem aplikacím, které používají správné ID aplikace a klíč aplikace k odesílání dat do nového řadiče domény.
V DCR na webu Azure Portal vyberte Řízení přístupu (IAM)>Přidat přiřazení role.
Vyberte Vydavatel metrik monitorování a vyberte Další. Místo toho můžete vytvořit vlastní akci s datovou
Microsoft.Insights/Telemetry/Write
akcí.Vyberte Uživatele, skupinu nebo instanční objekt pro přiřazení přístupu a zvolte Vybrat členy. Vyberte aplikaci, kterou jste vytvořili, a zvolte Vybrat.
Před uložením přiřazení role vyberte Zkontrolovat a přiřadit a ověřte podrobnosti.
Ukázkový kód
Viz Ukázkový kód pro odesílání dat do služby Azure Monitor pomocí rozhraní API pro příjem protokolů pro vzorový kód pomocí komponent vytvořených v tomto kurzu.