Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Minden API-kezelési szintre vonatkozik
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 nagy mértékben méretezhető adatbemeneti szolgáltatás, amely másodpercenként több millió eseményt képes feldolgozni és elemezni, hogy feldolgozhassa és elemezhesse a csatlakoztatott eszközök és alkalmazások által előállított nagy mennyiségű adatot. Az Event Hubs az eseményfolyamatok "bejárati ajtójaként" működik, és az adatok eseményközpontba történő összegyű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íthatja és tárolhatja őket. Az Event Hubs leválasztja az események streamjének előállítását az események fogyasztásáról, így az eseményfelhasználók a saját ütemezésük szerint férhetnek hozzá az eseményekhez.
Megjegyzés:
Ez a funkció jelenleg nem érhető el a munkaterületeken.
Előfeltételek
- Egy API Management szolgáltatás példánya. Ha nincs ilyenje, olvassa el az API Management szolgáltatáspéldány létrehozása című témakört.
- 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.
Megjegyzés:
Az Event Hubs-erőforrás egy másik előfizetésben vagy akár egy másik bérlőben is lehet az API Management-erőforrástól.
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:
- Felügyelt identitás az API Management-példányhoz (ajánlott)
- Az Event Hubs kapcsolati karakterlánc
Megjegyzés:
Javasoljuk, hogy lehetőség szerint használjon felügyelt identitás hitelesítő adatokat a fokozott biztonság érdekében.
1. lehetőség: Felügyelt API Management identitás konfigurálása
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 objektumazonosítóját.
Rendelje hozzá az identitást az Azure Event Hubs Data sender szerepkörhöz, az Event Hubs névtérre vagy a naplózáshoz használt eseményközpontra kiterjedően. A szerepkör hozzárendeléséhez használja az Azure Portalt vagy egy másik Azure-eszközt.
2. lehetőség: Event Hubs kapcsolati sztring konfigurálása
Az Event Hubs kapcsolati karakterlánc megszerzéséhez lásd: Event Hubs kapcsolati karakterlánc lekérése.
- Használhat kapcsolati sztringet 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ában legalább a Küldés engedélyezve kell legyen.
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-val vagy más eszközökkel, például az Azure PowerShell, egy Bicep-fájl vagy egy Azure Resource Management-sablon használatával.
1. lehetőség: Naplózó létrehozása felügyelt identitás hitelesítő adataival (ajánlott)
Az API Management-naplózókat rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás hitelesítő adataival konfigurálhatja egy eseményközpontba.
Naplózó létrehozása rendszer által hozzárendelt felügyelt identitás hitelesítő adataival
Az előfeltételekről további információt az API Management által felügyelt identitás konfigurálása című témakörben talál.
Használja az API Management Loggert – REST API-tag létrehozása vagy frissítése a következő kérelemtörzsgel.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with system-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"SystemAssigned",
"name":"<EventHubName>"
}
}
}
Naplózó létrehozása felhasználó által hozzárendelt felügyelt identitás hitelesítő adataival
Az előfeltételekről további információt az API Management által felügyelt identitás konfigurálása című témakörben talál.
Használja az API Management Loggert – REST API-tag létrehozása vagy frissítése a következő kérelemtörzsgel.
{
"properties": {
"loggerType": "azureEventHub",
"description": "Event Hub logger with user-assigned managed identity",
"credentials": {
"endpointAddress":"<EventHubsNamespace>.servicebus.windows.net",
"identityClientId":"<ClientID>",
"name":"<EventHubName>"
}
}
}
2. lehetőség. Kapcsolati karakterlánc hitelesítő adataival naplózó létrehozása
Az előfeltételekről lásd: Event Hubs kapcsolati sztring konfigurálása.
Megjegyzés:
Javasoljuk, hogy lehetőség szerint konfigurálja a naplózót felügyelt identitás hitelesítő adataival. Lásd a cikk korábbi, felügyelt identitás hitelesítő adataival rendelkező naplózó konfigurálását ismertető cikket.
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.
# Details specific to API Management
$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"
Log-to-Event Hub irányelv 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.
Nyissa meg az API Management-példányt.
Az API-k alatt válassza 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.
A Tervezés lapon válassza az Összes művelet lehetőséget.
A Bejövő feldolgozás vagy a Kimenő feldolgozás panelen válassza a </> (Szabályzatkódszerkesztő) gombot. További információ: Szabályzatok beállítása vagy szerkesztése.
Vigye a kurzort a
inboundvagyoutboundszabályzat szakaszába.A lap tetején válassza a Kódrészletek megjelenítése lehetőséget. Válassza a Speciális szabályzatok>Naplózás az EventHubba. Ez a művelet beszúrja a
log-to-eventhubszabályzatutasítási 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-idaz 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-eventhubelem é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 konfiguráció mentése után a szabályzat aktív, és a rendszer naplózza az eseményeket a kijelölt eseményközpontba.
Megjegyzé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 API Management használatát kerülő megoldásként a 200 KB-os korlát megkerüléséhez. További információ: Kérések küldése az Azure Storage-ba az API Managementből.
Az Event Hubs naplójának előnézete 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 nyissa meg azt az eseményközpontot, ahová a naplózó eseményeket küld.
- A Szolgáltatások területen válassza az Adatok feldolgozása lehetőséget.
- 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.
Kapcsolódó tartalom
- 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 szabályzati hivatkozás
- További információ az Azure Application Insights integrációjáról