Oktatóanyag – Az Azure Event Hubsba küldött valós idejű események adatanomáliáinak vizualizációja

Az Azure Event Hubsban az Azure Stream Analytics használatával ellenőrizheti a bejövő adatokat, és azonosíthatja az anomáliákat, amelyeket ezután megjeleníthet a Power BI-ban. Tegyük fel, hogy van több ezer eszköze, amelyek folyamatosan valós idejű adatokat küldenek egy eseményközpontba. Ez több millió eseményt jelent másodpercenként. Hogyan lehet anomáliákat vagy hibákat keresni ennyi adatban? Mi történik például, ha az eszközök hitelkártyás tranzakciókat küldenek, és bárhol rögzítenie kell, ahol több tranzakciója van több országban/régióban, 5 másodperces időintervallumban? Ez akkor történhet, ha valaki hitelkártyákat lop, majd a világ különböző pontjain több dolgot vásárol velük egyszerre.

Ebben az oktatóanyagban ezt a példát szimulálja. Futtatni fog egy alkalmazást, amely hitelkártya-tranzakciókat hoz létre, és elküldi őket egy eseményközpontba. Ezután valós időben beolvassa az adatstreamet az Azure Stream Analytics szolgáltatással, amely elkülöníti az érvényes tranzakciókat az érvénytelen tranzakcióktól, majd az Power BI használatával vizuálisan azonosítja az érvénytelenként megjelölt tranzakciókat.

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Event Hubs-névtér létrehozása
  • Eseményközpont létrehozása
  • A hitelkártya-tranzakciókat küldő alkalmazás futtatása
  • Stream Analytics-feladat konfigurálása a tranzakciók feldolgozására
  • Power BI-vizualizáció konfigurálása az eredmények megjelenítésére

Előfeltételek

Mielőtt hozzákezd, győződjön meg arról, hogy elvégezte a következő lépéseket:

Alkalmazás futtatása a teszt-eseményadatok létrehozásához

Az Event Hubs-minták GitHub tartalmaznak egy anomáliadetektor alkalmazást, amely tesztadatokat állít elő Önnek. Az alkalmazás szimulálja a hitelkártyák használatát azáltal, hogy hitelkártya-tranzakciókat ír az eseményközpontba, és időnként több tranzakciót ír ugyanahhoz a hitelkártyához, több helyszínen, hogy a rendszer anomáliaként jelölje meg őket. Az alkalmazás futtatásához kövesse az alábbi lépéseket:

  1. Töltse le az Azure Event Hubs-mintákat a GitHubról, majd bontsa ki őket helyben.

  2. Lépjen az \azure-event-hubs-master\samples\DotNet\ mappába.

  3. Váltson az Azure.Messaging.EventHubs\AnomalyDetector\ mappára, és kattintson duplán az AnomalyDetector.sln fájlra a megoldás Visual Studio való megnyitásához.

    A régi Microsoft.Azure.EventHubs csomagot használó minta régi verziójának használatához nyissa meg a megoldást a Microsoft.Azure.EventHubs\AnomalyDetector mappából.

  4. Nyissa meg a Program.cs fájlt, és cserélje le az Event Hubs kapcsolati sztringjét a szkript futtatásakor mentett kapcsolati sztringre.

  5. Cserélje le az Eseményközpont neve elemet az eseményközpontja nevére. Az alkalmazás futtatásához nyomja le az F5 billentyűt. Az alkalmazás elkezd eseményeket küldeni az eseményközpontba, és addig folytatja, amíg 1000 eseményt el nem küldött. Néhány esetben az alkalmazásnak futnia kell ahhoz, hogy le lehessen kérni az adatokat. Az alábbi utasítások szükség esetén fel fogják hívni a figyelmet ezekre az esetekre.

Az Azure Stream Analytics beállítása

Most már adatokat streamelhet az eseményközpontba. Az adatok Power BI-vizualizációban történő felhasználásához először állítson be egy Stream Analytics-feladatot az adatok lekérésére, amelyek ezután bekerülnek a Power-BI-vizualizációba.

A Stream Analytics-feladat létrehozása

  1. Az Azure Portalon kattintson az Erőforrás létrehozása gombra. Írja be a stream analytics kifejezést a keresőmezőbe, majd nyomja le az Enter billentyűt. Válassza a Stream Analytics-feladat lehetőséget. Kattintson a Stream Analytics-feladat panel Létrehozás elemére.

  2. Adja meg a feladat alábbi adatait:

    Feladat neve: Használja a contosoEHjob nevet. Ez a mező a feladat nevét tartalmazza, amelynek globálisan egyedinek kell lennie.

    Előfizetés: Válassza ki előfizetését.

    Erőforráscsoport: Használja az eseményközpont által használt erőforráscsoportot (ContosoResourcesEH).

    Hely: Használja ugyanazt az Azure-régiót, mint korábban.

    Screenshot showing how to create a new Azure Stream Analytics job.

    A többi mezőnél fogadja el az alapértelmezett beállításokat. Kattintson a Létrehozás lehetőségre.

Bemenet hozzáadása a Stream Analytics-feladathoz

Ha nem a Portal Stream Analytics-feladat panelén tartózkodik, visszatérhet a Stream Analytics-feladatához, ha a Portalon az Erőforráscsoportok elemre kattint, majd kiválasztja az erőforráscsoportját (ContosoResourcesEH). Ez a művelet megjeleníti a csoportban található összes erőforrást, így ki tudja választani a Stream Analytics-feladatát.

A Steam Analytics-feladat bemenetei az eseményközpontból származó hitelkártya-tranzakciók.

  1. A bal oldali menüben válassza a Bemenetek lehetőséget a Feladattopológia szakaszban.

  2. A Bemenetek panelen kattintson a Streambemenet hozzáadása elemre, és válassza az Event Hubs lehetőséget. A megjelenő képernyőn töltse ki az alábbi mezőket:

    Bemeneti alias: Használja a contosoinputs aliast. Ez a mező a bemeneti stream nevét tartalmazza, amelyet az adatlekérdezés meghatározásakor kell használni.

    Előfizetés: Válassza ki az Azure-előfizetést.

    Event Hubs-névtér: Válassza ki az Event Hub-névteret.

    Eseményközpont neve: Kattintson a Meglévő használata elemre , és válassza ki az eseményközpontot.

    Eseményközpont fogyasztói csoportja: Hagyja üresen ezt a mezőt az alapértelmezett fogyasztói csoport használatához.

    Fogadja el a többi mező alapértelmezett értékét.

    Screenshot showing how to add an input stream to the Stream Analytics job.

  3. Kattintson a Mentés gombra.

Kimenet hozzáadása a Stream Analytics-feladathoz

  1. A bal oldali menüben válassza a Kimenetek lehetőséget a Feladattopológia szakaszban. Ez a mező a kimeneti stream nevét tartalmazza, amelyet az adatlekérdezés meghatározásakor kell használnia.

  2. A Kimenetek panelen kattintson a Hozzáadás, majd a Power BI elemre. A megjelenő képernyőn töltse ki az alábbi mezőket:

    Kimeneti alias: Használja a contosooutputs aliast. Ez a mező a kimenet egyedi aliasát tartalmazza.

    Adatkészlet neve: Használja a contosoehdataset nevet. Ez a mező a Power BI-ban használni kívánt adatkészlet nevét tartalmazza.

    Tábla neve: Használja a contosoehtable nevet. Ez a mező a Power BI-ban használni kívánt tábla nevét tartalmazza.

    A többi mezőnél fogadja el az alapértelmezett beállításokat.

    Screenshot showing how to set up the output for a Stream Analytics job.

  3. Kattintson az Engedélyezés gombra, és jelentkezzen be a Power BI-fiókjába.

  4. A többi mezőnél fogadja el az alapértelmezett beállításokat.

  5. Kattintson a Mentés gombra.

A Stream Analytics-feladat lekérdezésének konfigurálása

Ez a lekérdezés a Power BI-vizualizációnak küldött végső adatok lekérésére szolgál. A contosoinputs és a contosooutputs aliasokat használja, amelyeket korábban, a feladat beállításakor adott meg. Ez a lekérdezés a csalárdnak ítélt tranzakciókat kéri le, azaz olyan hitelkártya-tranzakciókat, amelyekben egy hitelkártyaszámmal több tranzakciót végeztek különböző helyszíneken, egy adott öt másodperces időintervallumban.

  1. A Feladattopológia területen kattintson a Lekérdezés elemre.

  2. Cserélje le a lekérdezést a következőre:

    /* criteria for fraud:
       credit card purchases with the same card
       in different locations within 5 seconds
    */
    SELECT System.Timestamp AS WindowEnd, 
      COUNT(*) as FraudulentUses      
    INTO contosooutputs
    FROM contosoinputs CS1 TIMESTAMP BY [Timestamp]
        JOIN contosoinputs CS2 TIMESTAMP BY [Timestamp]
        /* where the credit card # is the same */
        ON CS1.CreditCardId = CS2.CreditCardId
        /* and time between the two is between 0 and 5 seconds */
        AND DATEDIFF(second, CS1, CS2) BETWEEN 0 AND 5
        /* where the location is different */
    WHERE CS1.Location != CS2.Location
    GROUP BY TumblingWindow(Duration(second, 1))
    
  3. Kattintson a Mentés gombra.

A Stream Analytics-feladat lekérdezésének tesztelése

  1. Futtassa az anomáliaérzékelő alkalmazást, hogy adatokat küldjön az eseményközpontba, miközben beállítja és futtatja a tesztet.

  2. A Lekérdezés panelen kattintson a contosoinputs bemenet melletti pontokra, majd válassza a Mintaadatok bemenetből lehetőséget.

  3. Adja meg, hogy három percnyi adatot szeretne, majd kattintson az OK gombra. Várjon, amíg a rendszer értesíti arról, hogy az adatok mintavételezése befejeződött.

  4. Kattintson a Tesztelés elemre, és ellenőrizze, hogy megkapja-e az eredményeket. Az eredmények az alsó panel Eredmények szakaszában jelennek meg, közvetlenül a lekérdezés alatt.

  5. Zárja be a Lekérdezés panelt.

Stream Analytics-feladat futtatása

A Stream Analytics-feladat területen kattintson az Indítás, a Most, majd az Indítás elemre. Ha a feladat sikeresen elindult, a feladat állapota Leállítva értékről Fut értékre változik.

A Power BI-vizualizációk beállítása

  1. Futtassa az Anomáliaérzékelő alkalmazást, hogy adatokat küldjön az eseményközpontba, miközben beállítja a Power BI-vizualizációt. Előfordulhat, hogy többször is futtatnia kell, mivel egy alkalommal csak 1000 tranzakciót hoz létre.

  2. Jelentkezzen be a Power BI-fiókjába.

  3. Lépjen a Saját munkaterületre.

  4. Kattintson az Adatkészletek elemre.

    Megjelenik az adatkészlet, amelyet a Stream Analytics-feladat kimenetének létrehozásakor adott meg (contosoehdataset). Akár 5-10 percet is igénybe vehet, mire az adatkészlet először megjelenik.

  5. Kattintson az Irányítópultok, majd a Létrehozás gombra, és válassza az Irányítópult elemet.

    Screenshot of the Dashboards and Create buttons.

  6. Adja meg az irányítópult nevét, majd kattintson a Létrehozás elemre. Használja a Hitelkártya-anomáliák nevet.

    Screenshot of specifying dashboard name.

  7. Az Irányítópult lapon kattintson a Csempe hozzáadása elemre, válassza az Egyéni streamelési adatok lehetőséget a VALÓS IDEJŰ ADATOK szakaszban, majd kattintson a Tovább gombra.

    Screenshot specifying source for tile.

  8. Válassza ki az adatkészletét (contosoehdataset), és kattintson a Tovább gombra.

    Screenshot specifying dataset.

  9. A vizualizáció típusánál válassza a Kártya lehetőséget. A Mezők területen kattintson az Érték hozzáadása elemre, majd válassza a fraudulentuseslehetőséget.

    Screenshot specifying visualization type and fields.

    Kattintson a Tovább gombra.

  10. A címhez írja be a Csalárd felhasználás, az alcímhez pedig az Összeg az elmúlt néhány percben szöveget. Kattintson az Alkalmaz gombra. Ez menti a csempét az irányítópultra.

    Screenshot specifying title and subtitle for dashboard tile.

    Fontos

    Amikor futtatja a mintaalkalmazást, és adatokat streamel az eseményközpontba, a csempén lévő szám gyorsan változik (másodpercenként). Ennek az az oka, hogy a Stream Analytics-lekérdezés másodpercenként frissíti az értéket. Frissítse a lekérdezést egy 3 perces átfedésmentes ablakra, hogy megtekintse az utolsó néhány perc összegét.

  11. Adjon hozzá egy másik vizualizációt. Ismételje meg az első néhány lépést:

    • Kattintson a Csempe hozzáadása elemre.
    • Válassza az Egyedi streamelési adatok lehetőséget.
    • Kattintson a Tovább gombra.
    • Válassza ki az adatkészletét, majd kattintson a Tovább gombra.
  12. A Vizualizáció típusa területen válassza a Vonaldiagram lehetőséget.

  13. A Tengely területen kattintson az Érték hozzáadása elemre, és válassza a windowendlehetőséget.

  14. Az Értékek területen kattintson az Érték hozzáadása elemre, és válassza a lehetőséget fraudulentuses.

  15. A Megjelenítendő időtartomány területen válassza ki az utolsó öt percet. Kattintson a Tovább gombra.

  16. A csempe címeként adja meg a Csalárd felhasználás megjelenítése az idő múlásával címet, hagyja üresen az alcím mezőt, majd kattintson az Alkalmaz gombra. A rendszer automatikusan visszairányítja az irányítópultra.

  17. Futtassa ismét az anomáliaérzékelő alkalmazást az adatok eseményközpontba való küldéséhez. Megjelenik a Csalárd felhasználás csempe, amely folyamatosan változik az adatok elemzésekor, és a vonaldiagram, amely megjeleníti az adatokat.

    Screenshot showing the Power BI results

Az erőforrások eltávolítása

Ha az összes létrehozott erőforrást el kívánja távolítani, távolítsa el a Power BI-vizualizáció adatait, majd törölje az erőforráscsoportot. Az erőforráscsoport törlésével a csoportban található összes erőforrás törlődik. Ebben az esetben eltávolítja az eseményközpontot, az Event Hubs-névteret, a Stream Analytics-feladatot, és magát az erőforráscsoportot is.

Erőforrások eltávolítása a Power BI-vizualizációban

Jelentkezzen be a Power BI-fiókjába. Lépjen a Saját munkaterületre. Az irányítópult nevét tartalmazó soron kattintson a kuka ikonra. Ezután lépjen az Adatkészletek területre, és törölje az adatkészletet (contosoehdataset) a kuka ikonra kattintva.

Az erőforrások eltávolítása

Törölje az oktatóanyag részeként létrehozott összes erőforrást tartalmazó erőforráscsoportot.

További lépések

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:

  • Event Hubs-névtér létrehozása
  • Eseményközpont létrehozása
  • Az eseményeket szimuláló és az eseményközpontba küldő alkalmazás futtatása
  • Stream Analytics-feladat konfigurálása a központnak küldött események feldolgozására
  • Power BI-vizualizáció konfigurálása az eredmények megjelenítésére

Folytassa a következő cikkel, ha többet szeretne megtudni az Azure Event Hubsról.