Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Event Hubs , Azure ve dış hizmetler tarafından alınabilecek birden çok kaynaktan olay toplayan büyük bir veri akışı platformudur. Bu makalede, verileri doğrudan bir olay hub'ından Log Analytics çalışma alanına alma işlemi açıklanmaktadır.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Log Analytics çalışma alanınızda olay hub'ı verileri için hedef tablo oluşturma
- Veri toplama uç noktası oluşturma
- Veri toplama kuralı oluşturma
- Olay hub'ına veri toplama kuralı izinleri verme
- Veri toplama kuralını olay hub'ı ile ilişkilendirme
Önkoşullar
Azure Event Hubs'tan Azure İzleyici Günlüklerine olay göndermek için şu kaynaklara ihtiyacınız vardır:
- En az katkıda bulunan haklarına sahip olduğunuz Log Analytics çalışma alanı.
- Log Analytics çalışma alanınızın ayrılmış bir kümeye bağlanması veya bir taahhüt katmanına sahip olması gerekir.
- Genel ağ erişimine izin veren Event Hubs ad alanı . Genel ağ erişimi devre dışı bırakıldıysa, "Güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver" seçeneğinin "Evet" olarak ayarlandığından emin olun.
- Etkinliklerle dolu Event Hub. Azure Event Hubs'da olay gönderme ve alma öğreticilerindeki adımları izleyerek veya Azure kaynaklarının tanılama ayarlarını yapılandırarak olay hub'ınıza olay gönderebilirsiniz.
Desteklenen bölgeler
Azure Monitor şu anda şu bölgelerde Event Hubs'tan alımı desteklemektedir:
Amerikalar | Avrupa | Orta Doğu | Afrika | Asya Pasifik |
---|---|---|---|---|
Güney Brezilya | Orta Fransa | Kuzey BAE | Güney Afrika Kuzey | Orta Avustralya |
Güneydoğu Brezilya | Kuzey Avrupa | Doğu Avustralya | ||
Orta Kanada | Norveç Doğu | Güneydoğu Avustralya | ||
Doğu Kanada | Kuzey İsviçre | Orta Hindistan | ||
Doğu ABD | Batı İsviçre | Doğu Asya | ||
Doğu ABD 2 | Güney Birleşik Krallık | Doğu Japonya | ||
Orta Güney ABD | Batı Birleşik Krallık | Jio Hindistan Batı | ||
Batı ABD | Batı Avrupa | Güney Kore - Orta | ||
Batı ABD 3 | Güneydoğu Asya |
Veri Toplama Kuralı İlişkilendirmenizi (DCRA) Olay Hub'ı ile aynı bölgede oluşturmanız gerekir. Log Analytics çalışma alanı herhangi bir bölgede olabilir, ancak Veri Toplama Kuralı (DCR) ve Veri Toplama Uç Noktası (DCE) Log Analytics çalışma alanıyla aynı bölgede olmalıdır.
En düşük gecikme süresi için tüm kaynakların aynı bölgeye yerleştirilmesini öneririz.
Gerekli bilgileri toplama
Sonraki adımlarda abonelik kimliğiniz, kaynak grubu adınız, çalışma alanı adınız, çalışma alanı kaynak kimliğiniz ve olay hub'ı örneği kaynak kimliğiniz gerekir:
Log Analytics çalışma alanları menüsünde çalışma alanınıza gidin ve Özellikler'iseçip Abonelik Kimliğinizi, Kaynak grubunuzu ve Çalışma Alanı adınızı kopyalayın. Bu öğreticide kaynak oluşturmak için bu ayrıntılara ihtiyacınız olacaktır.
Kaynak JSON ekranını açmak ve çalışma alanının Kaynak Kimliğini kopyalamak için JSON'ı seçin. Veri toplama kuralı oluşturmak için çalışma alanı kaynak kimliğine ihtiyacınız olacaktır.
Olay hub'ı örneğinize gidin, Kaynak JSON ekranını açmak için JSON'ı seçin ve olay hub'ı örneğinin Kaynak Kimliğini kopyalayın. Veri toplama kuralını olay hub'ı ile ilişkilendirmek için olay hub'ı örneğinin kaynak kimliği gerekir.
Log Analytics çalışma alanınızda hedef tablo oluşturma
Verileri alabilmeniz için önce bir hedef tablo ayarlamanız gerekir. Verileri özel tablolara ve desteklenen Azure tablolarına alabilirsiniz.
Azure portalında olayları almak için özelleştirilebilir bir tablo oluşturun.
Cloud Shell düğmesini seçin ve ortamın PowerShell olarak ayarlandığından emin olun.
Tabloyu oluşturmak için bu PowerShell komutunu çalıştırın, JSON'da tablo adını (
<table_name>
özel tablo söz konusu olduğunda son ek _CL) sağlayın ve komutta<subscription_id>
,<resource_group_name>
,<workspace_name>
ve<table_name>
değerlerini ayarlayınInvoke-AzRestMethod -Path
:$tableParams = @' { "properties": { "schema": { "name": "<table_name>", "columns": [ { "name": "TimeGenerated", "type": "datetime", "description": "The time at which the data was ingested." }, { "name": "RawData", "type": "string", "description": "Body of the event." }, { "name": "Properties", "type": "dynamic", "description": "Additional message properties." } ] } } } '@ Invoke-AzRestMethod -Path "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/microsoft.operationalinsights/workspaces/<workspace_name>/tables/<table_name>?api-version=2021-12-01-preview" -Method PUT -payload $tableParams
Önemli
- Sütun adları bir harfle başlamalıdır ve en fazla 45 alfasayısal karakterden ve alt çizgiden (
_
oluşabilir). -
_ResourceId
,id
,_ResourceId
,_SubscriptionId
, ,TenantId
,Type
, ,UniqueId
veTitle
ayrılmış sütun adlarıdır. - Sütun adları büyük/küçük harfe duyarlıdır. Veri toplama kuralınızda doğru büyük/küçük harf kullandığınızdan emin olun.
Veri toplama uç noktası oluşturma
Veri toplama kuralıyla veri toplamak için bir veri toplama uç noktası gerekir:
Veri toplama uç noktası oluşturma.
Önemli
Log Analytics çalışma alanınızla aynı bölgede veri toplama uç noktasını oluşturun.
Veri toplama uç noktasının Genel Bakış ekranında JSON Görünümü'nü seçin.
Veri toplama kuralı için Kaynak Kimliğini kopyalayın. Bu bilgileri sonraki adımda kullanacaksınız.
Veri toplama kuralı oluşturma
Azure İzleyici, hangi verilerin toplanacağı, bu verilerin nasıl dönüştürüleceği ve verilerin nereye gönderileceği tanımlamak için veri toplama kurallarını kullanır.
Azure portalında veri toplama kuralı oluşturmak için:
Portalın arama kutusuna şablon yazın ve ardından Özel şablonu dağıt'ı seçin.
Düzenleyicide kendi şablonunuzu oluşturun'u seçin.
Aşağıdaki Resource Manager şablonunu düzenleyiciye yapıştırın ve kaydet'i seçin.
Aşağıdaki veri toplama kuralında aşağıdaki ayrıntılara dikkat edin:
identity
- Kullanılacak yönetilen kimlik türünü tanımlar. Örneğimizde, sistem tarafından atanan kimliği kullanırız. Kullanıcı tarafından atanan yönetilen kimliği de yapılandırabilirsiniz.dataCollectionEndpointId
- Veri toplama uç noktasının kaynak kimliği.streamDeclarations
- Olay hub'ından alınacak verileri tanımlar (gelen veriler). Akış bildirimi değiştirilemez.-
TimeGenerated
- Verilerin olay hub'ından Azure İzleyici Günlüklerine alındığı saat. -
RawData
- Etkinliğin içeriği. Daha fazla bilgi için bkz Etkinlikleri Okuma. -
Properties
- Olaydaki kullanıcı özellikleri. Daha fazla bilgi için bkz Etkinlikleri Okuma.
-
datasources
- Olay merkezi tüketici grubunu ve verileri aldığınız akışı belirtir.destinations
- Verilerin gönderileceği tüm hedefleri belirtir. Bir veya daha fazla Log Analytics çalışma alanına veri alabilirsiniz.dataFlows
- Akışı hedef çalışma alanıyla eşleştirir ve dönüştürme sorgusunu ve hedef tabloyu belirtir. Örneğimizde verileri daha önce oluşturduğumuz özel tabloya alıyoruz. Ayrıca desteklenen bir Azure tablosuna veri ekleyebilir veya yükleyebilirsiniz.transformKql
- Çalışma alanına gönderilmeden önce gelen verilere uygulanacak dönüşümü (akış bildirimi) belirtir. Örneğimizde,transformKql
öğesinisource
olarak ayarlıyoruz, bu da gelen verileri özel olarak oluşturduğumuz şemaya uygun bir tabloya eşlediğimiz için kaynaktaki verileri hiçbir şekilde değiştirmez. Verileri farklı bir şemaya sahip bir tabloya almak veya veri alımından önce verileri filtrelemek için veri toplama dönüşümü tanımlayın.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "dataCollectionRuleName": { "type": "string", "metadata": { "description": "Specifies the name of the data collection Rule to create." } }, "workspaceResourceId": { "type": "string", "metadata": { "description": "Specifies the Azure resource ID of the Log Analytics workspace to use." } }, "endpointResourceId": { "type": "string", "metadata": { "description": "Specifies the Azure resource ID of the data collection endpoint to use." } }, "tableName": { "type": "string", "metadata": { "description": "Specifies the name of the table in the workspace." } }, "consumerGroup": { "type": "string", "metadata": { "description": "Specifies the consumer group of event hub." }, "defaultValue": "$Default" } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRules", "name": "[parameters('dataCollectionRuleName')]", "location": "[resourceGroup().location]", "apiVersion": "2022-06-01", "identity": { "type": "systemAssigned" }, "properties": { "dataCollectionEndpointId": "[parameters('endpointResourceId')]", "streamDeclarations": { "Custom-MyEventHubStream": { "columns": [ { "name": "TimeGenerated", "type": "datetime" }, { "name": "RawData", "type": "string" }, { "name": "Properties", "type": "dynamic" } ] } }, "dataSources": { "dataImports": { "eventHub": { "consumerGroup": "[parameters('consumerGroup')]", "stream": "Custom-MyEventHubStream", "name": "myEventHubDataSource1" } } }, "destinations": { "logAnalytics": [ { "workspaceResourceId": "[parameters('workspaceResourceId')]", "name": "MyDestination" } ] }, "dataFlows": [ { "streams": [ "Custom-MyEventHubStream" ], "destinations": [ "MyDestination" ], "transformKql": "source", "outputStream": "[concat('Custom-', parameters('tableName'))]" } ] } } ] }
Özel dağıtım ekranında, veri toplama kuralını depolamak için bir Abonelik ve Kaynak grubu belirtin ve şablonda tanımlanan parametreler için değerler sağlayın, örneğin:
- Bölge - Veri toplama kuralı için bölge. Seçtiğiniz kaynak grubuna göre otomatik olarak doldurulur.
- Veri Toplama Kuralı Adı - Kurala bir ad verin.
- Çalışma Alanı Kaynak Kimliği - Bkz. Gerekli bilgileri toplama.
- Uç Nokta Kaynak Kimliği - Veri toplama uç noktasını oluşturduğunuzda oluşturulur.
-
Tablo Adı - Hedef tablonun adı. Örneğimizde ve her özel tabloyu kullandığınızda, tabloların adı "_CL" soneki ile bitmelidir. Bir Azure tablosuna veri almak istiyorsanız, soneki olmadan tablo adını (örneğin,
Syslog
) girin. -
Tüketici Grubu - Varsayılan olarak, tüketici grubu olarak
$Default
ayarlanır. Gerekirse, değeri farklı bir olay hub’ı tüketici grubuna değiştirin.
Gözden geçir + oluştur'u ve ardından ayrıntıları gözden geçirirken Oluştur'u seçin.
Dağıtım tamamlandığında Dağıtım ayrıntıları kutusunu genişletin ve ayrıntılarını görüntülemek için veri toplama kuralınızı seçin. JSON Görünümü'nü seçin.
Veri toplama kuralı için Kaynak Kimliğini kopyalayın. Bu bilgileri sonraki adımda kullanacaksınız.
Kullanıcı tarafından atanan yönetilen kimliği yapılandırma (isteğe bağlı)
Veri toplama kuralınızı kullanıcı tarafından atanan kimliği destekleyecek şekilde yapılandırmak için, yukarıdaki örnekte şunu değiştirin:
"identity": {
"type": "systemAssigned"
},
ile
"identity": {
"type": "userAssigned",
"userAssignedIdentities": {
"<identity_resource_Id>": {
}
}
},
Değeri bulmak <identity_resource_Id>
için Azure portalında kullanıcı tarafından atanan yönetilen kimlik kaynağınıza gidin, JSON'u seçerek Kaynak JSON ekranını açın ve yönetilen kimliğin Kaynak Kimliğini kopyalayın.
Azure tablosuna günlük verilerini alma (isteğe bağlı)
Desteklenen bir Azure tablosuna veri almak için:
Veri toplama kuralında
outputStream
öğesini şu şekilde değiştirin:Kaynak:
"outputStream": "[concat('Custom-', parameters('tableName'))]"
Alıcı:
"outputStream": "outputStream": "[concat(Microsoft-', parameters('tableName'))]"
içinde
transformKql
, alınan verileri hedef Azure tablosundaki hedef sütunlara gönderen bir dönüştürme tanımlayın.
Veri toplama kuralına olay hub'ına izin ver.
Yönetilen kimlikle, herhangi bir olay hub'ına veya Event Hubs ad alanına, oluşturduğunuz veri toplama kuralına ve veri toplama uç noktasına olay gönderme izni verebilirsiniz. Event Hubs ad alanına izinler verdiğinizde, ad alanındaki tüm olay hub'ları izinleri devralır.
Azure portalındaki olay hub'ından veya Event Hubs ad alanından Erişim Denetimi (IAM) seçeneğine gidin ve >yi seçin.
Azure Event Hubs Veri Alıcısı seçeneğini seçin ve İleri'yi tıklayın.
Erişim atama için Yönetilen kimlik'i seçin ve Üye seç'e tıklayın. Veri toplama kuralı'yı seçin, veri toplama kuralınızı ada göre arayın ve Seç'e tıklayın.
Gözden geçir ve ata seçeneğini seçip rol atamanızı kaydetmeden önce ayrıntıları doğrulayın.
Veri toplama kuralını olay hub'ı ile ilişkilendirme
Son adım, veri toplama kuralını olayları toplamak istediğiniz olay hub'ı ile ilişkilendirmektir.
Tek bir veri toplama kuralını aynı tüketici grubunu paylaşan ve verileri aynı akışa alan birden çok olay hub'ı ile ilişkilendirebilirsiniz. Alternatif olarak, her olay hub'ına benzersiz bir veri toplama kuralı ilişkilendirebilirsiniz.
Önemli
Bir olay hub'ından veri almak için olay hub'ına en az bir veri toplama kuralı ilişkilendirmeniz gerekir. Olay hub'ı ile ilgili tüm veri toplama kuralı ilişkilendirmelerini sildiğinizde, olay hub'ından veri alımını durdurursunuz.
Azure portalında veri toplama kuralı ilişkilendirmesi oluşturmak için:
Azure portalının arama kutusuna şablon yazın ve ardından Özel bir şablon dağıt seçeneğini seçin.
Düzenleyicide kendi şablonunuzu oluşturun'u seçin.
Aşağıdaki Resource Manager şablonunu düzenleyiciye yapıştırın ve kaydet'i seçin.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "eventHubResourceID": { "type": "string", "metadata": { "description": "Specifies the Azure resource ID of the event hub to use." } }, "associationName": { "type": "string", "metadata": { "description": "The name of the association." } }, "dataCollectionRuleID": { "type": "string", "metadata": { "description": "The resource ID of the data collection rule." } } }, "resources": [ { "type": "Microsoft.Insights/dataCollectionRuleAssociations", "apiVersion": "2021-09-01-preview", "scope": "[parameters('eventHubResourceId')]", "name": "[parameters('associationName')]", "properties": { "description": "Association of data collection rule. Deleting this association will break the data collection for this event hub.", "dataCollectionRuleId": "[parameters('dataCollectionRuleId')]" } } ] }
Özel dağıtım ekranında, veri toplama kuralı ilişkilendirmesini depolamak için bir Abonelik ve Kaynak grubu belirtin ve şablonda tanımlanan parametreler için değerler sağlayın, örneğin:
- Bölge - Seçtiğiniz kaynak grubuna göre otomatik olarak doldurulur.
- Event Hub Örneği Kaynak Kimliği - Bkz. Gerekli bilgileri toplama.
- İlişkilendirme Adı - İlişkilendirmeye bir ad verin.
- Veri Toplama Kuralı Kimliği - Veri toplama kuralını oluşturduğunuzda oluşturulur.
Gözden geçir + oluştur'u ve ardından ayrıntıları gözden geçirirken Oluştur'u seçin.
Alınan olaylar için hedef tablonuzu denetleyin
Azure İzleyici Günlükleri, DCRA oluşturulduğunda, eğer saklama süreleri dolmamışsa, Olay Hub'ında mevcut olan tüm olayları ve tüm yeni olayları alır.
Alınan olaylar için hedef tablonuzu denetlemek için:
Çalışma alanınıza gidin ve Günlükler'i seçin.
Sorgu düzenleyicisinde basit bir sorgu yazın ve Çalıştır'ı seçin:
<table_name>
Olay hub'ınızdaki olayları görmeniz gerekir.
Kaynakları temizleme
Bu öğreticide aşağıdaki kaynakları oluşturdunuz:
- Özel tablo
- Veri toplama uç noktası
- Veri toplama kuralı
- Veri toplama kural ilişkilendirmesi
Bu kaynaklara hala ihtiyacınız olup olmadığını değerlendirin. İhtiyacınız olmayan kaynakları tek tek silin veya kaynak grubunu silerek bu kaynakların tümünü bir kerede silin. Çalışır durumda bıraktığınız kaynaklar size pahalıya mal olabilir.
Olay hub'ından veri alımını durdurmak için olay hub'ı ile ilgili tüm veri toplama kuralı ilişkilendirmelerini silin veya veri toplama kurallarını silin. Bu eylemler ayrıca olay merkezinde kontrol noktası sıfırlamayı gerçekleştirir.
Bilinen sorunlar ve sınırlamalar
- Bir aboneliği Microsoft Entra dizinleri arasında aktarırsanız, verileri almaya devam etmek için Azure kaynakları için yönetilen kimliklerle ilgili bilinen sorunlar bölümünde açıklanan adımları izlemeniz gerekir.
- Event Hubs'tan Azure İzleyici Günlüklerine 64 KB'a kadar ileti alabilirsiniz.
Sonraki adımlar
Hakkında daha fazla bilgi edinin:
- Özel tablo oluşturma.
- Veri toplama uç noktası oluşturma.
- Mevcut bir veri toplama kuralını güncelleştirin.