Giriş Giriş Giriş
Bugünün hızlı tempolu iş ortamında, veriyi geldiği gibi analiz etme yeteneği – saatler sonra değil – bir fırsatı ayrıştırmak ve tamamen eksik bir gerçek zamanlı analitik paniğe sahip, operasyonel takımları, yöneticileri ve verileri sürekli olarak güncellenen içgörülerleri sistem sağlığı, müşteri davranışları, IoT sensör okumaları ve finansal işlemler.
Azure Data Explorer (ADX), özellikle bu talepler için önde gelen bir çözüm mühendisi olarak ortaya çıkıyor.Bu talepler için yönetilen bir üretim hattı, Azure Data Explorer kullanarak zaman serisi ve günlük verileri optimize etti ve güçlü Kusto Dil (KQL) işlemlerinizi aksiyonelleri dönüştürmeyi öğreneceksiniz.Bu makale, Power BI kullanarak tüm zamanların en düşük maliyetli ve düşük boru hattını kullanarak Power BI Data Explorer'ı optimize etmek için pratik, el-zamanlı bir kılavuz sunar.
Azure Data Explorer Nedir?
Azure Data Explorer, tamamen yönetilen, yüksek performanslı büyük veri analizi hizmettir, geniş çaplı yapılı ve yarı yapılandırılmış verilerin interaktif analizinde öne çıkar.[Dönetici:0)Verinin sürekli olarak geri gelmesi ve sorguların saniyeler içinde geri dönmesi gerekir.).
ADX'i gerçek zamanlı panolar için ideal kılan temel özellikler şunlardır:
- [FONT:0]Streaming ingestion: Azure Event Hubs, IoT Hub, Kafka ve diğer akış kaynakları birkaç saniye kadar düşük.
- [FONT:0)Columnar depolama ve indeksleme: Veriler sıkıştırılır ve indekslenmiş ve hızlı tarama ve filtreleme sağlar.
- [FONT:0)Kusto Query Language (KQL): ), Bir okuma-sadece, zaman dizi analizi için inşa edilen operatörlerle, istatistiksel fonksiyonlar, katılırlar ve aggregations.
- [FONT=0]Native Power BI entegrasyonu:[Dönder:[Dönder:[Dönder) DirektQuery modu ve ithalat modu, panoların otomatik veya yakın zamanlı yenilemelerine izin verir.
- [FONT:0)Auto-scaling ve maliyet yönetimi:) Clusters bağımsız olarak hesap ve depolamayı ölçekleyebilir ve hızlı sorgular için hafızada sıcak verileri tutmak için ön bir politika oluşturabilirsiniz.
ADX genellikle Azure Synapse veya Amazon Redchange gibi geleneksel veri depolarına kıyasladır, ancak daha derin bir anlayış için optimize edilir:0) yüksek kartinality) (örneğin, milyonlarca eşsiz cihaz) ve [[Döneticileri[Döneticileri)[Döneticileri ve zaman serisini.
Çevreyi kurmak
Azure Data Explorer Cluster oluşturmak
Başlangıç için, [[Arape portal[[Dönetici:0) ile giriş yapın ve yeni bir tür "Azure Data Explorer Cluster" türü oluşturmak için. Bir abonelik, kaynak grubu seçin ve bölge bu sizin veri kaynaklarınızla aynı bölgeyi en aza indirmek için seçin.
- [FONT=0)Dev/Test: [DDD4 v2) veya Standard D14 v2 küçük iş yükleri için.
- [FONT=0)Ürün: [DÜDÜT:1] Standart L8s v2, Standart L16s v2 veya yerel NVMe SSDs (e.g., Standard L8s v3 yüksek devir için.
- [FONT:0) Yüksek koncurrency:[Dönetici:[Dönetici: 0) Kombinasyon veya ingestion yüküne dayanan birden çok örnekle kümeler.
Set dağıtıldıktan sonra, içinde bir veritabanı oluşturmak. Başlangıçta varsayılan tutma ve önbellek politikaları kullanın.Gerçek zamanlı panolar için, raporlama ihtiyaçlarınızı karşılamak için uzun süre (veya haftalar) gerekir.
Data Ingestion Sources
Gerçek zamanlı panolar veri akışlarına bağlıdır. ADX birkaç ingestion yaklaşımını destekler:
- [FONT:0] bilek Hubs:[Dönetici:[Dönetici: 0) Çoğu giriş ve telemetri için ortaktır. Bir Event Hubs adı ve bir merkez oluşturun, sonra ADX'te JSON veya euro etkinliklerinin bir masa şemaya uyduğunu yapılandırın.
- [FONT:0)IoT Hub: [Dönetici cihazlar için , IoT Hub doğrudan ADX'e devre dışı bırakmak için cihaz kimlik doğrulama ve mesaj göndermektedir.
- [FONT:0)Kafka:[Dönetici:[Dönetici:0) ADX Kafka bağlantısını Apache Kafka veya Confluent'dan akışlar getirmek için kullanın.
- [FONT=0]Blob Storage/Data Lake: To toplu veya Parkt /CSV dosyalarından Azure Blob veya ADLS Gen2'de depolanan toplu veya yakın zamanlı olarak.
Event Hubs'ı ayarlandığında, bölüm sayımının bağlantılarınızı bağlantınız olması gerekir. ADX birden fazla bölümden gelen verileri aynı anda işleyebilir.Her veri bağlantısı için, aİLFLT:0) ve aurFLT:2 ).
Gerçek zamanlı Data
Masalar ve Mappings oluşturmak
Ingesting önce, KQL kullanarak ADX veritabanınızda varış masası oluşturmak. Örneğin, uygulama hatası logları için bir masa gibi görünebilir:
.create table AppLogs (Timestamp: datetime, Level: string, Service: string, Message: string, CorrelationId: string)
Ardından akış kaynak kullanımlarınızı format için bir ingestion haritasını oluşturun. Etkinlik Hubs'tan JSON için komut:
.create table AppLogs ingestion json mapping 'AppLogsJsonMapping' '[{"column":"Timestamp","datatype":"datetime","properties":{"path":"$.timestamp"}},{"column":"Level","datatype":"string","properties":{"path":"$.level"}},{"column":"Service","datatype":"string","properties":{"path":"$.service"}},{"column":"Message","datatype":"string","properties":{"path":"$.message"}},{"column":"CorrelationId","datatype":"string","properties":{"path":"$.correlationId"}}]'
Bu haritalar ADX'e her olaydan alanları nasıl çıkaracağını anlatıyor.
Event Hubs Connection Up
Azure portalında, ADX veritabanınıza gidin, "Data bağlantıları" seçin ve bir Event Hubs adını alan, merkezi adı, tüketici grubu (resmi bir tüketici grubu ADX için çatışmalardan kaçınmak için) ve tablo adınızı otomatik olarak satın almaya başlayacaktır. ADX otomatik olarak saniyeler içinde sorgular için hazır hale gelecektir.
Yüksek kodlu senaryolar için, [[0|altlamalar [Döneticileri üzerinde) tam olarak veri yazan satırlara doğrudan erişim sağlar, bu da en gerçek zamanlı panolar için, bu tercih edilen moddur. Batch ingestion (default) son dereceleri tamamlamadan birkaç dakika öncesine kadar verileri toplar.
Kusto Query Language (KQL) ile ilgili bilgi
Herhangi bir ADX panosunun kalbi gerçek zamanlı olarak agre ve filtre verilerinin topladığı KQL sorgularıdır. Aşağıda sık kullanacağınız desenler vardır.
Temel Filtreleme ve Aggregasyon
Son saat boyunca bir dakika binde hata olayları saymak:
AppLogs
| where Timestamp > ago(1h)
| where Level == "Error"
| summarize ErrorCount = count() by Service, bin(Timestamp, 1m)
| order by Timestamp asc
Bu, bir çizgi grafiği için hazır bir zaman serisi döndürür.
Yüzde Hesaplamaları
Geç ölçümler için, P50, P95 ve P99'u isteyebilirsiniz:
ServiceLatency
| where Timestamp > ago(30m)
| summarize P50 = percentile(LatencyMs, 50), P95 = percentile(LatencyMs, 95), P99 = percentile(LatencyMs, 99) by Service
Referans Data ile Katılmak
Çoğu zaman panolar statik arama verileri ile zengin olaylara ihtiyaç duyar (örneğin, cihaz konumları). ADX hafif katılmak için cihazlara katılın: bir cihaz masası ile telemetri akışına katılın:
Telemetry
| where Timestamp > ago(15m)
| lookup Devices on DeviceId
| project Timestamp, DeviceId, Region, MetricValue
Büyük referans tabloları için, onları kullanarak malzeme düşünün:0)Depresifleştirilmiş görüşler[Dönetici: 1) veya onları uygun önbellek politikası ile ayrı bir kümede depolamak.
Zaman serisi Fonksiyonlar
ADX, bir anomali tespiti için güçlü zaman serisi işlemleri içerir, aomaly algılama, 03.03.2012 için geçerli olan ve="FLT:7) frekans analizi için. Örnek: HTTP hatalarında anormallikler tespit edin:
AppLogs
| where Timestamp > ago(2h)
| make-series ErrorCount = count() on Timestamp step 1m
| extend anomalies = series_decompose(ErrorCount, -1, 2.0, 'ok')
| mv-expand Timestamp, ErrorCount, anomalies
| where anomalies[2] < 0 or anomalies[2] > 0
Bu tür sorgular gelişmiştir, ancak doğrudan uyarı panolarını besleyebilir.
Tamamlanan bir referans için, bakınız:0)Kusto Query Language documents).
Power BI Dashboard'ı inşa edin
Güç BI'ı ADX'e Bağlamak
Azure Data Explorer, Power BI ile 03.Ş. aracılığıyla entegre eder:0)Azure Data Explorer (Kusto)) bağlantı kurmak için:
- Open Power BI Desktop, "Get Data" > "More..."
- "Azure Data Explorer" için arayın ve bağlantıyı seçin.
- Set URL'nizi girin (örneğin, [[FONTFLT:9). ve veritabanı adı.
- Import[[[Dönemli:0)[[Dönemli: 0) veya [[Dönemli:2|Dönder[Dönderler her etkileşimde ADX'ye gönderilir.Gerçek zamanlı panolar için, DirectQuery kullanın.Bu, her filtrenin, bir KQL sorgusunun son verilere karşı bir KQL sorgulanmasını sağlar.
Power BI'da KQL Queries
Bağlantı bildiriminde, doğrudan bir KQL sorgusu yazabilirsiniz. sorgular odaklanmış ve Power BI'nın modelleyebileceği tabular verileri geri döndürebilirsiniz. Örneğin, son saat için bir veri kümesi oluşturmak için:
AppLogs
| where Timestamp > ago(1h)
| summarize ErrorCount = count() by Service, bin(Timestamp, 1m)
Soruyu yüklerken, Power BI'ın modellemesini kullanarak, önlemleri tanımlamak, hiyerarşileri ve ilişkileri birden fazla sorguya sahipseniz kullanın. Tamamlamadan kaçının, KQL'da mümkün olduğunca çok şey ile geçin.
Gerçek zamanlı Yenilemeleri
DoğrudanQuery modunda, görseller otomatik olarak tekrar dirir ADX, kullanıcıların IP ile etkileşime girdiğinde (örneğin, bir tarih dilimleyicisini değiştirmek) ancak, pano otomatik olarak kullanıcı etkileşimi olmadan otomatik olarak otomatik olarak geri dönüş yapmanız gerekir, otomatik olarak yeniden sayfa yenileme işlemi yapmanız gerekir[Dön sayfalık yenileme).
- Raporu bir şekilde ifade edin:0)App iş alanı).
- Rapor ayarlarında, "Scheduled refresh" altında, DirectQuery yeni aralığı - gerçek zamanlı panolar için 1 veya 2 dakika kullanın.
- Alternatif olarak, [[0)Auto-refresh) sayfayı sabit bir aralıkta yenilemek (örneğin, her 30 saniye).
Her oto-refresh, tüm KQL sorgularının görselleri altüst etmesi gerektiğini unutmayın. Sorularınızı hızlıca geri döndürmek için (beş saniye) kullanıcı beklemelerinden ve aşırı küme yüklerinden kaçınmak için optimize edin.
Görselleştirme En İyi Uygulamaları
- Kullanım:0) Kartvizitleri[[Döneticileri için pdf) (örneğin, son 5 dakikada toplam hatalar).
- [FONT=0)Line grafikler[Dönergeler[Dönergeler için).
- [FONT=0]Bar grafikler[Döneticileri [Döneticileri) üst düzey başarısızlıklar için (örneğin, en iyi başarısız hizmetler).
- [FONT:0)Geospatial haritalar[[Dönetici:0] konum verileri varsa.
- [FONT:0)Gauges eşlere doğru ilerleme göstermek için.
Çünkü DirectQuery her etkileşimde sorgular gönderir, birçok sorgu üreten özel görselleri kullanmaktan kaçınır. Ayrıca, KQL'de veri hacmini azaltmak için filtreler uygulayın.
Gerçek zamanlı Queries için performans
Kombinasyon ve Index Tuning
ADX otomatik olarak zaman içinde ölçekler (data shards) yaratır ve birleştirir: Ancak performansa etkileyebilirsiniz:
- Bir CFONT:0) Dış politika[[Dönetici:0) Bu dengeler sorgu koncurrency ile yüksek oranda kesintiye uğratmaktadır. Gerçek zamanlı panjurlar için birçok görsel sorgu ile ölçeklenir (örneğin) ölçeklendirmek yerine.
- Uygun bir şekilde ayarlayın:0)cache politikası[[[Dönetici veya masalarda yer alan tablolar. Örneğin, son 7 gün sıcak önbellek: 03:11).
- [[Döneticileri:0) Uygulamalı görüşler[Döneticileri değiştirmiş durumda[Döneticileri değiştirmiş gibi) önceden belirlenmiş sonuçlar için geçerlidir.
Sorgulama İpuçları
- [FONT:0) İlk önce: UseETHFLT:12), tarama verilerinin azaltılması için zaman damga sütunu ve yüksek kartelinality boyutlarında yer alır.
- [[Dönetici:0)Minie katılmak:[Dönetici:[Dönetici:0) Mümkün olursa, bu referans verileri zaten olaylarda gömülüdür.
- [FONT:0)AvoidFLT:13] projelerde: Explicitly listesi, bant genişliği ve hafızayı azaltmak için sütunlara ihtiyaç duyuyordu.
- [FONT:0]UseENFLT:0] [Döntgen: 0:0)[Dönler: 9))) [Gerçeğin altındaki bir işlemden uzaklaştırmak için.
- [FONT=0]Limit sonuçları: [Dönetici: [Dönetici:0] [FONT=FONT=0)[0] {0|15|0|N=0|D=0|D=0)) {0|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|-N|-))
Takip Cluster Health
Azure Data Explorer, Azure Monitor aracılığıyla teşhis logları ve ölçümler sağlar. Anahtar ölçümler izlemek için:
- [FONT:0)Engestion latency:) Olay yaratımından sorgulanabilir hale gelen ortalama zaman.
- [FONT:0)Query latency:[Dönetici:[Dönetici: 1 ) P50 ve P99 infaz süreleri.
- [FONT:0)CPU ve hafıza kullanımı:[Dönetici: 1 ) Sürekli yüksekse ölçeklendirmeyi düşünün.
- [FONT=0)Engestion oranı:[Dönetici:[Dönetici:0)) ·[Dönetici:[Dönetici:)) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Azure Monitor'te sorgulamaların bir eşiği aştığında uyarıları ayarlar (örneğin P99 > 10 saniye) böylece proaktif olarak ayarlayabilirsiniz.
Gerçek zamanlı Uyarı ve Otomasyon
Gerçek zamanlı bir pano otomatik yanıtlarla eşleştirildiğinde en güçlüdür. Azure Data Explorer birkaç entegrasyon noktası sunar:
Azure Monitor Uyarıları ADX
Bir programda çalışan ADX'de (örneğin, her 5 dakika) ve Azure Monitor'e sonuçları gönderebilirsiniz. Sonra yangın koşullarını tanımlayan uyarı kuralları tanımlayabilirsiniz (örneğin, hata sayısı 100 > 5 dakika içinde).
- Action Grupları aracılığıyla bir e-posta veya SMS gönder.
- Azure Mantık Uygulamaları'nı iş akışlarını yürütmek için yönlendirmek (örneğin, bir hizmet yeniden başlat, bir olay bileti oluşturmak).
- Dış sistemleri bildirmek için webhooksları arayın.
Azure Mantık Uygulamaları ve Microsoft Power Automate
Örneğin, VMSS'nin verileri almak için "Execute Kusto Query" bağlantısı ile Mantık Uygulamaları kullanın. Örneğin, bir sorgu VM'ler boyunca CPU kullanımında bir artış tespit ederse, bir Mantık App VMSS'yi ölçeklendirmek için bir Azure Otomasyon runbook s.This closes the loop between monitoring and remediation.
Akış Analytics ve ADX, Lavabo
Daha düşük gecikme uyarıları için, Azure Stream Analytics aracılığıyla veri akışları ve zaman zaman zaman pencerelerini uygulayabilir ve ADX'e (tarihsel analiz için) ve anında uyarı için bir Event Hubs abonesi ile uyarıda bulunabilir.
Vakaları ve Gerçek Dünya Örneklerini Kullanın
- [FONT:0]DevOps Observability Dashboard: Aggregate loglar, metrikler ve Kubernetes kümeleri arasındaki mikro hizmetlerden izler. ADX engests from Fluentd/Logstash Azure Event Hubs ve Power BI panjurları istek oranları, hata yanıtları ve kuyrukları gösterir.
- [FONT=0)IoT Filo İzleme: [Dönetici:[Dönetici: 0,0)IoT Filo İzleme:[Dönetici: 0,0) Connect IoT Hub'ye araç telemetrisi (yer, hız, batarya statüsü) için ADX'ye bağlanın.
- [FONT:0]Dokuzluk Tespiti:[Döneticileri Olay Hubları ile ADX. Dashboards show işlem hacimleri bölge ve anomali puanlar tarafından gösterir; eşler ihlal edildiğinde blok listeleri tetikler.
- [[Dönetici:[0)Clickstream Analysis:[Döneticileri:[Döneticileri değiştir] Kullanıcı aktivite Web sitelerinden alınan etkinlik ADX'e kadar yapılır.The dashboard track Aktif kullanıcılar, page views per second, and conversion funnels update every minute.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Azure Data Explorer ve Power BI ile gerçek zamanlı analitik bir paniğe sahip bina, her birkaç saniyeyi tazeleyen ve anlık veriler için artan talebi işe alan paniğe sahip güçlü zaman serisi yetenekleri ve sürekli performans izleme.
Tek bir telemetri akışı ile küçük başlayın, sorgularda iterate ve yavaş yavaş daha fazla veri kaynağına genişletin.Organizasyonunuzun gerçek zamanlı ihtiyaçları büyüdükçe ADX'in elastikliği, pano ölçeklerinizin bundan ödün vermeden artırılmasını sağlar.Daha fazla bilgi için, 0ADX Event Hubs ingestion rehberi).