Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
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.
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.
Konten terkait
| Kemampuan | Apa yang ditambahkannya |
|---|---|
| Gambaran umum alat | Semua jenis alat yang dapat digunakan agen Anda |
| Konektor | Integrasi bawaan untuk platform umum |