Öğretici: Azure Event Hubs'a gönderilen gerçek zamanlı olaylardaki veri anomalilerini görselleştirme
Azure Event Hubs ile Azure Stream Analytics'i kullanarak gelen verileri denetleyebilir, anomalileri ayırabilir ve Power BI'da görselleştirebilirsiniz. Bir olay hub'ına sürekli olarak gerçek zamanlı veriler göndererek saniyede milyonlarca olay ekleyen binlerce cihaza sahip olduğunuzu düşünelim. Bu kadar fazla verideki anomalileri veya hataları nasıl denetleyebilirsiniz? Örneğin, cihazlar kredi kartı işlemleri gönderiyorsa ve 5 saniyelik bir zaman aralığında birden çok ülkede/bölgede birden çok işleminiz olan her yerde yakalamanız gerekirse ne olur? Bu durum birisi kredi kartı bilgilerini çalıp dünyanın farklı yerlerinden aynı anda alışveriş yapmak için kullandığında ortaya çıkabilir.
Bu öğreticide bu örneğin simülasyonunu yapacaksınız. Kredi kartı işlemleri oluşturup bunları bir olay hub'ına gönderen bir uygulama çalıştıracaksınız. Ardından geçerli işlemleri geçersiz işlemlerden ayıran Azure Stream Analytics ile veri akışını gerçek zamanlı olarak okur ve ardından Power BI kullanarak geçersiz olarak etiketlenmiş işlemleri görsel olarak tanımlayabilirsiniz.
Bu öğreticide şunların nasıl yapıldığını öğreneceksiniz:
- Event Hubs ad alanı oluşturma
- Olay hub’ı oluşturma
- Kredi kartı işlemleri gönderen uygulamayı çalıştırma
- Bu verileri işlemek için bir Stream Analytics işi yapılandırma
- Sonuçları göstermek için bir Power BI görselleştirmesi yapılandırma
Önkoşullar
Başlamadan önce aşağıdaki adımları tamamlamış olduğundan emin olun:
- Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- ad Event Hubs bir olay hub'ı oluşturun.
- Bağlantı dizesini almak Event Hubs yönergeleri izleyin. Ad alanı ve olay hub'Event Hubs bağlantı dizesini not edin.
- yükleme Visual Studio. Test olayı verilerini Visual Studio ve olay hub'sına göndermek için bir uygulama çalıştırmak üzere bir Visual Studio çözümü kullanırsanız.
- Stream Analytics işinin çıktısını analiz edebilmek için bir Power BI hesabınızın olması gerekir. Power BI'ı ücretsiz deneyebilirsiniz.
Test amaçlı olay verilerini üretmek için uygulamayı çalıştırma
Aşağıdaki Event Hubs örneklerde GitHub test verileri Anomali Algılayıcısı bir uygulama vardır. Kredi kartı kullanım simülasyonu yapan bu uygulama olay hub'ına kredi kartı işlemlerini yazar ve arada anomali olarak etiketlenmeleri için birden fazla konumda aynı kredi kartına ait işlemler yazar. Bu uygulamayı çalıştırmak için aşağıdaki adımları uygulayın:
GitHub'dan Azure Event Hubs örneklerini indirin ve dosyaları ayıklayın.
\azure-event-hubs-master\samples\DotNet klasörüne \ gidin.
Azure.Messaging.EventHubs\AnomalyDetector \ klasörüne gidin ve AnomalyDetector.sln'ye çift tıklar ve Visual Studio.
Örneğin eski Microsoft.Azure.EventHubs paketini kullanan eski sürümünü kullanmak için Microsoft.Azure.EventHubs\AnomalyDetector klasöründen çözümü açın.
Program.cs dosyasını açın ve Event Hubs connection string yerine betiği çalıştırırken kaydettiğiniz bağlantı dizesini yazın.
Event Hub name yerine olay hub'ınızın adını yazın. Uygulamayı çalıştırmak için F5'e basın. Olay hub'ınıza olay göndermeye başlar ve 1000 olaya ulaşana kadar göndermeye devam eder. Veri almak için uygulamanın çalışır durumda olmasını gerektiren birkaç durum vardır. Bu durumlar gerekli noktalarda aşağıdaki yönergelerde belirtilmiştir.
Azure Stream Analytics'i ayarlama
Artık olay hub'ınıza veri akışını başlatabilirsiniz. Bu verileri bir Power BI görselleştirmesinde kullanmak için verileri alan ve ardından Power BI görselleştirmesine ileten bir Stream Analytics işi ayarlamakla başlayın.
Stream Analytics işi oluşturma
Azure portalında Kaynak oluştur’a tıklayın. Arama kutusuna stream analytics yazın ve Enter tuşuna basın. Stream Analytics İşi'ni seçin. Stream Analytics işi bölmesinde Oluştur'a tıklayın.
İş için aşağıdaki bilgileri girin:
İş adı: contosoEHjob yazın. Bu alan işin adıdır ve genel olarak benzersiz olmalıdır.
Abonelik: Aboneliğinizi seçin.
Kaynak grubu: Olay hub'ınız (ContosoResourcesEH) tarafından kullanılan kaynak grubunun aynısını kullanın.
Konum: Daha önce kullanmakta olduğu Azure bölgelerini kullanın.

Kalan alanlarda varsayılan değerleri kabul edin. Oluştur’a tıklayın.
Stream Analytics işine giriş ekleme
Portalın Stream Analytics İşi bölmesinde değilseniz portalda Kaynak Grupları'na tıklayıp kaynak grubunuzu (ContosoResourcesEH) seçerek Stream Analytics işinize ulaşabilirsiniz. Bu eylem gruptaki tüm kaynakları gösterir ve bu listeden Stream Analytics işinizi seçebilirsiniz.
Steam Analytics işinin girişleri, olay hub'ından gelen kredi kartı işlemleridir.
Sol menüde İş Topolojisi bölümünde Girişler'i seçin.
Girişler bölmesinde Akış girişi ekle'ye tıklayın ve Giriş'Event Hubs. Açılan ekranda aşağıdaki alanları doldurun:
Giriş diğer adı: contosoinputs yazın. Bu alan, veri sorgusu tanımlanırken kullanılan giriş akışının adıdır.
Abonelik: Azure aboneliğinizi seçin.
Event Hubs alanı: Olay Hub'ı ad alanını seçin.
Olay Hub'ı adı: Var olanını kullan'a tıklayın ve olay hub'ını seçin.
Event Hubs tüketici grubu: Varsayılan tüketici grubunu kullanmak için bu alanı boş bırakın.
Kalan alanlar için varsayılan değerleri kabul etme.

Kaydet’e tıklayın.
Stream Analytics işine çıkış ekleme
Sol menüde İş Topolojisi bölümünde Çıkışlar'ı seçin. Bu alan, veri sorgusu tanımlanırken kullanılan çıkış akışının adıdır.
Çıkışlar bölmesinde Ekle'ye tıklayın ve Power BI'ı seçin. Açılan ekranda aşağıdaki alanları doldurun:
Çıkış diğer adı: contosooutputs yazın. Bu alan çıkışın benzersiz diğer adıdır.
Veri kümesi adı: contosoehdataset yazın. Bu alan Power BI'da kullanılacak veri kümesinin adıdır.
Tablo adı: contosoehtable yazın. Bu alan Power BI'da kullanılacak tablonun adıdır.
Kalan alanlarda varsayılan değerleri kabul edin.

Yetkilendir'e tıklayın ve Power BI hesabınızda oturum açın.
Kalan alanlarda varsayılan değerleri kabul edin.
Kaydet’e tıklayın.
Stream Analytics işinin sorgusunu yapılandırma
Bu sorgu, Power BI görselleştirmesine gönderilecek verilerin alınması için kullanılır. İşi ayarlarken tanımladığınız contosoinputs ve contosooutputs adlarını kullanır. Bu sorgu sahte görünen kredi kartı işlemlerini alır. Bu işlemler aynı kredi kartı numarasının beş saniyelik aralıklarla farklı konumlarda birden fazla işlemde kullanıldığı durumlardır.
İş Topolojisi'nin altında Sorgu'ya tıklayın.
Sorguyu aşağıdakiyle değiştirin:
/* 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))Kaydet’e tıklayın.
Stream Analytics işinin sorgusunu test etme
Anomali Algılama uygulamasını çalıştırarak testi ayarlama ve çalıştırma sırasında olay hub'ına veri göndermesini sağlayın.
Sorgu bölmesinde contosoinputs girişinin yanındaki noktaları seçin ve sonra Girişten alınan örnek veriler seçeneğini belirleyin.
Üç dakikalık veri istediğinizi belirtin ve Tamam'a tıklayın. Veri örneğinin alındığını belirten bildirim gelene kadar bekleyin.
Test'e tıklayın ve sonuçların geldiğinden emin olun. Sonuçlar sorgunun hemen altındaki bölmenin Sonuçlar bölmesinde görüntülenir.
Sorgu bölmesini kapatın.
Stream Analytics işini çalıştırma
Stream Analytics işinde Çalıştır'a, Şimdi'ye ve ardından Çalıştır'a tıklayın. İş düzgün bir şekilde başlatıldıktan sonra, Durduruldu olan iş durumu Çalışıyor olarak değiştirilir.
Power BI görselleştirmelerini ayarlama
Anomali Algılama uygulamasını çalıştırarak Power BI görselleştirmesini ayarlama sırasında olay hub'ına veri göndermesini sağlayın. Her seferinde yalnızca 1000 işlem ürettiğinden birden fazla kez çalıştırmanız gerekebilir.
Power BI hesabınızda oturum açın.
Çalışma Alanım'a gidin.
Veri kümeleri'ne tıklayın.
Stream Analytics işi için çıkış oluştururken belirttiğiniz veri kümesini (contosoehdataset) görüyor olmalısınız. Veri kümesinin ilk kez görüntülenmesi 5-10 dakika kadar sürebilir.
Panolar'a ve ardından Oluştur'a tıklayıp Pano'yu seçin.

Panonun adını belirtip Oluştur'a tıklayın. Kredi Kartı Anomalileri yazın.

Pano sayfasında Kutucuk ekle'ye tıklayın, GERÇEK ZAMANLI VESERİ bölümünde Özel Akış Verileri'ne tıklayın ve ardından Sonraki 'ye tıklayın.

Veri kümenizi (contosoehdataset) seçin ve İleri'ye tıklayın.

Görselleştirme türü olarak Kart seçin. Alanlar altında Değer ekle'ye tıklayın ve öğesini
fraudulentusesseçin.
İleri’ye tıklayın.
Başlığı Sahtekarlık amaçlı kullanımlar, alt başlığı da Son birkaç dakikadaki toplam veriler yapın. Uygula’ya tıklayın. Kutucuk, panonuza kaydedilir.

Önemli
Örnek uygulamayı çalıştırarak olay hub'larına veri akışı yaptığınız zaman, bu kutucukta yer alan sayı hızla değişir (her saniye). Bunun nedeni, sorgunun Stream Analytics her saniye değerini güncelleştirmesidir. Son birkaç dakika içinde toplamı görmek için sorguyu 3 dakikalık atlama penceresine güncelleştirin.
Başka bir görselleştirme ekleyin. İlk birkaç adımı tekrarlayın:
- Kutucuk Ekle’ye tıklayın.
- Özel Akış Verileri'ni seçin.
- İleri’ye tıklayın.
- Veri kümenizi seçin ve İleri'ye tıklayın.
Görselleştirme Türü olarak Çizgi grafik türünü seçin.
Eksen altında Değer Ekle'ye tıklayın ve öğesini
windowendseçin.Değerler altında Değer ekle'ye tıklayın ve öğesini
fraudulentusesseçin.Görüntülenecek zaman penceresi için son beş dakikayı seçin. İleri’ye tıklayın.
Başlık olarak Zaman içindeki sahtekarlık amaçlı kullanımları göster yazın, alt başlığı boş bırakın ve Uygula'ya tıklayın. Panonuz açılır.
Anomali Algılama uygulamasını tekrar çalıştırarak olay hub'ına veri göndermesini sağlayın. Verileri analiz ettiğinden Sahtekarlık amaçlı kullanımlar kutucuğunun değiştiğini ve çizgi grafikte verilerin gösterildiğini göreceksiniz.

Kaynakları temizleme
Oluşturduğunuz tüm kaynakları kaldırmak istiyorsanız, Power BI görselleştirme verilerini kaldırın ve ardından kaynak grubunu silin. Kaynak grubunu sildiğinizde o grupta bulunan tüm kaynaklar da silinir. Bu örnekte olay hub'ını, Event Hub ad alanını, Stream Analytics işini ve kaynak grubunun kendisini kaldırır.
Power BI görselleştirmesinde kaynakları temizleme
Power BI hesabınızda oturum açın. Çalışma Alanım'a gidin. Pano adınızın bulunduğu satırdaki çöp kutusu simgesine tıklayın. Daha sonra Veri Kümeleri'ne gidin ve çöp kutusu simgesine tıklayarak veri kümesini (contosoehdataset) silin.
Kaynakları temizleme
Bu öğreticinin bir parçası olarak oluşturduğunuz tüm kaynakları içeren kaynak grubunu silin.
Sonraki adımlar
Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:
- Event Hubs ad alanı oluşturma
- Olay hub’ı oluşturma
- Olay simülasyonu gerçekleştiren sonuçları olay hub'ına gönderen uygulamayı çalıştırma
- Hub'a gönderilen olayları işlemek için bir Stream Analytics işi yapılandırma
- Sonuçları göstermek için bir Power BI görselleştirmesi yapılandırma
Azure Event Hubs hakkında daha fazla bilgi edinmek için bir sonraki makaleye geçin.