Azure SRE Aracısı'nda Python araçları

Python araçları, Azure SRE Aracınızı yerleşik Azure özelliklerinin ötesine genişletir. Python kodunu kullanarak iç API'lere, şirket içi veritabanlarına, çoklu bulut platformlarına ve özel sistemlere bağlanan özel araçlar oluşturun. İhtiyacınız olanları düz İngilizce olarak açıklayın, var olan betikleri yapıştırın veya HTTP uç noktalarını sarmalayın, ardından yeniden başlatma olmadan test edin ve dağıtın.

Tip

  • Yerleşik desteği olmayan sistemlere ulaşmak için aracınızı genişletin.
  • İç API'lere, şirket içi veritabanlarına ve çoklu bulut platformlarına bağlanın.
  • SLA hesaplamaları, maliyet modelleri ve uyumluluk kuralları gibi özel iş mantığını kodlama.

Sorun

Aracınız Kusto sorguları, Azure İzleyici ve Azure Resource Manager işlemleri dahil olmak üzere Azure için güçlü yerleşik araçlara sahiptir. Ancak kuruluşunuz tamamen Azure'da yaşamıyor:

  • İç sistemler: CMDB veritabanları, özel bilet sistemleri ve yalnızca kuruluşunuzun kullandığı iç API'ler.
  • Çoklu bulut: Azure ile birlikte Datadog panoları, Splunk günlükleri ve AWS CloudWatch ölçümleri.
  • Eski altyapı: Şirket içi veritabanları, özel protokoller ve modern API'leri olmayan sistemler.
  • Özel iş mantığı: Sözleşmelerinize, maliyet ayırma formüllerinize ve kapasite planlama modellerinize özgü SLA hesaplamaları.

Aracı Azure sorunlarını tanılayabilir, ancak siz genişletmediğiniz sürece iç sistemlerinize ulaşamaz veya kuruluşunuzun benzersiz mantığını uygulayamaz.

Python araçları nasıl çalışır?

Python araçları, aracınıza yeni özellikleri öğretmenize olanak sağlar. Neye ihtiyacınız olduğunu açıklayın, kodu oluşturun, test edin ve dağıtın. Ajanınız daha sonra sistemlere ulaşabilir ve önceden mümkün olmayan bir mantığı uygulayabilir.

Python aracı iletişim kutusunun ekran görüntüsü.

Oluşturulan kod tutarlı bir desen izler:

  • main() Yazılan parametreleri kabul eden bir işlev.
  • JSON serileştirilebilir dönüş değerleri.
  • Mantığı açıklayan açıklayıcı metin.

Aracı oluşturmadan önce oyun alanında gerçek girişlerle test edin. Parametre değerlerini girin, Test'i seçin ve yalnızca söz dizimi doğrulamayı değil gerçek sonuçları görün.

SLA hesaplama sonucuyla başarılı yürütmeyi gösteren test oyun alanının ekran görüntüsü.

Aracı test ettikten sonra Araç oluştur'u seçin. Ajanınız, yeniden başlatma ve dağıtım kanalı olmadan hemen kullanıma hazırdır.

Python araçları ve MCP bağlayıcıları karşılaştırması

Microsoft dışı platformlar için iki seçeneğiniz vardır.

Yaklaşım En iyi kullanım alanı: Örnekler
MCP bağlayıcıları Standart API'lere sahip popüler platformlar Datadog, Splunk, ServiceNow, GitHub
Python araçları İç sistemler, özel mantık, MCP içermeyen platformlar CMDB'niz, özel API'leriniz, özel hesaplamalarınız

Platformunuz için bir bağlayıcı mevcut olduğunda MCP bağlayıcılarını kullanın. MCP yapılandırılmış şemalar, kimlik doğrulama yönetimi ve tutarlı davranış sağlar.

İç sistemlere ulaşmanız, özel iş mantığını kodlamanız veya MCP desteği olmadan platformlara bağlanmanız gerektiğinde Python araçlarını kullanın.

Bunu farklı kılan nedir?

Aşağıdaki tabloda aracı özellikleri Python araçlarıyla ve Python araçları olmadan karşılaştırılmıştır.

Python araçları olmadan Python araçlarıyla
Aracı yalnızca yerleşik özellikleri kullanabilir Aracı Python'ın çağırabileceği herhangi bir sisteme ulaşır
İç API'ler ayrı iş akışları gerektirir İç sistemler aracı araçlarına dönüşür
Özel mantık harici betiklerde yer alır İş kuralları aracı konuşmaları içinde yürütülür
Şirket içi sistemlerin aracıyla bağlantısı kesildi Karma ortamlar tamamen erişilebilir

Python araçları, aracınızı Azure'a özel bir yardımcıdan altyapınızın tamamıyla çalışan genişletilebilir bir platforma dönüştürebilir.

Önce ve sonra

Önce Sonra
CMDB'miz yerel sunucuda, yazılım ajanı bunu göremiyor. İç sistemlerde ağ erişim sorguları içeren Python aracı
"Kimsenin otomatikleştirilmiş olmadığı özel SLA formüllerimiz var" Formüllerinizi bir araç olarak kodlar; aracı bunları otomatik olarak uygular
Uyumluluk raporları belirli bir PDF biçimlendirmesine sahip olmalıdır. "ReportLab ile raporlar oluşturup ajan üzerinden sunma"

Önkoşullar

  • Azure SRE Aracısı'na oluşturucu erişimi.
  • HTTP uç noktaları için: Hedef sistemleriniz için URL ve kimlik doğrulama bilgileri.

Python aracı oluşturma

Üç yaklaşım kullanarak Python araçları oluşturabilirsiniz.

Yaklaşım Siz sağlarsınız Temsilci yapar En iyi kullanım alanı:
Düz İngilizce açıklayın "Çalışma süresi ve kapalı kalma süresinden SLA hesaplama" Tam Python kodu oluşturur Hızlı özel mantık, kodlama gerekmez
Var olan kodu yapıştırma Python işleviniz Araç olarak sarmalar Mevcut betiklerin aktarılması, karmaşık mantık
HTTP uç noktalarını çağırma Uç nokta URL'si ve kimlik doğrulaması API'nizi HTTP aracılığıyla çağırır Azure İşlevleri, Lambda, iç API'ler, web kancaları

1. Seçenek: Yapay zekanın kodu yazmasına izin ver

İletişim kutusunda neye ihtiyacınız olduğunu açıklayın ve Oluştur'a tıklayın. Yapay zeka, yazılan parametreler, hata işleme ve belgelerle çalışan bir Python işlevi oluşturur.

Şunu açıklarsınız: "Çalışma süresi ve kapalı kalma süresi dakikalarından SLA uyumluluğunu hesaplayın, 99,9% eşiğine uyup uymadığını döndür"

Aracı oluşturur: Test etmeye ve dağıtmaya hazır eksiksiz bir main() fonksiyon.

2. Seçenek: Kendi kodunuzu getirin

Mevcut Python'ı Kod sekmesine yapıştırın. İşlev şu deseni izlemelidir:

def main(param1: str, param2: int) -> dict:
    # Your logic here
    return {"result": "value"}

3. Seçenek: HTTP uç noktalarını çağırma

Herhangi bir HTTP uç noktasını (Azure İşlevleri, AWS Lambda, iç API'ler veya web kancaları) Python aracı olarak sarmalayın:

def main(input_data: str) -> dict:
    import requests

    # Azure Function with function key
    response = requests.post(
        "https://<FUNCTION_APP_NAME>.azurewebsites.net/api/<ENDPOINT>?code=<FUNCTION_KEY>",
        json={"data": input_data}
    )

    # Or internal API with bearer token
    # response = requests.get(
    #     "https://internal-api.corp/resource",
    #     headers={"Authorization": "Bearer <API_TOKEN>"}
    # )

    return response.json()

Uyarı

Python araçlarının giden ağ erişimi vardır. Ağınızın izin verdiği herhangi bir HTTP uç noktasını çağırabilirsiniz. Kimliği doğrulanmış uç noktalar için üst bilgiler veya sorgu parametrelerine API anahtarlarını veya belirteçleri ekleyin.

Örnek senaryolar

Aşağıdaki örneklerde Python araçları için yaygın kullanım örnekleri gösterilmiştir.

İç CMDB sorgusu:

def main(server_name: str) -> dict:
    """Query internal CMDB for server configuration."""
    import requests
    response = requests.get(f"https://cmdb.internal.corp/api/servers/{server_name}")
    return response.json()

Özel SLA hesaplaması:

def main(uptime_minutes: int, downtime_minutes: int) -> dict:
    """Calculate SLA using your organization's formula."""
    total = uptime_minutes + downtime_minutes
    sla = (uptime_minutes / total) * 100 if total > 0 else 100.0
    return {"sla_percent": round(sla, 4), "meets_target": sla >= 99.9}

Uyumluluk raporu oluşturma:

def main(incidents: list, month: str) -> dict:
    """Generate PDF compliance report."""
    from reportlab.platypus import SimpleDocTemplate
    doc = SimpleDocTemplate(f"/mnt/data/compliance-{month}.pdf")
    # Build report...
    return {"report_path": f"/api/files/compliance-{month}.pdf"}

Aracının çalıştığını doğrulama

Aracı oluşturduktan sonra yeni bir sohbette test edin:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Ajanınız, görevin aracınızla eşleştiğini fark etmeli ve onu otomatik olarak çağırmalıdır.

Yürütme ortamı

Aşağıdaki tabloda Python araçları için yürütme ortamı açıklanmaktadır.

Mülkiyet Değer
Timeout 5 - 900 saniye (varsayılan: 120)
Yalıtım Yürütme başına yeni kapsayıcı
Dosya sistemi /mnt/data geçici dosyalar için
Network Giden bağlantı etkin
Paketler Önceden yüklenmiş 700'den fazla (pandas, requests, azure-identity, reportlab ve daha fazlası)
State Aramalar arasında kalıcılık yok

Azure kaynakları için kimlik doğrulaması

Python araçları, önceden belirlenmiş kapsamlara sahip yönetilen kimliği kullanarak Azure kaynaklarında kimlik doğrulaması yapabilir.

Scope Access
ARM Azure Resource Manager (management.azure.com)
Key Vault Gizli bilgiler, anahtarlar, sertifikalar (vault.azure.net)
Depolama Blob, kuyruk ve tablo depolama (storage.azure.com)

Bir araç oluşturduğunuzda Kimlik sekmesinde kimlik doğrulamasını etkinleştirin.

Sınırlamalar

  • Kalıcı durum yok: Her yürütme yeni başlar. Gerekirse sonuçları harici olarak depolayın.
  • Uzun süre çalışan işlemler için maksimum zaman aşımı: 900 saniye (15 dakika).
  • GPU yok: Yalnızca CPU yürütme ortamı.
  • JSON çıkışı gerekli: Dönüş değerleri JSON serileştirilebilir olmalıdır.
Kapasite Eklenenler
Araçlara genel bakış Temsilcinizin kullanabileceği tüm araç türleri
Bağlayıcılar Ortak platformlar için yerleşik tümleştirmeler