Automatinio incidentų tyrimo įgyvendinimas naudojant „DevOps“ agentus ir LLM
Įvadas
Šiandienos sparčiai besivystančioje skaitmeninėje aplinkoje „DevOps“ komandos susiduria su vis sudėtingesniu iššūkiu: kuo greičiau nustatyti ir išspręsti incidentus. Rankiniai tyrimo metodai gali atimti daug laiko ir sukelti žmogiškųjų klaidų, dėl kurių pailgėja prastovos ir sumažėja klientų pasitenkinimas. Siekdami išspręsti šią problemą, tyrinėjame „DevOps“ automatizavimo, dirbtinio intelekto vykdomų incidentų tyrimo ir didelių kalbų modelių (LLM) vaidmens tobulinant „DevOps“ įrankius, pvz., „AWS DevOps Agent“ ir „Copado Agentia“, sankirtą.
Dabartinė įvykio tyrimo padėtis
Incidentų tyrimas yra esminis „DevOps“ aspektas, apimantis problemų, turinčių įtakos programinės įrangos sistemoms, nustatymą, analizę ir sprendimą. Tradiciniai metodai remiasi rankiniais procesais, tokiais kaip žurnalų analizė, klaidų sekimas ir bendravimas su suinteresuotosiomis šalimis. Nors šie metodai yra veiksmingi, jie gali būti lėti ir sukelti klaidų, todėl:
- Pailgėjusi prastovos trukmė: rankiniai tyrimo metodai gali uždelsti incidentų sprendimą, dėl to pailgėja prastovos ir sumažėja klientų pasitenkinimas.
- Žmogiškoji klaida: rankiniai procesai gali sukelti žmogaus klaidas, dėl kurių gali būti neteisingai diagnozuota ir išspręsta incidentai.
- Mastelio keitimo problemos: didėjant sistemų dydžiui ir sudėtingumui, rankinio tyrimo metodus keisti tampa vis sunkiau.
„DevOps“ agentų vaidmuo tiriant incidentus
„DevOps“ agentai, tokie kaip „AWS DevOps Agent“ ir „Copado Agentia“, atlieka lemiamą vaidmenį automatizuojant incidentų tyrimą. Šie agentai gali:
- Rinkti ir analizuoti žurnalus: „DevOps“ agentai gali rinkti ir analizuoti žurnalus iš įvairių šaltinių, suteikdami vertingų įžvalgų apie incidentų priežastis.
- Automatizuokite klaidų stebėjimą: agentai gali automatizuoti klaidų sekimą, sumažindami laiką ir pastangas, kurių reikia rankiniam tyrimui.
- Patobulinkite ryšį: agentai gali palengvinti komandų, suinteresuotųjų šalių ir sistemų bendravimą, užtikrindami, kad informacija apie incidentus būtų dalijamasi efektyviai.
** LLM vaidmuo tiriant incidentus**
Dideli kalbų modeliai (LLM) sukėlė revoliuciją natūralios kalbos apdorojimo (NLP) srityje, leisdami mašinoms suprasti ir generuoti į žmogų panašų tekstą. Tirdami incidentą, LLM gali:
- Analizuokite incidentų ataskaitas: LLM gali analizuoti incidentų ataskaitas, nustatydami pagrindinę informaciją ir modelius, kurie gali nurodyti pagrindinę incidento priežastį.
- Generuokite incidentų santraukas: LLM gali sudaryti glaustas incidentų ataskaitų santraukas, palengvinančias bendravimą ir sprendimų priėmimą.
- Pateikite kontekstą atitinkančius pasiūlymus: LLM gali teikti kontekstą žinančius pasiūlymus dėl incidento sprendimo, atsižvelgdami į konkrečią sistemą, aplinką ir susijusias suinteresuotąsias šalis.
Automatinio incidentų tyrimo įgyvendinimas naudojant „DevOps“ agentus ir LLM
Norėdami įdiegti automatinį incidentų tyrimą su „DevOps“ agentais ir LLM, vadovausimės nuosekliu metodu:
- Integruokite DevOps agentus: integruokite DevOps agentus, pvz., AWS DevOps Agent ir Copado Agentia, su savo incidentų valdymo sistema.
- Rink ir analizuok žurnalus: sukonfigūruokite „DevOps“ agentus, kad jie rinktų ir analizuotų žurnalus iš įvairių šaltinių, suteikdami vertingų įžvalgų apie incidentų priežastis.
- Išmokykite LLM modelį: mokykite LLM modelį pagal incidentų ataskaitų, žurnalų ir kitos svarbios informacijos duomenų rinkinį.
- Integruokite LLM su DevOps agentais: integruokite LLM modelį su DevOps agentais, kad LLM galėtų analizuoti incidentų ataskaitas ir teikti pasiūlymus dėl incidentų sprendimo.
- Įdiekite sprendimą: įdiekite automatinį incidentų tyrimo sprendimą, užtikrindami, kad jis būtų keičiamas, patikimas ir saugus.
Kodo pavyzdys: LLM integravimas su „DevOps“ agentais
Štai „Python“ kodo fragmento pavyzdys, parodantis, kaip integruoti LLM modelį su „DevOps“ agentu:
importuoti medienos ruošą
iš transformatorių importuoti AutoModelForSequenceClassification, AutoTokenenizer
iš aws_devops_agent importo agento
modelis = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased")
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased")
# Inicijuoti DevOps agentą
agentas = agentas ()
# Apibrėžkite funkciją, skirtą incidentų ataskaitoms analizuoti naudojant LLM modelį
def analysis_incident_report(report):
# Iš anksto apdorokite incidento ataskaitą
inputs = tokenizer.encode_plus(ataskaita,
add_special_tokens=Tiesa,
max_length=512,
return_attention_mask=Tiesa,
return_tensors='pt')
# Išanalizuokite incidento ataskaitą naudodami LLM modelį
išėjimai = modelis (įvestys['input_ids'], attention_mask=inputs['attention_mask'])
# Ištraukite numatomą klasės etiketę
prognozuota_klasė = torch.argmax(outputs.logits)
grąžinti numatomą_klasę
# Apibrėžkite funkciją, kuri teikia pasiūlymus dėl incidento sprendimo
def provide_suggestions(predicted_class):
# Naudokite numatomą klasės etiketę, kad pateiktumėte pasiūlymus dėl incidento sprendimo
jei numatoma_klasė == 0:
grąžinti "Patikrinkite sistemos žurnalus, ar nėra klaidų"
elif prognozuota_klasė == 1:
grąžinti „Patikrinkite tinklo ryšį“
kitaip:
grąžinti „Susisiekite su kūrimo komanda dėl pagalbos“
# Integruokite LLM modelį su DevOps agentu
def incident_investigation():
# Surinkite ir analizuokite žurnalus iš „DevOps“ agento
žurnalai = agent.get_logs()
# Analizuokite žurnalus naudodami LLM modelį
numatoma_klasė = analizuoti_įvykių_ataskaita(logai)
# Pateikite pasiūlymus dėl incidento sprendimo
pasiūlymai = pateikti_pasiūlymus(numatoma_klasė)
grąžinti pasiūlymus
# Įdiekite incidento tyrimo sprendimą
incidentas_tyrimas()
5–10 dažniausiai naudojamų komandų / fragmentų
Štai 5–10 populiariausių šios technologijos komandų / fragmentų:
- „aws devops agento get-logs“: surinkite žurnalus iš „DevOps“ agento.
- „Transformers.AutoModelForSequenceClassification.from_pretrained()“: įkelkite LLM modelį.
- „tokenizer.encode_plus()“: iš anksto apdorokite incidento ataskaitą.
- `modelis(inputs['input_ids'], attention_mask=inputs['attention_mask'])': analizuokite incidento ataskaitą naudodami LLM modelį.
- „torch.argmax(outputs.logits)“: išskleiskite numatomą klasės etiketę.
- „provide_suggestions(predicted_class)“: pateikite pasiūlymus dėl incidento sprendimo.
- „agent.get_logs()“: surinkite žurnalus iš „DevOps“ agento.
- „Analyze_incident_report(report)“: analizuokite incidento ataskaitą naudodami LLM modelį.
- „Incident_investigation()“: įdiekite incidento tyrimo sprendimą.
- `torch.save(model.state_dict(), 'model.pth')': išsaugokite LLM modelį.
Vizualizacija
Štai automatinio incidento tyrimo sprendimo, naudojant Chart.js, vizualizacija:
{
"tipas": "juosta",
"duomenys": {
"etiketės": ["Rankinis tyrimas", "Automatinis tyrimas"],
"duomenų rinkiniai": [
{
"label": "Laikas spręsti",
"duomenys": [10, 2],
"backgroundColor": ["rgba(255, 99, 132, 0.2)", "rgba(54, 162, 235, 0.2)"],
"borderColor": ["rgba(255, 99, 132, 1)", "rgba(54, 162, 235, 1)"],
"borderWidth": 1
}
]
},
"parinktys": {
"pavadinimas": {
"display": tiesa,
"tekstas": "Laikas išspręsti incidentus"
},
"svarstyklės": {
„yAxes“: [
{
"erkės": {
"beginAtZero": tiesa
}
}
]
}
}
}
Ši vizualizacija palygina incidentų sprendimo laiką naudojant rankinius tyrimo metodus su automatiniais tyrimo metodais, naudojant „DevOps“ agentus ir LLM.
Išvada
Įdiegus automatinį incidentų tyrimą su „DevOps“ agentais ir LLM, galima žymiai pagerinti incidentų sprendimo efektyvumą ir efektyvumą. Integruodamos „DevOps“ agentus su LLM, organizacijos gali automatizuoti žurnalų analizę, teikti kontekstą žinančius pasiūlymus dėl incidentų sprendimo ir sutrumpinti incidentų sprendimo laiką. Ištyrėme „DevOps“ automatizavimo, dirbtinio intelekto pagrindu veikiančių incidentų tyrimo ir LLM vaidmenį tobulinant „DevOps“ įrankius, tokius kaip „AWS DevOps Agent“ ir „Copado Agentia“, sankirtą. Laikydamosi šiame straipsnyje aprašyto nuoseklaus metodo, organizacijos gali įdiegti keičiamo dydžio, patikimą ir saugų automatizuotą incidentų tyrimo sprendimą.