Alat Python di Azure SRE Agent

Alat Python memperluas Azure SRE Agent Anda di luar kemampuan Azure bawaan. Buat alat kustom yang terhubung ke API internal, database lokal, platform multicloud, dan sistem kepemilikan dengan menggunakan kode Python. Jelaskan apa yang Anda butuhkan dalam bahasa Inggris biasa, tempelkan skrip yang ada, atau bungkus titik akhir HTTP, lalu uji dan sebarkan tanpa menghidupkan ulang.

Petunjuk

  • Perluas agen Anda untuk menjangkau sistem yang tidak memiliki dukungan bawaan.
  • Sambungkan ke API internal, database lokal, dan platform multicloud.
  • Mengodekan logika bisnis kustom, seperti perhitungan SLA, model biaya, dan aturan kepatuhan.

Masalahnya

Agen Anda memiliki alat bawaan yang kuat untuk Azure, termasuk kueri Kusto, Azure Monitor, dan operasi Azure Resource Manager. Tetapi organisasi Anda tidak hidup sepenuhnya di Azure:

  • Sistem internal: Database CMDB, sistem tiket kustom, dan API internal yang hanya digunakan organisasi Anda.
  • Multicloud: Dasbor Datadog, log Splunk, dan metrik AWS CloudWatch bersama Azure.
  • Infrastruktur warisan: Database lokal, protokol kepemilikan, dan sistem tanpa API modern.
  • Logika bisnis kustom: Perhitungan SLA khusus untuk kontrak, rumus alokasi biaya, dan model perencanaan kapasitas Anda.

Agen dapat mendiagnosis masalah Azure, tetapi tidak dapat menjangkau sistem internal Anda atau menerapkan logika unik organisasi Anda kecuali Anda memperluasnya.

Cara kerja alat Python

Alat Python memungkinkan Anda mengajarkan kemampuan baru agen Anda. Jelaskan apa yang Anda butuhkan, hasilkan kode, uji, dan sebarkan. Agen Anda kemudian dapat menjangkau sistem dan menerapkan logika yang tidak dimungkinkan sebelumnya.

Cuplikan layar dialog alat Python.

Kode yang dihasilkan mengikuti pola yang konsisten:

  • Fungsi main() yang menerima parameter yang ditik.
  • Nilai pengembalian yang dapat diserialisasi JSON.
  • Teks deskriptif yang menjelaskan logika.

Sebelum membuat alat, uji dengan input nyata di taman bermain. Masukkan nilai parameter, pilih Uji, dan lihat hasil aktual, bukan hanya validasi sintaks.

Cuplikan layar dari playground pengujian menunjukkan keberhasilan eksekusi dengan hasil perhitungan SLA.

Setelah Anda menguji alat, pilih Buat alat. Agen Anda dapat segera menggunakannya tanpa menghidupkan ulang dan tidak ada alur penyebaran.

Alat Python vs. konektor MCP

Untuk platform non-Microsoft, Anda memiliki dua opsi.

Pendekatan Paling cocok untuk Examples
Konektor MCP Platform populer dengan API standar Datadog, Splunk, ServiceNow, GitHub
Alat Python Sistem internal, logika kustom, platform tanpa MCP CMDB Anda, API eksklusif, perhitungan kustom

Gunakan konektor MCP saat konektor ada untuk platform Anda. MCP menyediakan skema terstruktur, manajemen autentikasi, dan perilaku yang konsisten.

Gunakan alat Python saat Anda perlu menjangkau sistem internal, mengodekan logika bisnis kustom, atau terhubung ke platform tanpa dukungan MCP.

Apa yang membuat ini berbeda

Tabel berikut membandingkan kemampuan agen dengan dan tanpa alat Python.

Tanpa alat Python Dengan alat Python
Agen hanya dapat menggunakan kemampuan bawaan Agent mencapai sistem apa pun yang dapat dieksekusi oleh Python
API internal memerlukan alur kerja terpisah Sistem internal berfungsi sebagai alat bagi agen
Logika kustom berada di skrip eksternal Aturan bisnis berlangsung di dalam percakapan agen
Sistem lokal terputus dari agen Lingkungan hibrid dapat diakses sepenuhnya

Alat Python mengubah agen Anda dari asisten asli Azure menjadi platform yang dapat diperluas yang berfungsi dengan seluruh infrastruktur Anda.

Sebelum dan sesudah

Sebelumnya Sesudah
CMDB kami di tempat, agen tidak dapat mengaksesnya. Alat Python yang mengakses jaringan untuk menanyakan sistem internal
"Kami memiliki rumus SLA kustom yang tidak ada yang otomatis" Mengkodekan rumus Anda menjadi alat; agen menerapkannya secara otomatis.
"Laporan kepatuhan memerlukan pemformatan PDF tertentu" Membuat laporan dengan ReportLab, dilayani melalui agen

Prasyarat

  • Akses pengembang ke Azure SRE Agent.
  • Untuk titik akhir HTTP: URL dan kredensial autentikasi untuk sistem target Anda.

Membuat alat Python

Anda dapat membuat alat Python dengan menggunakan tiga pendekatan.

Pendekatan Anda menyediakan Agen melakukan Paling cocok untuk
Menjelaskan dalam bahasa Inggris biasa "Hitung SLA dari waktu aktif dan waktu henti" Menghasilkan kode Python lengkap Logika kustom cepat, tidak diperlukan pengkodean
Tempelkan kode yang ada Fungsi Python Anda Membungkusnya sebagai alat Memigrasikan skrip yang ada, logika kompleks
Memanggil titik akhir HTTP URL endpoint dan autentikasi Memanggil API Anda melalui HTTP Azure Functions, Lambda, API internal, webhooks

Opsi 1: Biarkan AI menulis kode

Jelaskan apa yang Anda butuhkan dalam dialog dan pilih Hasilkan. AI membuat fungsi Python yang berfungsi dengan parameter yang ditik, penanganan kesalahan, dan dokumen.

Anda menjelaskan: "Hitung kepatuhan SLA dari menit waktu aktif dan waktu henti, kembalikan hasil apakah memenuhi ambang batas 99,9%"

Agen menghasilkan: Fungsi lengkap main() siap diuji dan dideploy.

Opsi 2: Bawa kode Anda sendiri

Tempelkan Python yang ada ke tab Kode . Fungsi harus mengikuti pola ini:

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

Opsi 3: Memanggil titik akhir HTTP

Bungkus titik akhir HTTP apa pun (Azure Functions, AWS Lambda, API internal, atau webhook) sebagai alat Python:

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()

Nota

Alat Python memiliki akses jaringan keluar. Anda dapat memanggil titik akhir HTTP apa pun yang diizinkan jaringan Anda. Untuk titik akhir yang diautentikasi, sertakan kunci API atau token di header atau parameter kueri.

Contoh skenario

Contoh berikut menunjukkan kasus penggunaan umum untuk alat Python.

Kueri CMDB internal:

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()

Perhitungan SLA kustom:

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}

Pembuatan laporan kepatuhan:

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"}

Memverifikasi bahwa alat Anda berfungsi

Setelah Anda membuat alat, uji di obrolan baru:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Agen Anda harus mengenali bahwa tugas cocok dengan alat Anda dan memanggilnya secara otomatis.

Lingkungan eksekusi

Tabel berikut ini menjelaskan lingkungan eksekusi untuk alat Python.

Harta benda Nilai
Timeout 5 hingga 900 detik (default: 120)
Isolasi Kontainer baru setiap eksekusi
Sistem berkas /mnt/data untuk file sementara
Network Konektivitas keluar diaktifkan
Paket 700+ yang telah diinstal sebelumnya (panda, permintaan, azure-identity, reportlab, dan lainnya)
Status Tidak ada persistensi antar panggilan

Autentikasi untuk sumber daya Azure

Alat Python dapat mengautentikasi ke sumber daya Azure dengan menggunakan identitas terkelola dengan cakupan yang telah ditetapkan sebelumnya.

Ruang lingkup Akses
ARM Azure Resource Manager (management.azure.com)
Key Vault Rahasia, kunci, sertifikat (vault.azure.net)
Penyimpanan Blob, antrian, penyimpanan tabel (storage.azure.com)

Aktifkan autentikasi di tab Identitas saat Anda membuat alat.

Keterbatasan

  • Tidak ada status persisten: Setiap eksekusi dimulai dengan segar. Simpan hasil secara eksternal jika diperlukan.
  • Batas waktu maksimum: 900 detik (15 menit) untuk operasi jangka panjang.
  • Tidak ada GPU: Lingkungan eksekusi khusus CPU.
  • Output JSON diperlukan: Nilai pengembalian harus dapat diserialisasikan JSON.
Kemampuan Apa yang ditambahkannya
Gambaran umum alat Semua jenis alat yang dapat digunakan agen Anda
Konektor Integrasi bawaan untuk platform umum