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

Azure İzleyici Günlüklerindeki analizinizi geliştirmek için Azure Veri Gezgini ve Azure Kaynak Grafı'dakiverileri Log Analytics çalışma alanınızdaki verilerle ve Uygulama Analizler kaynaklarıyla ilişkilendirebilirsiniz. Log Analytics çalışma alanlarında da veri depolayan Microsoft Sentinel, Azure Veri Gezgini için hizmetler arası sorguları destekler ancak Azure Kaynak Grafı için desteklemez. Bu makalede, Log Analytics çalışma alanında veri depolayan herhangi bir hizmetten çapraz hizmet sorguları çalıştırma işlemi açıklanmaktadır.

Log Analytics web kullanıcı arabirimi, ç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.

Gerekli izinler

Azure Veri Gezgini veya Azure Kaynak Grafı'daki verileri Log Analytics çalışma alanında bulunan verilerle ilişkilendiren bir hizmetler arası sorgu çalıştırmak için şunlar gerekir:

  • 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ına yönelik izinler.
  • Azure Kaynak Grafı'de sorguladığınız kaynaklara yönelik okuyucu izinleri.
  • Azure Veri Gezgini'da sorguladığınız tablolar için görüntüleyici izinleri.

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') öğesine çevrilir adx('help.kusto.windows.net/Samples').

birleşim yerine işlecini kullandığınızdajoin, Azure Veri Gezgini kümesindeki verileri Log Analytics çalışma alanıyla birleştirmek için bir hint kullanmanız gerekir. Hint.remote={Direction of the Log Analytics Workspace} adresini kullanın.

Örneğin:

AzureDiagnostics
| join hint.remote=left adx("cluster=ClusterURI").AzureDiagnostics on (ColumnName)

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

Hizmetler arasındaki kiracılar arası sorgular desteklenmez. Her iki kaynağa da yayılan sorguyu çalıştırmak için tek bir kiracıda oturum açtı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ğlan

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

Deseni arg("") ve ardından Azure Kaynak Grafı tablo adını girin.

Örneğin:

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

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

  • Log Analytics sorgusunu Azure Kaynak Grafı sorgusunun sonuçlarına göre filtreleyin:

    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
    
  • Yalnızca ARG sorgusundan alınan belirli kaynaklara uygulanan bir uyarı kuralı oluşturun:

    • Etiketleri temel alan kaynakları dışlayın; örneğin, "Test" etiketine sahip VM'ler için uyarı tetiklememek.

      arg("").Resources
      | where tags.environment=~'Test'
      | project name 
      
    • CPU kullanımıyla ilgili performans verilerini alın ve "prod" etiketiyle kaynaklara filtreleyin.

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

Diğer kullanım örnekleri:

  • 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.
  • Belirli 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ızdan hizmetler arası sorguyu temel alan 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 başlığı altındaki adımları izleyin.

Not

Ayrıca, uyarınızın kapsamı olarak ilgili kaynağı seçerek Azure Veri Gezgini ve Azure Kaynak Grafı'dan Log Analytics çalışma alanına çapraz hizmet sorguları çalıştırabilirsiniz.

Sınırlamalar

Genel hizmetler arası sorgu sınırlamaları

  • Hizmetler arası sorgular, tanımı , , workspace()arg()resource(), ve gibi adx()diğer çalışma alanları arası veya hizmetler arası ifadeleri içeren parametreleştirilmiş işlevleri ve app()işlevleri desteklemez.
  • Hizmetler arası sorgular yalnızca ".show" işlevlerini destekler. 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. Hizmetler arası sorguda aşağıdaki komutlar desteklenir:
    • .show functions
    • .show function {FunctionName}
    • .show database {DatabaseName} schema as json
  • Veritabanı adları büyük/küçük harfe duyarlıdır.
  • Kümedeki Zaman Damgası sütununun tanımlanması desteklenmez. Log Analytics Sorgu API'si zaman filtresini geçmeyecek.
  • Hizmetler arası sorgular yalnızca veri almayı destekler.
  • Özel Bağlantı (özel uç noktalar) ve IP kısıtlamaları, hizmetler arası sorguları desteklemez.
  • mv-expand 2.000 kayıtla sınırlıdır.
  • 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 Kaynak Grafı hizmetler arası sorgu sınırlamaları

  • Microsoft Sentinel, Azure Kaynak Grafı için hizmetler arası sorguları desteklemez.
  • Azure İzleyici'den Azure Kaynak Grafı verilerini sorguladığınızda:
    • Sorgu yalnızca ilk 1.000 kaydı döndürü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.
    • Bu işleçler desteklenmez: smv-apply(), , , arg_max(), arg_min(), avg(), , avg_if(), , countif(), , percentilew()stdev()sumif()percentile()stdevp()variancep()percentiles()percentilesw()stdevif()variance(), . varianceif()rand()

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 işlecini kullandığınızdajoin, Azure Kaynak Grafı'daki verileri Log Analytics çalışma alanında bulunan 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"

Sonraki adımlar