Skip to content

Commit a3cfd60

Browse files
committed
Upgrade pynetflow to newest upstream version
1 parent 72d6c78 commit a3cfd60

File tree

4 files changed

+15
-6
lines changed

4 files changed

+15
-6
lines changed

.env.example

+2
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ DB_USERNAME=
77
DB_PASSWORD=
88
JOBS_REFRESH_INTERVAL=60
99
NETFLOW_PORT=2055
10+
11+
NAMED_PIPE_FILENAME=/tmp/netflow-named

docker-compose.yml

+3
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ services:
5555
- POSTGRES_DB=${DB_NAME:-grafolean}
5656
- POSTGRES_USER=${DB_USER:-admin}
5757
- POSTGRES_PASSWORD=${DB_PASS:-admin}
58+
ports:
59+
- "5432:5432"
5860
restart: always
5961
healthcheck:
6062
test: ["CMD-SHELL", "pg_isready -h db -U ${DB_USER:-admin} -t 1 -q"]
@@ -127,6 +129,7 @@ services:
127129
# - SYS_PTRACE
128130
networks:
129131
- grafolean
132+
# network_mode: host
130133

131134

132135
# autoheal:

netflowwriter.py

+9-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
# python-netflow-v9-softflowd expects main.py to be the main entrypoint, but we only need
2626
# parse_packet():
2727
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + '/pynetflow')
28-
from pynetflow.netflow import parse_packet, UnknownNetFlowVersion, TemplateNotRecognized
28+
from pynetflow.netflow import parse_packet
29+
from pynetflow.netflow.utils import UnknownExportVersion
30+
from pynetflow.netflow.v9 import V9TemplateNotRecognized
2931

3032

3133
IS_DEBUG = os.environ.get('DEBUG', 'false') in ['true', 'yes', '1']
@@ -105,7 +107,7 @@ def process_named_pipe(named_pipe_filename):
105107
if ex.errno != errno.EEXIST:
106108
raise
107109

108-
templates = {}
110+
templates = {"netflow": {}, "ipfix": {}}
109111
last_record_seqs = {}
110112
buffer = [] # we merge together writes to DB
111113
known_exporters = set()
@@ -147,11 +149,13 @@ def process_named_pipe(named_pipe_filename):
147149
if len(buffer) > MAX_BUFFER_SIZE:
148150
write_buffer(buffer)
149151
buffer = []
150-
except UnknownNetFlowVersion:
152+
except UnknownExportVersion:
151153
log.warning("Unknown NetFlow version")
152154
continue
153-
except TemplateNotRecognized as ex:
154-
log.warning(f"Failed to decode a v9 ExportPacket, template not recognized (if this happens at the start, it's ok). Template id: {ex.template_id}")
155+
except V9TemplateNotRecognized as ex:
156+
log.warning(f"Failed to decode a v9 ExportPacket, template not recognized (if this happens at the start, it's ok)")
157+
log.debug(f"Problematic packet data: {data_b64}")
158+
log.debug(f"Known templates until now: {templates}")
155159
continue
156160

157161
except Exception as ex:

0 commit comments

Comments
 (0)