Skip to content

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.

Tab-ul Settings

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ă.

Lista de detectori

  • 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_edge cere în plus câmpul cu care este comparată entitatea (de exemplu Computer.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âmpValoareFolosiți-l pentru
applicationdata-scoringa separa alertele ML de alertele de corelare
_anomalyData.ModelIDalgoritmul: statistical_deviation, gaussian, elliptic_envelope sau bipartite_edgea filtra după model
AlertNameAnomaly - <numele detectorului>a filtra după detector
AnomalyEntities.paramValueentitatea semnalată, de exemplu un nume de utilizatora 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

  1. Deschideți Alerte.
  2. 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.
  3. 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

Alertele modelului statistical_deviation

Gaussian (model gaussian)

_anomalyData.ModelID:gaussian

Alertele modelului gaussian

Elliptic envelope (anvelopă eliptică)

_anomalyData.ModelID:elliptic_envelope

Alertele modelului elliptic_envelope

Bipartite edge (muchie în graf bipartit)

_anomalyData.ModelID:bipartite_edge

Alertele modelului bipartite_edge

Combinarea filtrelor

Toate alertele ML

application:"data-scoring"

Toate alertele de anomalii ML

Un singur model, doar alerte ML

application:"data-scoring" AND _anomalyData.ModelID:gaussian

Alertele ML ale unui singur model

Un singur detector

Puneți între ghilimele întregul nume al alertei:

AlertName:"Anomaly - Validation - gaussian"

Alertele unui singur detector

O singură entitate

AnomalyEntities.paramValue:user03

Alertele pentru o singură entitate

Model și entitate

application:"data-scoring" AND _anomalyData.ModelID:bipartite_edge AND AnomalyEntities.paramValue:user07

Un model și o entitate

De reținut

  • Nu folosiți text simplu care conține -. Anomaly - Validation se potrivește cu toate alertele ML, nu doar cu cele pe care le-ați scris. Folosiți AlertName:"..." cu numele complet.
  • Textul Why nu poate fi căutat cu o interogare pe câmpuri (Why:hosts nu returnează nimic). Căutați în schimb după model, detector sau entitate.
  • Numele unui detector nu spune ce model folosește. _anomalyData.ModelID este 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.