Bug #1460
closedKešování selektorů pro alerts
100%
Description
Kesovani selektoru pro alerts se zmenilo a to tak, ze jsem zacal
pouzivat concat:
source => '$Alert.Analyzer.@analyzerid', name => '$Alert.Analyzer.@name' '$concat' => ['$source', '/', '$name']
Kesovaci skript bohuzel nyni konci s timeoutem (testovano na
mentat-dev), coz v minulosti nekoncil:
Selectors:
Unable call aggregate function of MongoDB: recv timed out (800000 ms)
at /usr/local/lib/perl/5.14.2/MongoDB/Cursor.pm line 160.
Aktualni stav pipeline:
my $class = [ { '$project' => { source => '$Alert.Classification.@text' } }, { '$group' => { _id => '$source' } }, { '$sort' => { sum => -1 } }, ]; my $detector = [ { '$project' => { source => '$Alert.Analyzer.@analyzerid', name => '$Alert.Analyzer.@name' } }, { '$group' => { _id => { '$concat' => ['$source', '/', '$name'] } } }, { '$sort' => { sum => -1 } }, ];
Pipeline pro $Alert.Classification.@text je jednoduche nahradit, ale
to az tak treba neni:
db.alerts.distinct('Alert.Analyzer.@name')
Pipeline pro '$concat' => ['$source', '/', '$name'] bych asi doplnil o
match (posledni mesic, nebo posledni 3 mesice).
Vytvoril jsem si i jiny dotaz v mongu, ale bez podminky na cas to je
opet nepouzitelne.
db.alerts.group( { key: { 'Alert.Analyzer.@analyzerid' : 1, 'Alert.Analyzer.@name' : 1}, cond: {ts_u: {$gte: 1394751643}}, reduce: function ( curr, result ) { }, initial: { } })
Mozna by bylo nejlepsi to spoustet tydne a ziskane selektory jen doplnovat.
Cili jednou na zacatku to spustit pres vsechna data a pak je tydne
doplnovat.