Öğretici: Azure SRE Aracısı'nda Kusto aracı oluşturma

Bu öğreticide, belirleyici, yinelenebilir sonuçlarla tam KQL sorguları çalıştıran parametreli bir Kusto aracı oluşturacaksınız. Kullanıcılar "son yedi günün hatalarını göster" gibi sorular sorduğunda, aracı parametreyi değiştirir ve tam sorgunuzu Azure Veri Gezgini veritabanınızda yürütür.

Bu eğitimde şunları öğreniyorsunuz:

  • Agent Canvas'ta bir Kusto aracı oluşturun
  • Parametreli KQL sorgusu tanımlama
  • Portalda sorguyu test edin
  • Aracı özel bir araca bağlayın ve oyun alanında doğrulayın.

Tahmini süre: 15 dakika

Önkoşullar

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:

  • Aracının yönetilen kimliğine Verilen AllDatabasesViewer rolüne sahip bir Azure Veri Gezgini kümesi. Daha fazla bilgi için Kusto araçları önkoşulları bölümüne bakın.
  • Kusto bağlayıcısı yapılandırıldı. Daha fazla bilgi için bkz. Kusto bağlayıcısı ayarlama.
  • Azure SRE Aracısı portalında Builder'a erişim.

Araçları oluşturup yönetmek için Agent Canvas'ı açın.

  1. SRE Aracısı portalını açın.
  2. Temsilcinizi seçin.
  3. Sol gezinti bölmesinde Oluşturucu'ya tıklayın.
  4. Aracı Tuvali'ne tıklayın.

Özel ajan kartlarıyla tuval görünümünü gösteren Ajan Tuvali'nin ekran görüntüsü.

Araç oluşturma formunu açma

Araç çubuğundan araç oluşturma işlemini başlatın.

  1. Araç çubuğunun üst kısmındaki açılır listeden Oluştur'u seçin.
  2. Araç>Kusto aracı'nı seçin.

Kusto aracı seçeneğiyle Araç alt menüsünü gösteren Oluştur menüsünün ekran görüntüsü.

Araç ayrıntılarını doldurma

Formu araç yapılandırmanızla doldurun.

Alan Değer Açıklama
Araç adı QueryAppLogs Ajanın bu aracı nasıl referans aldığı.
Açıklama "Belirtilen zaman aralığındaki hatalar için AppLogs tablosunu sorgula" Temsilcinin bu aracı ne zaman kullanması gerektiğinde.
Bağlayıcısı (Kusto bağlayıcınızı seçin) Kullanılacak Azure Veri Gezgini bağlantısı.
Veritabanı (bağlayıcı URL'sinden otomatik doldurulur) Veritabanınızın adı.
Sorgu Aşağıdaki örneğe bakın. Parametreleri olan KQL sorgunuz.

Aşağıdaki örnek sorguyu girin:

AppLogs
| where Timestamp > ago(##timeRange##)
| where Level == "Error"
| order by Timestamp desc
| take 10

##timeRange## sözdizimi bir parametre tanımlar. Birisi "son 24 saatteki hataları göster" sorusunu sorduğunda timeRange = 24h ajan tamamlar.

Sorgu ve parametre doldurulmuş Kusto araç formunun ekran görüntüsü.

Parametresini ekleme

Sorgunuzun kullandığı parametreyi tanımlayın.

  1. Parametreler bölümüne kaydırın.
  2. Parametre ekle'yi seçin.
  3. Aşağıdaki değerleri girin:
    • İsim: timeRange
    • Tür: Karakter Dizisi
    • Açıklama: "Ne kadar süre geriye bakılacağını belirlemek için (örneğin, 1s, 24s, 7g)"

parametresi sorgunuzun altındaki Parametreler tablosunda görüntülenir.

Sorguyu test edin

Kaydetmeden önce sorgunun başarıyla çalıştığını doğrulayın.

  1. Formun alt kısmındaki Test'i seçin.
  2. için timeRange bir test değeri girin (örneğin, 7d).
  3. Sorgunun başarıyla yürütüldüğünden emin olun.

Yürütme süresini ve başarı durumunu gösteren araç testinin ekran görüntüsü.

Yürütme süresini ve sorgunun çalıştığını onaylayan yeşil bir onay işareti görürsünüz. Sorgu sıfır satır döndürse bile, onay işareti sorgu söz diziminin geçerli olduğu anlamına gelir.

Aracı oluştur

Kusto aracınızı kaydetmek için Oluştur'u seçin.

Aracın başarıyla oluşturulduğunu belirten onayın ekran görüntüsü.

Aracı özel bir ajana ekleme

Aracınızı oluşturdunuz ancak özel bir aracıya eklemediniz. Aracı kullanabilmesi için aracı ekleyin.

  1. Tuval görünümünde özel aracınızı bulun.
  2. Özel aracı kartının sağ tarafındaki + düğmesine tıklayın.
  3. Var olan araçları ekle'yi seçin.
  4. Kusto aracınızı listeden denetleyin.
  5. Araç ekle'yi seçin.

Sağ tarafta ekle düğmesi bulunan özel aracı kartını gösteren tuval görünümünün ekran görüntüsü.

Özel temsilci kartınıza araç eklediğinizde araç sayısı artar.

Oyun alanında aracı doğrula

Aracının Kusto aracını doğru bir şekilde çağırdığını test edin.

  1. Sol gezinti bölmesinde Test Oyun Alanı'nı seçin.
  2. Açılan listeden özel aracınızı seçin.
  3. Şunu sorun: "Son yedi günün hatalarını göster"
  4. Aracınız timeRange = 7d ile aracı çağırır.

AppLogs tablosundan hata girişleri içeren Kusto sorgu sonuçlarını gösteren test oyun alanının ekran görüntüsü.

Temsilcinin Kusto aracınızı çağırıp sorgu sonuçlarını getirdiğini görmeniz gerekir. Tam olarak yazdığınız sorgu kümenizde çalıştırılacaktır.

Parametre söz dizimi

Sorgularınızdaki parametre yer tutucularını işaretlemek için ##parameterName## veya $parameterName kullanın.

query: |-
  AppExceptions
  | where TimeGenerated > ago(##timeRange##)
  | where ServiceName == "$serviceName"

Her iki söz dizimi de aynı şekilde çalışır. Aracı, çalışma sırasında değerleri değiştirir.

Yürütme modları

Aşağıdaki tabloda Kusto araçları için kullanılabilir yürütme modları açıklanmaktadır.

Modu Şu durumlarda kullanın:
Query YAML'de satır içi sorguyu tanımlayın (en yaygın).
Function Sorgu mantığını Azure Veri Gezgini kümesinde işlev olarak depolayın.
Script Sorguyu bir dış .kql dosyaya yerleştirin.
# Function mode example
spec:
  type: KustoTool
  mode: Function
  function: GetRecentErrors

# Script mode example
spec:
  type: KustoTool
  mode: Script
  file: queries/complex-analysis.kql

Örnek: Dağıtım ilişkilendirme aracı

Aşağıdaki YAML tanımı, dağıtımları belirtilen hizmet ve zaman aralığıyla ilişkilendiren bir Kusto aracı oluşturur.

api_version: azuresre.ai/v2
kind: ExtendedAgentTool
metadata:
  name: get-recent-deployments
spec:
  type: KustoTool
  connector: devops-logs
  mode: Query
  database: deployments
  description: "Get deployments in a time range for a service"
  toolMode: Auto
  query: |-
    Deployments
    | where TimeGenerated > ago(##timeRange##)
    | where ServiceName == "##serviceName##"
    | project TimeGenerated, Version, DeployedBy, Environment
    | order by TimeGenerated desc
  parameters:
    - name: serviceName
      type: string
      description: "Name of the service"
    - name: timeRange
      type: string
      description: "How far back to look (e.g., 1h, 24h)"

Aracı düzenleme veya silme

Oluşturma işleminden sonra araçları değiştirebilir veya kaldırabilirsiniz.

Edit

  1. Aracı Tuvali'nde araç düğümünü seçerek bilgi panelini açın.
  2. Panel üst bilgisinde düzenle (kalem) simgesini seçin.
  3. Düzenle iletişim kutusu, geçerli ayarlarınızla birlikte açılır. Sorguyu, parametreleri veya bağlayıcıyı değiştirin.
  4. Kaydetseçeneğini seçin.

Delete

  1. Bilgi panelini açmak için araç düğümünü seçin.
  2. Panel üst bilgisinde (diğer eylemler) menüsünü seçin.
  3. Silme Aracı'nı seçin.
  4. silme işlemini iletişim kutusunda onaylayın.

Uyarı

Bir aracı sildiğinizde, aracıyı kullanan özel aracılardan hemen kaldırırsınız.

Sonraki adım