Documentație
Găsirea alertelor de anomalii generate de Machine Learning
Cum găsiți în pagina Alerte alertele generate de fiecare model de detecție a anomaliilor.
Serviciul de detecție a anomaliilor (data-scoring) scrie alertele modelelor sale de machine learning în același index de alerte ca alertele de corelare, cu aceeași structură a documentului. Ele apar în Alerte alături de toate celelalte alerte. Această pagină arată cum le izolați și cum deosebiți modelele între ele.
Pornirea modulului și crearea detectorilor
Totul se gestionează în Setări → Aplicație → ML Anomaly Detection (permisiunea Modify Settings). Patru elemente din partea de sus schimbă conținutul paginii: Settings, Detectors, Models și How to use, care reia pe scurt pașii de mai jos. Modulul este oprit implicit; Detectors și Models apar după ce este activat.
1. Pornirea modulului
Serviciul (data-scoring) este un container al stack-ului CyberQuest care nu pornește implicit. Pe server, setați DATA_SCORING_OPENSEARCH_PASSWORD (parola utilizatorului cq din OpenSearch) în fișierul .env al stack-ului, apoi porniți-l:
docker compose --profile ml up -d data-scoring
În pagină, activați Enable ML anomaly detection și apăsați Save. Insigna arată Running după ce serviciul răspunde. Apoi activați Run anomaly detectors și Create alerts from detectors și salvați din nou; serviciul aplică modificările în cel mult un minut. Numerele de sub comutatoare sunt opționale: lăsați un câmp gol pentru a folosi valoarea implicită a serviciului. Test connection cere serviciului să verifice propriile conexiuni la baza de date și la OpenSearch.

Serviciul poate rula și pe alt VM, atât timp cât ajunge la MariaDB și OpenSearch ale stack-ului. În acest caz setați Service address la adresa la care aplicația web îl poate contacta; adresa este folosită doar pentru insigna de stare.
2. Crearea și rularea detectorilor
Un detector este o sarcină salvată de detecție a anomaliilor: ce se urmărește, ce algoritm o evaluează și cât de des rulează.

- New detector deschide formularul: nume, algoritm, client (tenant), indecși, câmpul de timp, frecvența de rulare, entitatea urmărită (de exemplu
UserName.exact) și valorile numerice de măsurat.bipartite_edgecere în plus câmpul cu care este comparată entitatea (de exempluComputer.exact) și nu măsoară valori numerice. - Turn on rulează detectorul conform programului; Turn off îl pune pe pauză. Run now îl rulează o singură dată; cererea este preluată în cel mult 15 secunde.
- Coloana Status arată Waiting for the service până când serviciul a văzut detectorul, Learning cât timp istoricul este prea mic, Running după ce evaluează fiecare interval și Failed împreună cu motivul când ceva nu este în regulă (de exemplu o setare invalidă).
- Edit și Delete sunt mereu disponibile. Salvarea unei modificări reantrenează detectorul. Ștergerea elimină detectorul împreună cu modelul antrenat și starea sa; alertele generate deja rămân în Alerte.
3. Ce a învățat modelul
Tab-ul Models arată, pentru fiecare detector, când a fost antrenat modelul, din câte puncte de date și pentru câte entități. Un model este reconstruit automat zilnic, iar Retrain îl reconstruiește imediat. Un detector are nevoie de cel puțin 100 de puncte de antrenare (100 de muchii distincte pentru bipartite_edge) înainte să poată genera alerte.
După ce un detector a rulat, alertele sale apar în Alerte, așa cum este descris mai jos.
Ce identifică o alertă ML
Pe lângă câmpurile obișnuite ale unei alerte, o alertă ML conține:
| Câmp | Valoare | Folosiți-l pentru |
|---|---|---|
application | data-scoring | a separa alertele ML de alertele de corelare |
_anomalyData.ModelID | algoritmul: statistical_deviation, gaussian, elliptic_envelope sau bipartite_edge | a filtra după model |
AlertName | Anomaly - <numele detectorului> | a filtra după detector |
AnomalyEntities.paramValue | entitatea semnalată, de exemplu un nume de utilizator | a filtra după entitate |
Alertele ML nu au câmpurile Users sau Computers, așa că filtrele Utilizator și Host nu le găsesc. Căutați după entitate, așa cum este arătat mai jos.
Înainte de căutare
- Deschideți Alerte.
- Setați intervalul de timp. Pagina se deschide pe Ultima oră, care afișează Fără Rezultate pentru alertele generate mai devreme. Alegeți Ultima zi sau un interval mai lung.
- Introduceți interogarea în caseta de căutare și apăsați Enter.
Textul simplu se potrivește cu numele alertei și cu textul Why. O interogare care conține :, paranteze sau AND / OR / NOT este tratată ca interogare pe câmpuri.
O interogare pentru fiecare model
Statistical deviation (abatere statistică)
_anomalyData.ModelID:statistical_deviation

Gaussian (model gaussian)
_anomalyData.ModelID:gaussian

Elliptic envelope (anvelopă eliptică)
_anomalyData.ModelID:elliptic_envelope

Bipartite edge (muchie în graf bipartit)
_anomalyData.ModelID:bipartite_edge

Combinarea filtrelor
Toate alertele ML
application:"data-scoring"

Un singur model, doar alerte ML
application:"data-scoring" AND _anomalyData.ModelID:gaussian

Un singur detector
Puneți între ghilimele întregul nume al alertei:
AlertName:"Anomaly - Validation - gaussian"

O singură entitate
AnomalyEntities.paramValue:user03

Model și entitate
application:"data-scoring" AND _anomalyData.ModelID:bipartite_edge AND AnomalyEntities.paramValue:user07

De reținut
- Nu folosiți text simplu care conține
-.Anomaly - Validationse potrivește cu toate alertele ML, nu doar cu cele pe care le-ați scris. FolosițiAlertName:"..."cu numele complet. - Textul Why nu poate fi căutat cu o interogare pe câmpuri (
Why:hostsnu returnează nimic). Căutați în schimb după model, detector sau entitate. - Numele unui detector nu spune ce model folosește.
_anomalyData.ModelIDeste modul sigur de a filtra după model. - Alertele ML au un scor de la 0 la 100 și nivelul de escaladare 5. Nu au scor AI sau clasificare AI; acestea se aplică doar alertelor de corelare.