Kurz: Vizualizace datových anomálií v událostech v reálném čase odesílaných do služby Azure Event Hubs
V případě služby Azure Event Hubs můžete pomocí Azure Stream Analytics kontrolovat příchozí data a vytahovat anomálie, které pak můžete vizualizovat v Power BI. Řekněme, že máte tisíce zařízení, která neustále odesílají data v reálném čase do centra událostí a tato data představují až miliony událostí za sekundu. Jak v takovém množství dat kontrolovat anomálie nebo chyby? Co když například zařízení odesílají transakce platební karty a potřebujete zachytit libovolné místo, kde máte více transakcí v několika zemích nebo oblastech v rámci 5sekundového časového intervalu? K tomu může dojít, když někdo krade platební karty a pak je používá k nákupu věcí po celém světě ve stejnou dobu.
V tomto kurzu budete tento příklad simulovat. Spustíte aplikaci, která vytváří transakce provedené platebními kartami a odesílá je do centra událostí. Pak si přečtete datový proud v reálném čase pomocí Azure Stream Analytics, který odděluje platné transakce od neplatných transakcí, a pak pomocí Power BI vizuálně identifikovat transakce, které jsou označené jako neplatné.
V tomto kurzu se naučíte:
- Vytvoření oboru názvů služby Event Hubs
- Vytvoření centra událostí
- Spuštění aplikace, která odesílá transakce provedené platebními kartami
- Konfigurace úlohy Stream Analytics pro zpracování těchto transakcí
- Konfigurace vizualizace Power BI pro zobrazení výsledků
Požadavky
Než začnete, ujistěte se, že jste dokončili následující kroky:
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Vytvořte obor názvů služby Event Hubs a centrum událostí v oboru názvů.
- Postupujte podle pokynů v části Získání připojovacího řetězce služby Event Hubs. Poznamenejte si připojovací řetězec k oboru názvů služby Event Hubs a názvu centra událostí.
- Nainstalujte Visual Studio. K vytvoření a odeslání testovacích dat událostí do centra událostí použijete Visual Studio řešení.
- K analýze výstupu z úlohy Stream Analytics potřebujete účet Power BI. Power BI si můžete vyzkoušet zdarma.
Spuštění aplikace a vygenerování testovacích dat událostí
Ukázky služby Event Hubs na GitHub zahrnují Detektor anomálií aplikaci, která za vás vytváří testovací data. Simuluje používání platebních karet tím, že do centra událostí zapisuje transakce provedené platebními kartami. Zároveň občas pro jednu platební kartu zapíše několik transakcí v několika oblastech, aby se označily jako anomálie. Pokud chcete tuto aplikaci spustit, postupujte následovně:
Z GitHubu si stáhněte ukázky pro službu Azure Event Hubs a místně je rozbalte.
Přejděte do složky \azure-event-hubs-master\samples\DotNet\ .
Přepněte do složky Azure.Messaging.EventHubs\AnomalyDetector\ a poklikáním otevřete řešení v Visual Studio.
Pokud chcete použít starou verzi ukázky, která používá starý balíček Microsoft.Azure.EventHubs, otevřete řešení ze složky Microsoft.Azure.EventHubs\AnomalyDetector .
Otevřete soubor Program.cs a nahraďte Event Hubs connection string připojovacím řetězcem, který jste si uložili při spuštění skriptu.
Nahraďte Event Hub name názvem vašeho centra událostí. Stisknutím klávesy F5 spusťte aplikaci. Aplikace začne odesílat události do vašeho centra událostí a pokračuje, dokud neodešle 1 000 událostí. Existuje několik případů, kdy aplikace musí být spuštěná, abyste mohli načíst data. V následujících pokynech jsou tyto případy na příslušných místech uvedené.
Nastavení služby Azure Stream Analytics
Teď můžete streamovat data do svého centra událostí. Pokud chcete tato data využít ve vizualizaci Power BI, začněte nastavením úlohy Stream Analytics pro příjem dat, která se pak předají do vizualizace Power BI.
Vytvoření úlohy služby Stream Analytics
Na portálu Azure Portal klikněte na Vytvořit prostředek. Do vyhledávacího pole zadejte stream analytics a stiskněte Enter. Vyberte Úloha Stream Analytics. Na panelu úloh Stream Analytics klikněte na Vytvořit.
Zadejte o úloze následující informace:
Název úlohy: Použijte contosoEHjob. Toto pole obsahuje název úlohy, který musí být globálně jedinečný.
Předplatné: Vyberte předplatné.
Skupina prostředků: Použijte stejnou skupinu prostředků jako pro centrum událostí (ContosoResourcesEH).
Umístění: Použijte stejnou oblast Azure, kterou jste použili dříve.
Pro zbývající pole můžete použít výchozí hodnoty. Klikněte na Vytvořit.
Přidání vstupu úlohy Stream Analytics
Pokud na portálu nejste v podokně Úloha Stream Analytics, můžete se ke své úloze Stream Analytics vrátit kliknutím na Skupiny prostředků a výběrem vaší skupiny prostředků (ContosoResourcesEH). Tato akce zobrazí všechny prostředky ve skupině a vy můžete vybrat svou úlohu Stream Analytics.
Vstupy pro úlohu Stream Analytics jsou transakce provedené platebními kartami z centra událostí.
V nabídce vlevo vyberte Vstupy v části Topologie úlohy .
V podokně Vstupy klikněte na Přidat vstup streamu a vyberte Event Hubs. Na obrazovce, která se zobrazí, vyplňte následující pole:
Alias pro vstup: Použijte contosoinputs. Toto pole obsahuje název vstupního datového proudu, který se používá při definování dotazu na data.
Předplatné: Vyberte své předplatné Azure.
Obor názvů služby Event Hubs: Vyberte obor názvů centra událostí.
Název centra událostí: Klikněte na Použít existující a vyberte centrum událostí.
Skupina příjemců služby Event Hubs: Toto pole ponechte prázdné, aby se použila výchozí skupina příjemců.
U zbývajících polí přijměte výchozí hodnoty.
Klikněte na Uložit.
Přidání vstupu úlohy Stream Analytics
V nabídce vlevo vyberte Výstupy v části Topologie úlohy . Toto pole obsahuje název výstupního datového proudu, který se používá při definování dotazu na data.
V podokně Výstupy klikněte na Přidat a potom vyberte Power BI. Na obrazovce, která se zobrazí, vyplňte následující pole:
Alias pro výstup: Použijte contosooutputs. Toto pole obsahuje jedinečný alias pro výstup.
Název datové sady: Použijte contosoehdataset. Toto pole obsahuje název datové sady, kterou chcete v Power BI použít.
Název tabulky: Použijte contosoehtable. Toto pole obsahuje název tabulky, kterou chcete v Power BI použít.
Pro zbývající pole můžete použít výchozí hodnoty.
Klikněte na Autorizovat a přihlaste se ke svému účtu Power BI.
Pro zbývající pole můžete použít výchozí hodnoty.
Klikněte na Uložit.
Konfigurace dotazu pro úlohu Stream Analytics
Tento dotaz slouží k načtení dat, která se nakonec odešlou do vizualizace Power BI. Používá vstup contosoinputs a výstup contosooutputs, které jste definovali dříve při nastavování úlohy. Tento dotaz načte transakce provedené platebními kartami, které považuje za podvodné, tedy transakce, ve kterých se stejné číslo platební karty použilo během pěti sekund k několika transakcím v různých oblastech.
V části Topologie úlohy klikněte na Dotaz.
Nahraďte dotaz následujícím dotazem:
/* 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))
Klikněte na Uložit.
Test dotazu pro úlohu Stream Analytics
Spusťte aplikaci detektoru anomálií, která bude do centra událostí odesílat data, zatímco nastavujete a spouštíte test.
V podokně Dotaz klikněte na tečky vedle vstupu contosoinputs a pak vyberte Ukázková data ze vstupu.
Zadejte, že chcete data za tři minuty, a klikněte na OK. Počkejte, dokud se nezobrazí oznámení o dokončeném vzorkování dat.
Klikněte na Test a ujistěte se, že získáváte výsledky. Výsledky se zobrazí v části Výsledky v dolním podokně napravo pod dotazem.
Zavřete podokno dotazu.
Spuštění úlohy Stream Analytics
V úloze Stream Analytics klikněte na Spustit, pak na Nyní a pak na Spustit. Jakmile se úloha úspěšně spustí, stav úlohy se změní ze Zastaveno na Spuštěno.
Nastavení vizualizací Power BI
Spusťte aplikaci detektoru anomálií, která bude do centra událostí odesílat data, zatímco nastavujete vizualizaci Power BI. Možná ji budete muset spustit několikrát, protože při každém spuštění vygeneruje pouze 1 000 transakcí.
Přihlaste se ke svému účtu Power BI.
Přejděte do části Můj pracovní prostor.
Klikněte na Datové sady.
Měla by se zobrazit datová sada, kterou jste určili při vytváření výstupu pro úlohu Stream Analytics (contosoehdataset). Zobrazení datové sady může na začátku 5 až 10 minut trvat.
Klikněte na Řídicí panely, pak na Vytvořit a vyberte Řídicí panel.
Zadejte název řídicího panelu a pak klikněte na Vytvořit. Použijte název Anomálie platebních karet.
Na stránce Řídicí panel klikněte na Přidat dlaždici, v části Data v reálném čase vyberte Vlastní streamovaná data a potom klikněte na Další.
Vyberte vaši datovou sadu (contosoehdataset) a klikněte na Další.
Jako typ vizualizace vyberte Karta. V části Pole klepněte na tlačítko Přidat hodnotu a pak vyberte
fraudulentuses
.Klikněte na Next (Další).
Nastavte nadpis na Podvodná použití a podnadpis na Součet za posledních několik minut. Klikněte na Použít. Dlaždice se uloží na váš řídicí panel.
Důležité
Když spustíte ukázkovou aplikaci a streamujete data do centra událostí, číslo na této dlaždici se rychle změní (každou sekundu). Je to proto, že dotaz Stream Analytics ve skutečnosti aktualizuje hodnotu každou sekundu. Aktualizujte dotaz na 3minutové přeskakující okno, abyste viděli součet za posledních pár minut.
Přidejte další vizualizaci. Zopakujte prvních několik kroků:
- Klikněte na Add Tile (Přidat dlaždici).
- Vyberte Vlastní streamovaná data.
- Klikněte na Next (Další).
- Vyberte vaši datovou sadu a klikněte na Další.
V části Typ vizualizace vyberte Spojnicový graf.
V části Osa klikněte na Přidat hodnotu a vyberte
windowend
.V části Hodnoty klepněte na tlačítko Přidat hodnotu a vyberte
fraudulentuses
.V části Časové okno k zobrazení vyberte posledních pět minut. Klikněte na Next (Další).
Jako nadpis zadejte Zobrazení podvodných použití v průběhu času, podnadpis dlaždice ponechte prázdný a klikněte na Použít. Vrátíte se na váš řídicí panel.
Znovu spusťte aplikaci detektoru anomálií, která do centra událostí odešle nějaká data. Uvidíte, jak se dlaždice Podvodná použití mění s tím, jak data analyzuje, a data se zobrazí ve spojnicovém grafu.
Vyčištění prostředků
Pokud chcete odebrat všechny prostředky, které jste vytvořili, odeberte data vizualizací Power BI a pak odstraňte skupinu prostředků. Odstraněním skupiny prostředků se odstraní všechny prostředky, které tato skupina obsahuje. V tomto případě se odebere centrum událostí, obor názvů služby Event Hubs, úloha Stream Analytics a samotná skupina prostředků.
Vyčištění prostředků ve vizualizaci Power BI
Přihlaste se ke svému účtu Power BI. Přejděte do části Můj pracovní prostor. Na řádku s názvem vašeho řídicího panelu klikněte na ikonu koše. Pak přejděte do části Datové sady a kliknutím na ikonu koše odstraňte příslušnou datovou sadu (contosoehdataset).
Vyčištění prostředků
Odstraňte skupinu prostředků obsahující všechny prostředky, které jste vytvořili v rámci tohoto kurzu.
Další kroky
V tomto kurzu jste se naučili:
- Vytvoření oboru názvů služby Event Hubs
- Vytvoření centra událostí
- Spuštění aplikace, která simuluje události a odesílá je do centra událostí
- Konfigurace úlohy Stream Analytics pro zpracování událostí odeslaných do centra
- Konfigurace vizualizace Power BI pro zobrazení výsledků
Přejděte k dalšímu článku, kde najdete další informace o službě Azure Event Hubs.