conditionalRandomFields crfScore

Fehleranalyse in IT-Logs mit expliziter Modellstruktur

Scénario de test & Cas d'usage

Geschäftskontext

Ein Cybersecurity-Team analysiert Server-Logs, um Sicherheitsvorfälle zu erkennen. Da das Modell sehr komplex ist, werden die Modellkomponenten (Attribute, Features, Templates) in getrennten Tabellen verwaltet. Der Test prüft die korrekte Handhabung explizit definierter Modelltabellen und den Umgang mit ungewöhnlichen Log-Formaten.
Datenaufbereitung

Erstellung von Log-Daten, einschließlich Sonderzeichen und leerer Einträge.

Kopiert!
1 
2DATA casuser.server_logs;
3LENGTH log_entry $200;
4INFILE DATALINES delimiter='#';
5INPUT id log_entry$;
6DATALINES;
7101#ERROR: Connection refused at 192.168.1.1# 102#INFO: Update successful.# 103#WARN: Low memory on /dev/sda1#;
8 
9RUN;
10 

Étapes de réalisation

1
Detaillierter Aufruf von crfScore mit expliziter Zuweisung aller Modellkomponenten-Tabellen.
Kopiert!
1 
2PROC CAS;
3conditionalRandomFields.crfScore TABLE={name='server_logs', caslib='casuser'} model={ label={name='sec_labels'}, attr={name='sec_attrs'}, feature={name='sec_features'}, attrfeature={name='sec_attr_features'}, template={name='sec_templates'} } casOut={name='logs_analyzed', caslib='casuser', replace=true} target='incident_type';
4 
5RUN;
6 
7QUIT;
8 
2
Überprüfung, ob komplexe Log-Muster korrekt erkannt wurden.
Kopiert!
1 
2PROC CAS;
3TABLE.fetch TABLE={name='logs_analyzed', caslib='casuser'} fetchVars={'log_entry', 'incident_type'};
4 
5RUN;
6 
7QUIT;
8 

Erwartetes Ergebnis


Die Aktion akzeptiert die explizite Definition der Untertabellen (label, attr, feature etc.) im 'model'-Parameter. Die Ausgabetabelle 'logs_analyzed' enthält die klassifizierten Log-Einträge in der Spalte 'incident_type', wobei kritische Fehler (ERROR) korrekt identifiziert werden.