Aracılığıyla paylaş


Azure Veri Gezgini ve Azure Kaynak Grafı'daki verileri Log Analytics çalışma alanında bulunan verilerle ilişkilendirme

Azure Veri Gezgini ve Azure Kaynak Grafı'ndaki verileri Log Analytics çalışma alanınızdaki ve Application Insights kaynaklarınızdaki verilerle ilişkilendirerek Azure İzleyici Günlüklerindeki analizinizi geliştirin. Bu makalede, Log Analytics çalışma alanında veri depolayan herhangi bir hizmetten çapraz hizmet sorguları çalıştırma işlemi açıklanmaktadır. Microsoft Sentinel verileri Log Analytics çalışma alanlarında depolasa ve Azure Veri Gezgini'ne yönelik hizmetler arası sorguları desteklese de, Microsoft Sentinel'in her özelliği Azure Kaynak Grafı sorgularını desteklemez.

Azure portalında Log Analytics, çalışma kitapları, PowerShell ve REST API dahil olmak üzere Kusto Sorgu Dili (KQL) sorgularını destekleyen tüm istemci araçlarını kullanarak hizmetler arası sorgular çalıştırın.

Önkoşullar

Kaynak İzin gerekiyor
Log Analytics çalışma alanı Microsoft.OperationalInsights/workspaces/query/*/read örneğin, Log Analytics Okuyucusu yerleşik rolü tarafından sağlandığı gibi sorguladığınız
Log Analytics çalışma alanlarında.
Azure Kaynak Grafı Azure Kaynak Grafı'nda sorguladığınız kaynaklara yönelik okuma izinleri
Azure Veri Araştırıcısı Azure Veri Gezgini'nde sorguladığınız tabloların izinlerini görüntüleme

Uygulama ile ilgili hususlar

Hizmetler arası sorgular aşağıdaki senaryolarda desteklenmez:

Genel hizmetler arası hususlar

  • Veritabanı adları büyük/küçük harfe duyarlıdır.
  • Tanımı diğer çalışma alanları arası veya hizmetler arası ifadeler içermeyen parametrelenmemiş işlevleri ve işlevleri kullanın. Kabul edilebilir işlevler arasında adx(), arg(), resource(), workspace()ve app()bulunur.
  • Hizmetler arası sorgular yalnızca veri almayı destekler.
  • Hizmetler arası sorguların yalnızca desteklediği komutlar .show komutlarıdır. Bu özellik, kümeler arası sorguların bir Azure İzleyici, Azure Veri Gezgini veya Azure Kaynak Grafı tablo işlevine doğrudan başvurmasını sağlar.

    .show çapraz hizmet sorgusuyla desteklenen komutlar:

    .show functions
    .show function {FunctionName}
    .show database {DatabaseName} schema as json

  • Kümedeki Zaman Damgası sütununu tanımlama desteklenmez. Log Analytics Sorgu API'si zaman filtresini geçmiyor.
  • mv-expand en fazla 2.000 kaydı destekler.
  • Azure İzleyici Günlükleri, Azure Veri Gezgini dış tabloları sorgulamanıza olanak tanıyan işlevi desteklemezexternal_table(). Dış tabloyu sorgulamak için Azure Veri Gezgini'da parametresiz bir işlev olarak tanımlayınexternal_table(<external-table-name>). Ardından ifadesini adx("").<function-name>kullanarak işlevini çağırabilirsiniz.
  • Azure Veri Gezgini veya Azure Kaynak Grafı'ndaki verileri Log Analytics çalışma alanındaki verilerle birleştirmek için birleşim yerine join operatörünü kullanıyorsanız, bir hint kullanmanız gerekir. Hint.remote={direction of the Log Analytics workspace} adresini kullanın.
    Mesela:
    AzureDiagnostics
    | join hint.remote=left adx("cluster=ClusterURI").AzureDiagnostics on (ColumnName)
    

Azure Kaynak Grafı hizmetler arası sorguyla ilgili dikkat edilmesi gerekenler

  • Sorgunun arg bölümü yalnızca ilk 1.000 kaydı döndürür. Sınıra ulaşılırsa kayıtlar eksik kalabilir, bu nedenle bir join ile birleştirildiğinde bunu aklınızda bulundurun.
  • Operatör, join bir Azure Kaynak Grafı tablosundaki verileri Log Analytics çalışma alanınızdaki bir tabloyla birleştirmenize olanak tanır.
  • Azure İzleyici, Azure Kaynak Grafı sorgu hatalarını döndürmez.
  • Log Analytics sorgu düzenleyicisi geçerli Azure Kaynak Grafı sorgularını söz dizimi hataları olarak işaretler. Örneğin, geçerli bir sorgu şöyle bir hata verebilir: "Ad <geçerli adı> bilinen herhangi bir sütuna, tabloya, değişkene veya işleve başvurmuyor."
  • Bu operatörler desteklenmez: smv-apply(), rand(), arg_max(), arg_min(), avg(), avg_if(), countif(), sumif(), percentile(), percentiles(), percentilew(), percentilesw(), stdev(), stdevif(), stdevp(), variance(), variancep(), varianceif(), bin_at.
  • Microsoft Sentinel, KQL'nin kullanıldığı tüm özelliklerde hizmetler arası sorguları desteklemez.

adx() kullanarak Azure Veri Gezgini'de verileri sorgulama

Desen içindeki bir sorguya Azure Veri Gezgini kümesinin tanımlayıcısını adx ve ardından veritabanı adını ve tablosunu girin.

adx('https://help.kusto.windows.net/Samples').StormEvents

Azure Veri Gezgini küme tablolarını Log Analytics çalışma alanıyla birleştirme

union Küme tablolarını Log Analytics çalışma alanıyla birleştirmek için komutunu kullanın.

Örneğin:

union customEvents, adx('https://help.kusto.windows.net/Samples').StormEvents
| take 10
let CL1 = adx('https://help.kusto.windows.net/Samples').StormEvents;
union customEvents, CL1 | take 10

İpucu

Kısaltma biçimine izin verilir: ClusterName/InitialCatalog. Örneğin, adx('help/Samples')adx('help.kusto.windows.net/Samples') olarak çevrilir.

Azure Veri Gezgini kümesinden bir kiracıdaki verileri başka bir kiracıdaki Azure İzleyici kaynağıyla birleştirme

Hizmetler arasındaki kiracılar arası sorgular desteklenmez. Sorguyu her iki kaynağı kapsayacak şekilde çalıştırmak için tek bir kiracıda oturum açmış durumdasınız.

Azure Veri Gezgini kaynağı A Kiracısında ve Log Analytics çalışma alanı B Kiracısındaysa aşağıdaki yöntemlerden birini kullanın:

  • Farklı kiracılardaki sorumlulara rol eklemek için Azure Veri Gezgini kullanın. Kullanıcı kimliğinizi Azure Veri Gezgini kümesinde yetkili bir kullanıcı olarak B Kiracısına ekleyin. Azure Veri Gezgini kümesindeki TrustedExternalTenant özelliğinin B Kiracısı içerdiğini doğrulayın. Çapraz sorguyu B Kiracısı'nda tam olarak çalıştırın.
  • Azure İzleyici kaynağını A Kiracısına yansıtmak için Lighthouse kullanın.

Farklı kiracılardan Azure Veri Gezgini kümelerine bağlanma

Kusto Gezgini, kullanıcı hesabının ilk olarak ait olduğu kiracıda otomatik olarak oturum açar. Aynı kullanıcı hesabına sahip diğer kiracılardaki kaynaklara erişmek için bağlantı dizesi açıkça belirtmeniz TenantId gerekir:

Data Source=https://ade.applicationinsights.io/subscriptions/SubscriptionId/resourcegroups/ResourceGroupName;Initial Catalog=NetDefaultDB;AAD Federated Security=True;Authority ID=TenantId

arg() (Önizleme) kullanarak Azure Kaynak Grafı'de verileri sorgulama

Önce arg("") desenini, ardından Azure Kaynak Grafı tablo adını girin.

Örneğin:

arg("").<Azure-Resource-Graph-table-name>

İpucu

Operatör arg() artık Microsoft Defender portalında gelişmiş avlanma için kullanılabilir. Bu özellik, Microsoft Sentinel tablolarını sorgulayan sonuçlara izin verir. Daha fazla bilgi için bkz. Gelişmiş tehdit avcılığında Azure Kaynak Grafı sorguları.

Aşağıda, yeni Azure Kaynak Grafı hizmetler arası sorgu özelliklerini kullanan örnek Azure Log Analytics sorguları verilmiştir:

Örnek: Log Analytics sorgusunu Azure Kaynak Grafı sorgusunun sonuçlarına göre filtreleme

arg("").Resources 
| where type == "microsoft.compute/virtualmachines" and properties.hardwareProfile.vmSize startswith "Standard_D"
| join (
   Heartbeat
   | where TimeGenerated > ago(1d)
   | distinct Computer
)
on $left.name == $right.Computer

Örnekler: Yalnızca arg() sorgusundan alınan belirli kaynaklara uygulanan bir uyarı kuralı oluşturma

Etiketleri temel alan kaynakları dışlayın. Örneğin, Test etiketine sahip VM'ler için uyarı tetiklemeyin.

arg("").Resources
| where tags.environment=~'Test'
| project name 

CPU kullanımıyla ilgili performans verilerini alın ve etiketiyle kaynaklara filtreleyin prod .

InsightsMetrics
| where Name == "UtilizationPercentage"
| lookup (
   arg("").Resources 
   | where type == 'microsoft.compute/virtualmachines' 
   | project _ResourceId=tolower(id), tags
)
on _ResourceId
| where tostring(tags.Env) == "Prod"

Daha fazla örnek kullanım örneği

  • VM'lerin 7 gün 24 saat çalışıp çalışmayacağını veya geceleri kapatılması gerektiğini belirlemek için bir etiket kullanın.
  • Tanımlı sayıda çekirdek içeren herhangi bir sunucuda uyarıları gösterin.

Log Analytics çalışma alanınızdan hizmetler arası sorguyu temel alan bir uyarı oluşturma

Log Analytics çalışma alanınızdaki hizmetler arası sorguya dayalı bir uyarı kuralı oluşturmak için, Kapsam sekmesinde Log Analytics çalışma alanınızı seçerek Günlük araması uyarı kuralı oluşturma veya düzenleme adımlarını izleyin.

İpucu

Uyarınızın kapsamı olarak ilgili kaynağı seçerek Azure Veri Gezgini ve Azure Kaynak Grafı'ndan Log Analytics çalışma alanına çapraz hizmet sorguları çalıştırın.

Azure Kaynak Grafı tablolarını Log Analytics çalışma alanıyla birleştirme

union Küme tablolarını Log Analytics çalışma alanıyla birleştirmek için komutunu kullanın.

Örneğin:

union AzureActivity, arg("").Resources
| take 10
let CL1 = arg("").Resources ;
union AzureActivity, CL1 | take 10

Birleşim yerine join işlecini kullandığınızda, Azure Kaynak Grafı'ndaki verileri Log Analytics çalışma alanındaki verilerle birleştirmek için bir hint kullanmanız gerekir. Hint.remote={Direction of the Log Analytics Workspace} adresini kullanın. Örneğin:

Perf | where ObjectName == "Memory" and (CounterName == "Available MBytes Memory")
| extend _ResourceId = replace_string(replace_string(replace_string(_ResourceId, 'microsoft.compute', 'Microsoft.Compute'), 'virtualmachines','virtualMachines'),"resourcegroups","resourceGroups")
| join hint.remote=left (arg("").Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project _ResourceId=id, tags) on _ResourceId | project-away _ResourceId1 | where tostring(tags.env) == "prod"