Megosztás a következőn keresztül:


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

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.

  1. 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.
  2. 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.

  1. Keresse meg az API Management-példányt.

  2. 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.

  3. Válassza a Minden művelet lehetőséget.

  4. A képernyő tetején válassza a Tervezés lapot.

  5. 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.

  6. Vigye a kurzort a szabályzat vagy outbound a inbound szabályzat szakaszba.

  7. 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>
    
    1. Cserélje le logger-id az előző lépésben létrehozott naplózó nevét.
    2. 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.
  8. 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.

  1. Az Azure Portalon keresse meg azt az eseményközpontot, amelybe a naplózó eseményeket küld.
  2. A Szolgáltatások területen válassza az Adatok feldolgozása lapot.
  3. Az Események kártyáról való valós idejű elemzés engedélyezése lapon válassza a Start lehetőséget.
  4. 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