Delen via


Python-hulpprogramma's in Azure SRE-agent

Python-hulpprogramma's breiden uw Azure SRE-agent uit buiten de ingebouwde Azure-mogelijkheden. Maak aangepaste hulpprogramma's die verbinding maken met interne API's, on-premises databases, platformen met meerdere clouds en eigen systemen met behulp van Python-code. Beschrijf wat u in het Engels nodig hebt, plak bestaande scripts of verpakte HTTP-eindpunten, test en implementeer deze zonder opnieuw op te starten.

Aanbeveling

  • Breid uw agent uit om systemen te bereiken waarvoor deze geen ingebouwde ondersteuning heeft.
  • Maak verbinding met interne API's, on-premises databases en platformen met meerdere clouds.
  • Aangepaste bedrijfslogica coderen, zoals SLA-berekeningen, kostenmodellen en nalevingsregels.

Het probleem

Uw agent heeft krachtige ingebouwde hulpprogramma's voor Azure, waaronder Kusto-query's, Azure Monitor en Azure Resource Manager-bewerkingen. Maar uw organisatie woont niet volledig in Azure:

  • Interne systemen: CMDB-databases, aangepaste ticketingsystemen en interne API's die alleen door uw organisatie worden gebruikt.
  • Multicloud: Datadog-dashboards, Splunk-logboeken en AWS CloudWatch-metrische gegevens naast Azure.
  • Verouderde infrastructuur: on-premises databases, eigen protocollen en systemen zonder moderne API's.
  • Aangepaste bedrijfslogica: SLA-berekeningen die specifiek zijn voor uw contracten, formules voor kostentoewijzing en capaciteitsplanning.

De agent kan problemen met Azure vaststellen, maar kan uw interne systemen niet bereiken of de unieke logica van uw organisatie toepassen, tenzij u deze uitbreidt.

Hoe Python-hulpprogramma's werken

Met Python-hulpprogramma's kunt u uw agent nieuwe mogelijkheden leren. Beschrijf wat u nodig hebt, genereer de code, test deze en implementeer deze. Uw agent kan vervolgens systemen bereiken en logica toepassen die voorheen niet mogelijk waren.

Schermopname van het dialoogvenster Python-hulpprogramma.

De gegenereerde code volgt een consistent patroon:

  • Een main() functie die getypte parameters accepteert.
  • JSON-serialiseerbare retourwaarden.
  • Beschrijvende tekst die de logica uitlegt.

Voordat u het gereedschap maakt, test u het met echte invoer in de speeltuin. Voer parameterwaarden in, selecteer Testen en bekijk werkelijke resultaten, niet alleen syntaxisvalidatie.

Schermopname van testspeeltuin met geslaagde uitvoering met sla-berekeningsresultaat.

Nadat u het hulpprogramma hebt getest, selecteert u Het hulpprogramma Maken. Uw agent kan deze onmiddellijk gebruiken zonder opnieuw opstarten en geen implementatiepijplijn.

Python-hulpprogramma's versus MCP-connectors

Voor niet-Microsoft-platforms hebt u twee opties.

Methode Het beste voor Examples
MCP-connectors Populaire platforms met standaard-API's Datadog, Splunk, ServiceNow, GitHub
Python-hulpprogramma's Interne systemen, aangepaste logica, platforms zonder MCP Uw CMDB, eigen API's, aangepaste berekeningen

Gebruik MCP-connectors wanneer er een connector voor uw platform bestaat. MCP biedt gestructureerde schema's, verificatiebeheer en consistent gedrag.

Gebruik Python-hulpprogramma's wanneer u interne systemen moet bereiken, aangepaste bedrijfslogica moet coderen of verbinding moet maken met platforms zonder MCP-ondersteuning.

Wat maakt dit anders

De volgende tabel vergelijkt agentmogelijkheden met en zonder Python-hulpprogramma's.

Zonder Python-hulpprogramma's Met Python-hulpprogramma's
Agent kan alleen gebruikmaken van ingebouwde mogelijkheden Agent bereikt elk systeem dat Python kan aanroepen
Voor interne API's zijn afzonderlijke werkstromen vereist Interne systemen worden agenttools
Aangepaste logica bevindt zich in externe scripts Bedrijfsregels worden binnen agentconversaties uitgevoerd.
On-premises systemen worden losgekoppeld van de agent Hybride omgevingen zijn volledig toegankelijk

Python-hulpprogramma's veranderen uw agent van een systeemeigen Azure-assistent in een uitbreidbaar platform dat met uw hele infrastructuur werkt.

Voor en na

Voordat Na
Onze CMDB is ter plaatse, de agent kan deze niet zien. Python-hulpprogramma met netwerktoegang dat interne systemen opvraagt
"We hebben aangepaste SLA-formules die niemand heeft geautomatiseerd" Codeer uw formules als hulpmiddel; de agent past deze automatisch toe
"Nalevingsrapporten hebben specifieke PDF-opmaak nodig" Rapporten genereren met ReportLab, geleverd via de agent

Vereiste voorwaarden

  • Bouwer toegang tot een Azure SRE-agent.
  • Voor HTTP-eindpunten: URL- en verificatiereferenties voor uw doelsystemen.

Een Python-hulpprogramma maken

U kunt Python-hulpprogramma's maken met behulp van drie benaderingen.

Methode U geeft Agent voert uit Het beste voor
Beschrijven in gewoon Engels SLA berekenen uit uptime en downtime Hiermee genereert u volledige Python-code Snelle aangepaste logica, geen codering nodig
Bestaande code plakken Uw Python-functie Verpakt als hulpmiddel Bestaande scripts, complexe logica migreren
HTTP-eindpunten aanroepen Eindpunt-URL en authenticatie Roept uw API aan via HTTP Azure Functions, Lambda, interne APIs, webhooks

Optie 1: AI de code laten schrijven

Beschrijf wat u nodig hebt in het dialoogvenster en selecteer Genereren. AI maakt een werkende Python-functie met getypte parameters, foutafhandeling en documenten.

U beschrijft: "Sla-naleving berekenen op basis van uptime- en downtimeminuten, retourneert of deze voldoet aan de drempelwaarde van 99,9%"

Agent genereert: Een volledige main() functie die gereed is om te testen en te implementeren.

Optie 2: Breng je eigen code mee

Plak bestaande Python in het tabblad Code . De functie moet dit patroon volgen:

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

Optie 3: HTTP-eindpunten aanroepen

Verpakt elk HTTP-eindpunt (Azure Functions, AWS Lambda, interne API's of webhooks) als een Python-hulpprogramma:

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

Opmerking

Python-hulpprogramma's hebben uitgaande netwerktoegang. U kunt elk HTTP-eindpunt aanroepen dat uw netwerk toestaat. Voor geverifieerde eindpunten API-sleutels of tokens opnemen in headers of queryparameters.

Voorbeeldscenario's

In de volgende voorbeelden ziet u veelvoorkomende use cases voor Python-hulpprogramma's.

Interne CMDB-query:

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

Aangepaste SLA-berekening:

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}

Genereren van nalevingsrapport:

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

Controleren of uw hulpprogramma werkt

Nadat u het hulpprogramma hebt gemaakt, test u het in een nieuwe chat:

Calculate SLA for 43185 minutes uptime and 15 minutes downtime

Uw agent moet herkennen dat de taak overeenkomt met uw hulpprogramma en deze automatisch aanroept.

Uitvoeringsomgeving

In de volgende tabel wordt de uitvoeringsomgeving voor Python-hulpprogramma's beschreven.

Vastgoed Waarde
Timeout 5 tot 900 seconden (standaard: 120)
Isolatie Nieuwe, schone container per uitvoering
bestandssysteem /mnt/data voor tijdelijke bestanden
Netwerk Uitgaande connectiviteit ingeschakeld
Pakketten 700+ vooraf geïnstalleerd (pandas, aanvragen, azure-identity, reportlab en meer)
State Geen persistentie tussen aanroepen

Verificatie voor Azure-resources

Python-hulpprogramma's kunnen zich authenticeren bij Azure-resources met behulp van een beheerde identiteit met vooraf bepaalde scopes.

Scope Toegang
ARM Azure Resource Manager (management.azure.com)
Key Vault Geheimen, sleutels, certificaten (vault.azure.net)
Storage Blob, wachtrij, tabelopslag (storage.azure.com)

Schakel verificatie in op het tabblad Identiteit wanneer u een hulpprogramma maakt.

Beperkingen

  • Geen permanente status: elke uitvoering wordt nieuw gestart. Sla de resultaten indien nodig extern op.
  • Time-out maximum: 900 seconden (15 minuten) voor langlopende bewerkingen.
  • Geen GPU: alleen CPU-uitvoeringsomgeving.
  • JSON-uitvoer vereist: retourwaarden moeten JSON-serializeerbaar zijn.
Vermogen Wat het toevoegt
Overzicht van hulpprogramma's Alle hulpprogrammatypen die uw agent kan gebruiken
Connectoren Ingebouwde integraties voor algemene platforms