mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-11 22:14:02 +01:00
5201088b69e974a3a150e99a90f61672c6601294
Flow exporter
This program receives flows (currently Netflow), enriches them with interface names (using gNMI), geo information (using MaxMind) and export them to Kafka.
Build
Use make. The following commands are available:
make helpto get helpmaketo build the binary (inbin/)make testto run testsmake test-verboseto run tests in verbose modemake test-racefor race testsmake test-xmlfor tests with xUnit-compatible outputmake test-coveragefor test coverage (will outputindex.html,coverage.xmlandprofile.outintest/coverage.*/.make test PKG=helloworld/helloto restrict test to a packagemake cleanmake lintto run golintmake fmtto run gofmt
Design
Components
The generic design is component-based. Each piece is a component. You
get an instance of the component with New() (or NewMock() for
tests). Each component is initialized with:
- an instance of the reporter (the component for logging),
- their configuration (extracted from the general configuration),
- the components they depend on.
Each component maintain its state. They have a Start() and
optionally a Stop() method.
See https://github.com/stuartsierra/component to understand where the inspiration comes from.
Languages
Go
89.6%
Vue
6.5%
TypeScript
1.9%
Makefile
0.8%
Nix
0.4%
Other
0.7%