mirror of https://github.com/MISP/misp-dashboard
Fields are generated from config file
parent
dd9fd918dc
commit
c4d7a531be
30
server.py
30
server.py
|
@ -24,7 +24,9 @@ eventNumber = 0
|
||||||
|
|
||||||
class LogItem():
|
class LogItem():
|
||||||
|
|
||||||
FIELDNAME_ORDER = [ 'time', 'level', 'source', 'name', 'message' ]
|
FIELDNAME_ORDER = []
|
||||||
|
for item in json.loads(cfg.get('Log', 'fieldname_order')):
|
||||||
|
FIELDNAME_ORDER.append(item)
|
||||||
|
|
||||||
#def __init__(self, feed='', time='', level='level', src='source', name='name', message='wonderful meesage'):
|
#def __init__(self, feed='', time='', level='level', src='source', name='name', message='wonderful meesage'):
|
||||||
def __init__(self, feed):
|
def __init__(self, feed):
|
||||||
|
@ -38,10 +40,10 @@ class LogItem():
|
||||||
#self.message = message
|
#self.message = message
|
||||||
|
|
||||||
self.time = strftime("%H:%M:%S", now())
|
self.time = strftime("%H:%M:%S", now())
|
||||||
self.level = 'level'
|
#FIXME later
|
||||||
self.source = 'src'
|
self.fields = []
|
||||||
self.name = 'name'
|
for f in feed:
|
||||||
self.message = feed
|
self.fields.append(f)
|
||||||
|
|
||||||
def get_head_row(self):
|
def get_head_row(self):
|
||||||
to_ret = []
|
to_ret = []
|
||||||
|
@ -52,11 +54,12 @@ class LogItem():
|
||||||
def get_row(self):
|
def get_row(self):
|
||||||
to_ret = {}
|
to_ret = {}
|
||||||
#Number to keep them sorted (jsonify sort keys)
|
#Number to keep them sorted (jsonify sort keys)
|
||||||
to_ret[1] = self.time
|
to_ret[0] = self.time
|
||||||
to_ret[2] = self.level
|
for i in range(len(LogItem.FIELDNAME_ORDER)):
|
||||||
to_ret[3] = self.source
|
try:
|
||||||
to_ret[4] = self.name
|
to_ret[i+1] = self.fields[i]
|
||||||
to_ret[5] = self.message
|
except IndexError: # not enough field in rcv item
|
||||||
|
to_ret[i+1] = ''
|
||||||
return to_ret
|
return to_ret
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,11 +70,12 @@ class EventMessage():
|
||||||
try:
|
try:
|
||||||
jsonMsg = json.loads(msg)
|
jsonMsg = json.loads(msg)
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError:
|
||||||
jsonMsg = { 'name': "undefined" ,'log': msg }
|
print('json decode error')
|
||||||
|
jsonMsg = { 'name': "undefined" ,'log': json.loads(msg) }
|
||||||
|
|
||||||
self.feedName = jsonMsg['name']
|
self.feedName = jsonMsg['name']
|
||||||
self.feed = jsonMsg['log']
|
self.feed = json.loads(jsonMsg['log'])
|
||||||
self.feed = LogItem(jsonMsg['log']).get_row()
|
self.feed = LogItem(self.feed).get_row()
|
||||||
|
|
||||||
#get type of message: log or feed, then create
|
#get type of message: log or feed, then create
|
||||||
#if self.isLog:
|
#if self.isLog:
|
||||||
|
|
|
@ -32,8 +32,9 @@ pubsub = redis_server.pubsub(ignore_subscribe_messages=True)
|
||||||
while True:
|
while True:
|
||||||
rdm = random.randint(1,3)
|
rdm = random.randint(1,3)
|
||||||
time.sleep(float(rdm / 10))
|
time.sleep(float(rdm / 10))
|
||||||
content = "rdm "+str(rdm)
|
content = ["rdm "+str(rdm)]
|
||||||
to_send = { 'name': 'feeder'+str(rdm), 'log': content }
|
jsonContent = json.dumps(content)
|
||||||
|
to_send = { 'name': 'feeder'+str(rdm), 'log': jsonContent }
|
||||||
redis_server.publish(channel, json.dumps(to_send))
|
redis_server.publish(channel, json.dumps(to_send))
|
||||||
|
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
Loading…
Reference in New Issue