def detect( self, msg ):
event_ids = msg.data[ 'msg_ids' ]
category = msg.data[ 'cat' ]
source = msg.data[ 'source' ]
why = msg.data[ 'summary' ]
detect = base64.b64encode( msgpack.packb( msg.data[ 'detect' ] ) )
detect_id = msg.data[ 'detect_id' ].upper()
oid = AgentId( source.split( ' / ' )[ 0 ] ).org_id
try:
self.db.execute_async( self.report_stmt_rep.bind( ( detect_id, source, category, ' / '.join( event_ids ), detect, why, self.getOrgTtl( oid ) ) ) )
for s in source.split( ' / ' ):
self.db.execute_async( self.report_stmt_tl.bind( ( AgentId( s ).org_id, detect_id, self.getOrgTtl( oid ) ) ) )
except:
import traceback
self.logCritical( 'Exc storing detect %s / %s' % ( str( msg.data ), traceback.format_exc() ) )
self.outputs.shoot( 'report_detect', msg.data )
if 0 != len( self.pageDest ):
self.paging.shoot( 'page', { 'to' : self.pageDest,
'msg' : json.dumps( msg.data[ 'detect' ], indent = 2 ),
'subject' : 'Detect: %s/%s' % ( category, source ) } )
return ( True, )
评论列表
文章目录