Események naplózása az Azure Event Hubsba az Azure API Managementben
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
Ez a cikk azt ismerteti, hogyan naplózhatja az API Management-eseményeket az Azure Event Hubs használatával.
Az Azure Event Hubs egy kiválóan méretezhető adatbefogadási szolgáltatás, amely másodpercenként több millió esemény fogadására képes, így a csatlakoztatott eszközök és alkalmazások által létrehozott nagy mennyiségű adatot egyszerűen feldolgozhatja és elemezheti. Az Event Hubs az eseményfolyamatok "bejárati ajtójaként" működik, és az adatok eseményközpontba történő gyűjtése után bármilyen valós idejű elemzési szolgáltató vagy kötegelési/tárolási adapter használatával átalakítható és tárolható. Az Event Hubs elválasztja az eseménystreamek létrehozását azok felhasználásától, így az események felhasználói a saját ütemezésüknek megfelelően férhetnek hozzá az eseményekhez.
Előfeltételek
- EGY API Management-szolgáltatáspéldány. Ha nincs ilyenje, olvassa el az API Management szolgáltatáspéldány létrehozása című témakört.
- Egy Azure Event Hubs-névtér és eseményközpont. Részletes lépésekért lásd : Event Hubs-névtér és eseményközpont létrehozása az Azure Portal használatával.
Feljegyzés
Az Event Hubs-erőforrás egy másik előfizetésben vagy akár egy másik bérlőben is lehet , mint az API Management-erőforrás
Az eseményközponthoz való hozzáférés konfigurálása
Az események eseményközpontba való naplózásához konfigurálnia kell a hitelesítő adatokat az API Managementből való hozzáféréshez. Az API Management a következő két hozzáférési mechanizmus valamelyikét támogatja:
- Event Hubs-kapcsolati sztring
- Felügyelt identitás az API Management-példányhoz.
1. lehetőség: Az Event Hubs kapcsolati sztring konfigurálása
Event Hubs-kapcsolati sztring létrehozásához lásd: Event Hubs-kapcsolati sztring lekérése.
- Használhat egy kapcsolati sztring az Event Hubs-névtérhez vagy ahhoz az eseményközponthoz, amelyet az API Managementből való naplózáshoz használ.
- A kapcsolati sztring megosztott hozzáférési szabályzatának legalább a Küldés engedélyt engedélyeznie kell.
2. lehetőség: Az API Management által felügyelt identitás konfigurálása
Feljegyzés
Az API Management által felügyelt identitás használata események eseményközpontba való naplózásához az API Management REST API-verziójában vagy újabb verzióiban 2022-04-01-preview
támogatott.
Engedélyezze a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást az API Managementhez az API Management-példányban.
- Ha engedélyezi a felhasználó által hozzárendelt felügyelt identitást, jegyezze fel az identitás ügyfél-azonosítóját.
Rendelje hozzá az identitást az Azure Event Hubs-adatküldő szerepkörhöz, amely az Event Hubs névterére vagy a naplózáshoz használt eseményközpontra terjed ki. A szerepkör hozzárendeléséhez használja az Azure Portalt vagy más Azure-eszközöket.
API Management-naplózó létrehozása
A következő lépés egy naplózó konfigurálása az API Management szolgáltatásban, hogy az eseményeket az eseményközpontba naplózza.
API Management-naplózók létrehozása és kezelése közvetlenül az API Management REST API használatával vagy olyan eszközökkel, mint az Azure PowerShell, egy Bicep-sablon vagy egy Azure Resource Management-sablon.
Naplózó kapcsolati sztring hitelesítő adatokkal
Az előfeltételekről az Event Hubs kapcsolati sztring konfigurálása című témakörben olvashat.
Az alábbi példa a New-AzApiManagementLogger parancsmaggal hoz létre egy naplózót egy eseményközpontban egy kapcsolati sztring konfigurálásával.
# API Management service-specific details
$apimServiceName = "apim-hello-world"
$resourceGroupName = "myResourceGroup"
# Create logger
$context = New-AzApiManagementContext -ResourceGroupName $resourceGroupName -ServiceName $apimServiceName
New-AzApiManagementLogger -Context $context -LoggerId "ContosoLogger1" -Name "ApimEventHub" -ConnectionString "Endpoint=sb://<EventHubsNamespace>.servicebus.windows.net/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<key>" -Description "Event hub logger with connection string"
Naplózó rendszer által hozzárendelt felügyelt identitás hitelesítő adataival
Az előfeltételekről további információt az API Management felügyelt identitásának konfigurálása című témakörben talál.
Az API Management REST API-val , bicep- vagy ARM-sablonnal konfigurálhat egy naplózót egy eseményközpontba a rendszer által hozzárendelt felügyelt identitás hitelesítő adataival.
{
"properties": {
"loggerType": "azureEventHub",
"description": "adding a new logger with system assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"SystemAssigned",
"name":"<EventHubName>"
}
}
}
Felhasználó által hozzárendelt felügyelt identitás hitelesítő adataival rendelkező naplózó
Az előfeltételekről további információt az API Management felügyelt identitásának konfigurálása című témakörben talál.
Az API Management REST API vagy egy Bicep- vagy ARM-sablon használatával konfigurálhat egy naplózót egy eseményközpontba a felhasználó által hozzárendelt felügyelt identitás hitelesítő adataival.
{
"properties": {
"loggerType": "azureEventHub",
"description": "adding a new logger with user-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"<ClientID>",
"name":"<EventHubName>"
}
}
}
Log-to-eventhub szabályzat konfigurálása
Miután a naplózó konfigurálva van az API Managementben, konfigurálhatja a napló-eseményhub-szabályzatot a kívánt események naplózásához. A bejövő házirend szakaszban például a log-to-eventhub
házirendet használhatja a kérések naplózásához, vagy a kimenő házirendszakaszban a válaszok naplózásához.
Keresse meg az API Management-példányt.
Válassza ki az API-kat, majd válassza ki azt az API-t, amelyhez hozzá szeretné adni a szabályzatot. Ebben a példában egy szabályzatot adunk hozzá az Echo API-hoz a Korlátlan termékben.
Válassza a Minden művelet lehetőséget.
A képernyő tetején válassza a Tervezés lapot.
A Bejövő feldolgozás vagy a Kimenő feldolgozás ablakban válassza a
</>
(kódszerkesztő) ikont. További információ: Szabályzatok beállítása vagy szerkesztése.Vigye a kurzort a szabályzat vagy
outbound
ainbound
szabályzat szakaszba.A jobb oldali ablakban válassza a Speciális szabályzatok>naplója lehetőséget az EventHubon. Ez beszúrja a
log-to-eventhub
szabályzatkivonat-sablont.<log-to-eventhub logger-id="logger-id"> @{ return new JObject( new JProperty("EventTime", DateTime.UtcNow.ToString()), new JProperty("ServiceName", context.Deployment.ServiceName), new JProperty("RequestId", context.RequestId), new JProperty("RequestIp", context.Request.IpAddress), new JProperty("OperationName", context.Operation.Name) ).ToString(); } </log-to-eventhub>
- Cserélje le
logger-id
az előző lépésben létrehozott naplózó nevét. - Bármely olyan kifejezést használhat, amely egy sztringet ad vissza az
log-to-eventhub
elem értékeként. Ebben a példában egy JSON formátumú sztring lesz naplózva, amely tartalmazza a dátumot és időt, a szolgáltatás nevét, a kérelem azonosítóját, a kérelem IP-címét és a művelet nevét.
- Cserélje le
A frissített szabályzatkonfiguráció mentéséhez válassza a Mentés lehetőséget. A mentést követően a szabályzat aktív, és a rendszer naplózza az eseményeket a kijelölt eseményközpontba.
Feljegyzés
Az api Management-házirendből egy eseményközpontba küldhető maximális támogatott üzenetméret 200 kilobájt (KB). Ha egy eseményközpontba küldött üzenet nagyobb, mint 200 KB, a rendszer automatikusan csonkolja, és a csonkolt üzenet átkerül az eseményközpontba. Nagyobb üzenetek esetén fontolja meg az Azure Storage és az Azure API Management használatát kerülő megoldásként a 200 KB-os korlát megkerüléséhez. További részleteket ebben a cikkben talál.
A napló előnézete az Event Hubsban az Azure Stream Analytics használatával
A naplót az Event Hubsban az Azure Stream Analytics-lekérdezések használatával tekintheti meg.
- Az Azure Portalon keresse meg azt az eseményközpontot, amelybe a naplózó eseményeket küld.
- A Szolgáltatások területen válassza az Adatok feldolgozása lapot.
- Az Események kártyáról való valós idejű elemzés engedélyezése lapon válassza a Start lehetőséget.
- A napló előnézetét a Bemeneti előnézet lapon tekintheti meg. Ha a megjelenített adatok nem aktuálisak, válassza a Frissítés lehetőséget a legújabb események megtekintéséhez.
Következő lépések
- További információ az Azure Event Hubsról
- További információ az API Management és az Event Hubs integrációjáról
- A naplózó entitásának referenciája
- log-to-eventhub policy reference
- További információ a Azure-alkalmazás Elemzések való integrációról
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: