Skip to content

Commit 4a26af9

Browse files
committed
Merge pull request #3 from threatstream/packaging
Python Packaging
2 parents e2fe97c + a17bf6b commit 4a26af9

File tree

9 files changed

+650
-38
lines changed

9 files changed

+650
-38
lines changed

logger.py renamed to bin/hpfeeds-logger

Lines changed: 9 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
1+
#!/usr/bin/env python
2+
13
import json
24
import hpfeeds
35
import sys
46
import logging
57
from logging.handlers import RotatingFileHandler
6-
7-
import processors
8-
import splunk
9-
import arcsight
10-
11-
PROCESSORS = {
12-
'amun.events': [processors.amun_events],
13-
'glastopf.events': [processors.glastopf_event,],
14-
'dionaea.capture': [processors.dionaea_capture,],
15-
'dionaea.connections': [processors.dionaea_connections,],
16-
'beeswarm.hive': [processors.beeswarm_hive,],
17-
'kippo.sessions': [processors.kippo_sessions,],
18-
'conpot.events': [processors.conpot_events,],
19-
'snort.alerts': [processors.snort_alerts,],
20-
'wordpot.events': [processors.wordpot_event,],
21-
'shockpot.events': [processors.shockpot_event,],
22-
'p0f.events': [processors.p0f_events,],
23-
'suricata.events': [processors.suricata_events,],
24-
'elastichoney.events': [processors.elastichoney_events,],
25-
}
8+
from hpfeedslogger.formatters import splunk, arcsight
9+
from hpfeedslogger import processors
2610

2711
FORMATTERS = {
2812
'splunk': splunk.format,
@@ -51,10 +35,11 @@ def main():
5135
secret = config['secret'].encode('utf-8')
5236
logfile = config['log_file']
5337

38+
processor = processors.HpfeedsMessageProcessor()
5439
formatter = FORMATTERS.get(config['formatter_name'])
5540
if not formatter:
5641
logger.error('Unsupported data log formatter encountered: %s. Exiting.', config['formatter_name'])
57-
return 1
42+
return 1
5843

5944
handler = RotatingFileHandler(logfile, maxBytes=100*1024*1024, backupCount=3)
6045
handler.setFormatter(logging.Formatter('%(asctime)s %(message)s'))
@@ -73,21 +58,8 @@ def main():
7358
logger.info('connected to %s', hpc.brokername)
7459

7560
def on_message(identifier, channel, payload):
76-
procs = PROCESSORS.get(channel, [])
77-
for processor in procs:
78-
try:
79-
message = processor(identifier, payload)
80-
except Exception, e:
81-
logger.error('invalid message %s', payload)
82-
logger.exception(e)
83-
continue
84-
85-
if message:
86-
if isinstance(message, list):
87-
for msg in message:
88-
data_logger.info(formatter(msg))
89-
else:
90-
data_logger.info(formatter(message))
61+
for msg in processor.process(identifier, channel, payload, ignore_errors=True):
62+
data_logger.info(formatter(msg))
9163

9264
def on_error(payload):
9365
logger.error('Error message from server: %s', payload)
@@ -109,7 +81,7 @@ def on_error(payload):
10981
return 0
11082

11183
if __name__ == '__main__':
112-
try:
84+
try:
11385
sys.exit(main())
11486
except KeyboardInterrupt:
11587
logger.error('KeyboardInterrupt encountered, exiting ...')

clean.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
rm -rf build dist src/*.egg-info/ distribute*.egg distribute*.tar.gz hpfeedslogger.egg-info hpfeeds_logger.egg-info

0 commit comments

Comments
 (0)