Nástroje Pythonu v agentovi Azure SRE

Nástroje Python rozšiřují agenta Azure SRE nad rámec integrovaných funkcí Azure. Pomocí kódu Pythonu můžete vytvářet vlastní nástroje, které se připojují k interním rozhraním API, místním databázím, multicloudovým platformám a proprietárním systémům. Popište, co potřebujete v prosté angličtině, vložte existující skripty nebo zabalte koncové body HTTP a pak otestujte a nasaďte bez restartování.

Návod

  • Rozšiřte agenta tak, aby se dostal do systémů, pro které nemá integrovanou podporu.
  • Připojte se k interním rozhraním API, místním databázím a multicloudovým platformám.
  • Zakódujte vlastní obchodní logiku, jako jsou výpočty SLA, nákladové modely a pravidla dodržování předpisů.

Problém

Váš agent má výkonné integrované nástroje pro Azure, včetně dotazů Kusto, Azure Monitoru a operací Azure Resource Manageru. Vaše organizace ale v Azure nežije úplně:

  • Interní systémy: databáze CMDB, vlastní systémy lístků a interní rozhraní API, která používá jenom vaše organizace.
  • Multicloud: řídicí panely Datadog, protokoly Splunk a metriky z AWS CloudWatch a Azure.
  • Starší infrastruktura: Místní databáze, proprietární protokoly a systémy bez moderních rozhraní API.
  • Vlastní obchodní logika: Výpočty SLA specifické pro vaše kontrakty, vzorce přidělování nákladů a modely plánování kapacity.

Agent může diagnostikovat problémy s Azure, ale nemůže se spojit s interními systémy nebo použít jedinečnou logiku vaší organizace, pokud ji nerozšiřujete.

Jak nástroje Pythonu fungují

Nástroje Pythonu umožňují naučit agenta nové funkce. Popište, co potřebujete, vygenerujte kód, otestujte ho a nasaďte ho. Váš agent se pak může spojit se systémy a použít logiku, která ještě nebyla možná.

Snímek obrazovky s dialogovým oknem nástroje Python

Vygenerovaný kód se řídí konzistentním vzorem:

  • Funkce main() , která přijímá zadané parametry.
  • Návratové hodnoty serializovatelné ve formátu JSON
  • Popisný text, který vysvětluje logiku.

Před vytvořením nástroje ho otestujte skutečnými vstupy v dětském hřišti. Zadejte hodnoty parametrů, vyberte Test a zobrazte skutečné výsledky, nejen ověření syntaxe.

Snímek obrazovky testovacího prostředí znázorňující úspěšné spuštění s výsledkem výpočtu SLA

Po otestování nástroje vyberte Vytvořit nástroj. Váš agent ho může okamžitě používat bez restartování a bez potřeby nasazovacího kanálu.

Nástroje Pythonu vs. konektory MCP

Pro jiné platformy než Microsoft máte dvě možnosti.

Přístup Nejvhodnější pro Příklady
Konektory MCP Oblíbené platformy se standardními rozhraními API Datadog, Splunk, ServiceNow, GitHub
Nástroje Pythonu Interní systémy, vlastní logika, platformy bez MCP Vaše CMDB, proprietární rozhraní API, vlastní výpočty

Konektory MCP použijte, pokud existuje konektor pro vaši platformu. MCP poskytuje strukturovaná schémata, správu ověřování a konzistentní chování.

Nástroje Pythonu použijte, když potřebujete spojit se s interními systémy, zakódovat vlastní obchodní logiku nebo se připojit k platformám bez podpory MCP.

Co to dělá jinak

Následující tabulka porovnává možnosti agentů s nástroji Pythonu a bez těchto nástrojů.

Bez nástrojů Pythonu S nástroji Pythonu
Agent může používat jenom integrované funkce. Agent může komunikovat s jakýmkoli systémem, který Python může oslovit
Interní rozhraní API vyžadují samostatné pracovní postupy. Interní systémy se stanou nástroji agenta.
Vlastní logika se nachází v externích skriptech. Obchodní pravidla se provádějí v konverzacích agentů.
Místní systémy jsou odpojené od agenta. Hybridní prostředí jsou plně přístupná

Nástroje Pythonu mění agenta z pomocníka nativního pro Azure na rozšiřitelnou platformu, která funguje s celou infrastrukturou.

Před a po

před Po
Naše CMDB je na místě, agent ji nevidí. Nástroj Python s přístupem k síti dotazuje interní systémy
Máme vlastní vzorce SLA, které ještě nikdo neautomatizoval. Zakódujte své vzorce jako nástroj; agent je automaticky aplikuje.
"Sestavy dodržování předpisů vyžadují specifické formátování PDF" Generování sestav pomocí ReportLabu obsluhovaného prostřednictvím agenta

Předpoklady

  • Přístup tvůrce k agentovi Azure SRE.
  • Pro koncové body HTTP: adresa URL a přihlašovací údaje pro ověřování pro vaše cílové systémy.

Vytvoření nástroje Pythonu

Nástroje Pythonu můžete vytvářet pomocí tří přístupů.

Přístup Zadáte Agent provádí Nejvhodnější pro
Popis v prosté angličtině "Vypočítejte SLA z doby provozu a výpadku" Vygeneruje kompletní kód Pythonu. Rychlá vlastní logika bez nutnosti psaní kódu
Vložení existujícího kódu Funkce Pythonu Zabalí ho jako nástroj. Migrace existujících skriptů, složitá logika
Volání koncových bodů HTTP Adresa URL a ověřování koncového bodu Volání rozhraní API přes HTTP Azure Functions, Lambda, interní rozhraní API, webhooky

Možnost 1: Nechte AI psát kód

Popište, co potřebujete v dialogovém okně, a vyberte Generovat. AI vytvoří funkční funkci Pythonu s zadanými parametry, zpracováním chyb a dokumentací.

Popíšete: "Vypočítejte plnění SLA z minut provozu a prostojů a určete, zda splňuje prahovou hodnotu 99,9%"

Agent vygeneruje: Úplná main() funkce připravená k otestování a nasazení

Možnost 2: Používání vlastního kódu

Vložte existující Python na kartu Kód . Funkce musí dodržovat tento vzor:

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

Možnost 3: Volání koncových bodů HTTP

Zabalte libovolný koncový bod HTTP (Azure Functions, AWS Lambda, interní rozhraní API nebo webhooky) jako nástroj Pythonu:

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

Poznámka:

Nástroje Pythonu mají odchozí síťový přístup. Můžete volat libovolný koncový bod HTTP, který vaše síť umožňuje. Pro ověřené koncové body zahrňte klíče rozhraní API nebo tokeny do hlaviček nebo parametrů dotazu.

Ukázkové scénáře

Následující příklady ukazují běžné případy použití nástrojů Pythonu.

Interní dotaz CMDB:

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

Výpočet vlastního SLA:

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}

Generování sestav dodržování předpisů:

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

Ověření fungování nástroje

Po vytvoření nástroje ho otestujte v novém chatu:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Váš agent by měl rozpoznat, že úloha odpovídá vašemu nástroji, a spustit ji automaticky.

Spouštěcí prostředí

Následující tabulka popisuje spouštěcí prostředí pro nástroje Pythonu.

Vlastnictví Hodnota
Přerušení zápasu 5 až 900 sekund (výchozí hodnota: 120)
Izolace Nový kontejner pro každé spuštění
Systém souborů /mnt/data pro dočasné soubory
Network Povolené odchozí připojení
Balíky 700 a více předinstalovaných aplikací (pandas, requests, azure-identity, reportlab a další)
Kraj Žádná trvalost mezi voláními

Ověřování pro prostředky Azure

Nástroje Pythonu se můžou ověřit v prostředcích Azure pomocí spravované identity s přednastavenými obory.

Scope Přístup
ARM Azure Resource Manager (management.azure.com)
Úložiště klíčů Tajné kódy, klíče, certifikáty (vault.azure.net)
Úložiště Úložiště blobů, front a tabulek (storage.azure.com)

Povolte ověřování na kartě Identita při vytváření nástroje.

Omezení

  • Žádný trvalý stav: Každé spuštění začíná znovu. V případě potřeby uložte výsledky externě.
  • Maximální časový limit: 900 sekund (15 minut) pro dlouhotrvající operace.
  • Bez GPU: Spouštěcí prostředí jen pro procesor.
  • Povinný výstup JSON: Návratové hodnoty musí být serializovatelné ve formátu JSON.
Schopnost Co přidává
Přehled nástrojů Všechny typy nástrojů, které může váš agent používat
Konektory Integrované integrace pro běžné platformy