Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az SRE-ügynök kódértelmezője lehetővé teszi Python-kód- és rendszerhéjparancsok biztonságos, izolált tesztkörnyezetben történő végrehajtását. A Kódértelmezővel elemezheti az adatokat, vizualizációkat hozhat létre, PDF-jelentéseket hozhat létre, és anélkül automatizálhatja a fájlműveleteket, hogy elhagyná az SRE-ügynökkel folytatott beszélgetést.
Ebből a cikkből megtudhatja, hogyan:
- Python-kód végrehajtása adatok elemzéséhez és vizualizációk létrehozásához
- Rendszerhéjparancsok futtatása fájlműveletekhez
- PDF-jelentések létrehozása és letöltése
- Fájlok használata tesztkörnyezetben
Előfeltételek
Ügynök létrehozásához meg kell adnia az ügynöknek a megfelelő engedélyeket, konfigurálnia kell a megfelelő beállításokat, és hozzáférést kell adnia a megfelelő erőforrásokhoz:
Azure-fiók: Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Ha még nem rendelkezik ilyen fiókkal, ingyenesen létrehozhat egy fiókot.
Biztonsági környezet: Győződjön meg arról, hogy a felhasználói fiók
Microsoft.Authorization/roleAssignments/writevagy felhasználói hozzáférés-rendszergazdaként rendelkezik az engedélyekkel.Tűzfalbeállítások: Adja hozzá
*.azuresre.aiaz engedélyezési listához a tűzfalbeállítások között. Egyes hálózati profilok alapértelmezés szerint blokkolhatják a tartományhoz*.azuresre.aivaló hozzáférést.
A kódértelmező működése
Az SRE-ügynök kódértelmezője egy elkülönített Azure Container Apps-munkamenetben fut a következő jellemzőkkel:
- Nincs hálózati hozzáférés: A tesztkörnyezet nem tud kimenő HTTP- vagy HTTPS-kéréseket küldeni.
-
Nincs folyamatok indítása: Az olyan parancsok, mint a
subprocessésos.system, blokkolva vannak. -
Nincs csomagtelepítés:
pip installésconda installnem érhető el. -
Izolált fájlrendszer: Minden fájlt menteni kell.
/mnt/data/
Ezek a korlátozások biztosítják, hogy a kódvégrehajtás biztonságos és kiszámítható legyen. A gyakori adatelemzési kódtárak, például a pandas, a matplotlib és a seaborn előre vannak telepítve.
A kódértelmező használatának első lépései
A kódértelmező eszközök automatikusan elérhetők az SRE-ügynök beszélgetéseiben. Kérje meg az ügynököt, hogy természetes nyelv használatával végezze el a feladatokat.
Példafelszólítások
Első lépésként próbálja ki az alábbi utasításokat:
- "Elemezze ezeket a CSV-adatokat, és hozzon létre egy, az incidenseket kategóriánként ábrázoló diagramot."
- "Pdf-összefoglaló készítése a mai incidensekről."
- "Elemezd ezt a JSON-fájlt, és nyerd ki a hibamintákat."
- "A munkamenet összes fájljának listázása és méretük megjelenítése."
Az első Python-szkript
Az alábbi példa bemutatja, hogyan hozhat létre vizualizációt:
import matplotlib.pyplot as plt
import numpy as np
# Generate sample data
categories = ['Critical', 'High', 'Medium', 'Low']
counts = [5, 12, 28, 45]
# Create bar chart
plt.figure(figsize=(10, 6))
plt.bar(categories, counts, color=['red', 'orange', 'yellow', 'green'])
plt.title('Incidents by Severity')
plt.xlabel('Severity Level')
plt.ylabel('Count')
plt.savefig('/mnt/data/incidents_by_severity.png', dpi=150)
Ha a kód sikeresen lefut, az ügynök a beszélgetésbe a képet közvetlenül adja vissza.
Lehetséges helyzetek
Incidensadatok elemzése
Kódértelmező használatával a nyers incidensadatokat végrehajtható elemzésekké és vizualizációkká alakíthatja.
Kérje meg az SRE-ügynököt, hogy hozzon létre egy CSV-fájlt az elmúlt hónapban történt összes incidensről az alábbi üzenettel:
Create a CSV file of all the incidents that occurred in the last month. Name the file `incidents.csv` and save it to `/mnt/data`.A Python használatával elemezheti az incidensmintákat, és azonosíthatja a trendeket:
import pandas as pd # Load incident data df = pd.read_csv('/mnt/data/incidents.csv') # Calculate summary statistics summary = df.groupby('category').agg({ 'id': 'count', 'resolution_time': 'mean' }).rename(columns={'id': 'count', 'resolution_time': 'avg_resolution_hours'}) # Export results summary.to_csv('/mnt/data/incident_summary.csv') print(summary)
Vizualizációk létrehozása
Diagramok létrehozása az elemzések közléséhez.
import matplotlib.pyplot as plt
import seaborn as sns
# Load data
df = pd.read_csv('/mnt/data/incidents.csv')
# Create visualization
plt.figure(figsize=(12, 6))
sns.barplot(data=df, x='category', y='count', palette='viridis')
plt.title('Incidents by Category')
plt.xticks(rotation=45)
plt.tight_layout()
plt.savefig('/mnt/data/category_chart.png', dpi=150)
PDF-jelentések létrehozása
Formázott PDF-dokumentumok létrehozása az érdekelt felek számára.
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
# Create PDF
c = canvas.Canvas('/mnt/data/weekly_report.pdf', pagesize=letter)
# Add content
c.setFont('Helvetica-Bold', 18)
c.drawString(72, 750, 'Weekly Incident Report')
c.setFont('Helvetica', 12)
c.drawString(72, 720, 'Period: January 10-17, 2026')
c.drawString(72, 700, 'Total incidents: 90')
c.drawString(72, 680, 'Critical incidents: 5')
c.drawString(72, 660, 'Average resolution time: 4.2 hours')
c.save()
Az ügynök egy letöltési hivatkozást ad vissza a létrehozott PDF-fájlhoz.
Naplófájlok feldolgozása
Naplófájlok keresése és elemzése rendszerhéjparancsok használatával.
# Count error occurrences by type
grep -E "ERROR|WARN|FATAL" application.log | sort | uniq -c | sort -rn
# Find the most recent log entries
tail -100 application.log
Eszközhivatkozás
A Kódértelmező a következő eszközöket biztosítja:
ExecutePythonCode
Python-kódot futtat egy elkülönített tesztkörnyezetben.
| Paraméter | Típus | Kötelező | Description |
|---|---|---|---|
pythonCode |
karakterlánc | Igen | Futtatandó Python-kód (legfeljebb 20 000 karakter) |
timeoutSeconds |
egész szám | Nem | Végrehajtási időtúllépés másodpercben (alapértelmezett: 120, maximum: 900) |
Kimenet: A képek markdown szövegelemként jelennek meg. Az adatfájlok letöltési hivatkozásként térnek vissza.
PDF jelentés generálása
PDF-dokumentumokat hoz létre Python-kódból.
| Paraméter | Típus | Kötelező | Description |
|---|---|---|---|
pythonCode |
karakterlánc | Igen | PDF-fájlt létrehozó Python-kód |
expectedOutputFilename |
karakterlánc | Igen | A PDF mentési útvonala (például report.pdf) |
saveAsFilename |
karakterlánc | Igen | Fájlnév letöltése (például daily_summary.pdf) |
timeoutSeconds |
egész szám | Nem | Végrehajtási időtúllépés másodpercben (alapértelmezett: 180, maximum: 900) |
RunShellCommand
Rendszerhéjparancsokat futtat a tesztkörnyezetben.
| Paraméter | Típus | Kötelező | Description |
|---|---|---|---|
command |
karakterlánc | Igen | Futtatandó Shell-parancs |
explanation |
karakterlánc | Nem | A paranccsal való naplózáshoz leírás |
isBackground |
Boolean | Nem | Kötelezőnek kell lennie false (a háttérfeladatok nem támogatottak) |
timeoutSeconds |
egész szám | Nem | Végrehajtási időtúllépés (alapértelmezett: 120, max: 240) |
Megjegyzés:
A parancsok innen futnak: /mnt/data/. Relatív elérési utak és láncparancsok használatához használja a(z) ; elemet a(z) && helyett.
Fájlműveletek
| Tool | Description |
|---|---|
ReadSessionFile |
Beolvassa a fájl tartalmát a fájlból /mnt/data/. |
SearchSessionFiles |
Grep stílusú mintákkal keres szövegeket a fájlokban. |
ListSessionFiles |
A munkamenet összes fájljának metaadatait tartalmazza. |
GetSessionFile |
Letölt egy fájlt a munkamenetből. |
UploadFileToSession |
Feltölt egy fájlt további feldolgozás céljából. |
Támogatott fájltípusok
- Képek: PNG, JPG, GIF, SVG, WebP, BMP, TIFF, EPS
- Adatok: CSV, TSV, Excel, JSON, XML, YAML, HDF5, NetCDF, pickle
- Dokumentumok: PDF, HTML, Markdown, Office-formátumok
- Kód: Python, Jupyter jegyzetfüzetek, R, SQL
- Archívumok: ZIP, TAR, GZ
Korlátozások
Biztonsági okokból a rendszer a következő műveleteket blokkolja:
| Kategória | Letiltott műveletek |
|---|---|
| Folyamatok elágaztatása |
subprocess, os.system, os.popenos.spawn* |
| Hálózati hozzáférés | Kimenő HTTP/HTTPS-kérelmek |
| Csomag telepítése |
pip install, conda install |
| Fájlrendszer | Hozzáférés kívülről /mnt/data/ |
Kódértelmező hibaelhárítása
A kódvégrehajtás sikertelen
- Ellenőrizze, hogy a kód nem használ letiltott műveleteket, például
subprocesshálózati hívásokat. - Ellenőrizze, hogy az összes fájl elérési útja erre mutat-e
/mnt/data/. - Győződjön meg arról, hogy a kód 20 000 karakternél nem hosszabb.
A fájlok nem jelennek meg a kimenetben
- Győződjön meg arról, hogy a fájlokat ide menti:
/mnt/data/. - A fájllétrehozás ellenőrzésére használható
ListSessionFiles. - Ellenőrizze, hogy a fájlkiterjesztés támogatott-e.
Időtúllépési hibák
- Növelje a paramétert
timeoutSeconds(legfeljebb 900 másodperc). - Optimalizálja a kódot a végrehajtási idő csökkentése érdekében.
- Nagyobb műveletek felosztása kisebb adattömbökre.