Python-eszközök az Azure SRE-ügynökben

A Python-eszközök a beépített Azure-képességeken túl bővítik az Azure SRE-ügynököt. Hozzon létre egyéni eszközöket, amelyek Python-kóddal csatlakoznak a belső API-khoz, a helyszíni adatbázisokhoz, a többfelhős platformokhoz és a védett rendszerekhez. Írja le, hogy mire van szüksége egyszerű angol nyelven, illessze be a meglévő szkripteket, vagy csomagolja be a HTTP-végpontokat, majd indítsa újra a tesztelést és az üzembe helyezést.

Jótanács

  • Bővítse ki az ügynököt olyan rendszerek elérésére, amelyekhez nem rendelkezik beépített támogatással.
  • Csatlakozzon belső API-khoz, helyszíni adatbázisokhoz és többfelhős platformokhoz.
  • Egyéni üzleti logika kódolása, például SLA-számítások, költségmodellek és megfelelőségi szabályok.

A probléma

Az ügynök hatékony beépített eszközökkel rendelkezik az Azure-hoz, beleértve a Kusto-lekérdezéseket, az Azure Monitort és az Azure Resource Manager-műveleteket. A szervezet azonban nem teljes mértékben az Azure-ban él:

  • Belső rendszerek: CMDB-adatbázisok, egyéni jegykezelő rendszerek és belső API-k, amelyeket csak a szervezet használ.
  • Többfelhős: Datadog-irányítópultok, Splunk-naplók és AWS CloudWatch-metrikák az Azure mellett.
  • Örökölt infrastruktúra: Helyszíni adatbázisok, védett protokollok és modern API-k nélküli rendszerek.
  • Egyéni üzleti logika: A szerződésekre, a költségfelosztási képletekre és a kapacitástervezési modellekre vonatkozó SLA-számítások.

Az ügynök képes diagnosztizálni az Azure-problémákat, de nem tudja elérni a belső rendszereket, és nem alkalmazhatja a szervezet egyedi logikáját, hacsak nem terjeszti ki.

A Python-eszközök működése

A Python-eszközökkel új képességeket taníthat az ügynöknek. Írja le, mire van szüksége, hozza létre a kódot, tesztelje és telepítse. Az ügynök ezután elérheti a rendszereket, és olyan logikát alkalmazhat, amely korábban nem volt lehetséges.

Képernyőkép a Python-eszköz párbeszédpaneléről.

A létrehozott kód egységes mintát követ:

  • A main() beírt paramétereket elfogadó függvény.
  • JSON-szerializálható visszatérési értékek.
  • Leíró szöveg, amely elmagyarázza a logikát.

Az eszköz létrehozása előtt tesztelje valós bemenetekkel a játszótéren. Adja meg a paraméterértékeket, válassza a Tesztelés lehetőséget, és ne csak a szintaxisérvényesítést, hanem a tényleges eredményeket is lássa.

Képernyőkép a tesztjátszótérről, amelyen a sikeres végrehajtás látható az SLA számítási eredményével.

Az eszköz tesztelése után válassza az Eszköz létrehozása lehetőséget. Az ügynök azonnal használhatja újraindítás és üzembehelyezési folyamat nélkül.

Python-eszközök és MCP-összekötők

Nem Microsoft-platformok esetén két lehetőség közül választhat.

Megközelítés A következőkre alkalmas Examples
MCP-összekötők Népszerű platformok standard API-kkal Datadog, Splunk, ServiceNow, GitHub
Python-eszközök Belső rendszerek, egyéni logika, platformok MCP nélkül Az Ön CMDB-je, az Ön védett API-jai, az Ön egyéni számításai

Akkor használjon MCP-összekötőket, ha létezik összekötő a platformhoz. Az MCP strukturált sémákat, hitelesítéskezelést és konzisztens viselkedést biztosít.

A Python-eszközöket akkor használja, ha belső rendszereket kell elérnie, egyéni üzleti logikát kell kódolnia, vagy mcp-támogatás nélkül kell csatlakoznia a platformokhoz.

Miben különbözik ez a helyzet?

Az alábbi táblázat az ügynök képességeit hasonlítja össze Python-eszközökkel és anélkül.

Python-eszközök nélkül Python-eszközökkel
Az ügynök csak beépített képességeket használhat Az ügynök bármely olyan rendszerhez ér, amelyről a Python meghívható
A belső API-k külön munkafolyamatokat igényelnek A belső rendszerek ügynökeszközökké válnak
Az egyéni logika külső szkriptekben él Üzleti szabályok végrehajtása ügynökbeszélgetéseken belül
A helyszíni rendszerek leválasztva vannak az ügynökről A hibrid környezetek teljes mértékben elérhetők

A Python-eszközök az ügynököt natív Azure-asszisztensből bővíthető platformmá alakítják, amely a teljes infrastruktúrával működik.

Előtte és utána

Előtte Utána
"A CMDB helyszíni, az ügynök nem látja" Python-eszköz, amely hálózati hozzáféréssel rendelkezik, lekérdezi a belső rendszereket.
"Vannak egyéni SLA-képletek, amelyeket senki sem automatizált" A képletek kódolása eszközként; az ügynök automatikusan alkalmazza őket
"A megfelelőségi jelentéseknek speciális PDF-formázásra van szükségük" Jelentések létrehozása a ReportLab használatával, az ügynökön keresztül

Előfeltételek

  • Fejlesztő hozzáférés egy Azure SRE ügynökhöz.
  • HTTP-végpontok esetén: a célrendszerek URL-címe és hitelesítési hitelesítő adatai.

Python-eszköz létrehozása

Python-eszközöket három megközelítéssel hozhat létre.

Megközelítés Ön biztosítja Az ügynök A következőkre alkalmas
Egyszerű angol nyelvű leírás "SLA kiszámítása üzemidőből és állásidőből" Teljes Python-kód létrehozása Gyors egyéni logika, nincs szükség kódolásra
Meglévő kód beillesztése A Python függvény Eszközként csomagolva Meglévő szkriptek migrálása összetett logikával
HTTP-végpontok meghívása Végpont URL-címe és hitelesítése Meghívja az API-t HTTP-n keresztül Azure Functions, Lambda, belső API-k, webhookok

1. lehetőség: A kód írása az AI-ben

Írja le, mire van szüksége a párbeszédpanelen, és válassza a Létrehozás lehetőséget. Az AI létrehoz egy működő Python-függvényt gépelt paraméterekkel, hibakezeléssel és dokumentumokkal.

A következőt írja le: "SLA-megfelelőség kiszámítása üzemidőből és állásidőből, adja vissza, hogy az megfelel-e a 99,9-% küszöbértéknek"

Az ügynök a következőt hozza létre: Egy teljes main() függvény, amely készen áll a tesztelésre és üzembe helyezésre.

2. lehetőség: Saját kód használata

Illessze be a meglévő Pythont a Kód lapra. A függvénynek a következő mintát kell követnie:

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

3. lehetőség: HTTP-végpontok meghívása

Bármely HTTP-végpont (Azure Functions, AWS Lambda, belső API-k vagy webhookok) burkolása Python-eszközként:

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

Megjegyzés:

A Python-eszközök kimenő hálózati hozzáféréssel rendelkeznek. A hálózat által engedélyezett HTTP-végpontokat meghívhatja. Hitelesített végpontok esetén api-kulcsokat vagy jogkivonatokat kell tartalmaznia a fejlécekben vagy a lekérdezési paraméterekben.

Példaforgatókönyvek

Az alábbi példák a Python-eszközök gyakori használati eseteit mutatják be.

Belső CMDB-lekérdezés:

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

Egyéni SLA-számítás:

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}

Megfelelőségi jelentés létrehozása:

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

Az eszköz működésének ellenőrzése

Az eszköz létrehozása után tesztelje azt egy új csevegésben:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Az ügynöknek fel kell ismernie, hogy a feladat illeszkedik az eszközhöz, és automatikusan elindítja azt.

Végrehajtási környezet

Az alábbi táblázat a Python-eszközök végrehajtási környezetét ismerteti.

Ingatlan Érték
Időkorlát 5–900 másodperc (alapértelmezett: 120)
Izoláció Friss tároló végrehajtásonként
Fájlrendszer /mnt/data ideiglenes fájlok esetén
Network A kimenő kapcsolat engedélyezve van
Csomagok 700 vagy több előre telepített (pandas, requests, azure-identity, reportlab és mások)
State Nincs tartósság a hívások között

Hitelesítés Azure-erőforrásokhoz

A Python-eszközök az Előre beállított hatókörökkel rendelkező felügyelt identitással hitelesíthetők az Azure-erőforrásokban.

Scope Hozzáférés
ARM Azure Resource Manager (management.azure.com)
Key Vault (kulcstároló) Titkos kulcsok, kulcsok, tanúsítványok (vault.azure.net)
Raktározás Blob, üzenetsor, táblatároló (storage.azure.com)

Eszköz létrehozásakor engedélyezze a hitelesítést az Identitás lapon.

Korlátozások

  • Nincs állandó állapot: Minden végrehajtás újraindul. Szükség esetén külsőleg tárolja az eredményeket.
  • Időtúllépési maximum: 900 másodperc (15 perc) hosszú ideig futó műveletek esetén.
  • Nincs GPU: csak processzoralapú végrehajtási környezet.
  • JSON-kimenet szükséges: A visszatérési értékeknek JSON-szerializálhatónak kell lenniük.
Képesség Mit ad hozzá?
Eszközök áttekintése Az ügynök által használható összes eszköztípus
Csatlakozók Beépített integrációk a közös platformokhoz