mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-11 22:14:02 +01:00
f167abc6d90f7d7e489c2856d320e554fedad3df
Unfortunately, the Kafka server is crashing.
Akvorado: flow collector, enricher and exporter.
This program receives flows (currently Netflow), enriches them with interface names (using SNMP), geo information (using MaxMind), and exports them to Kafka.
Akvorado means "water wheel" in Esperanto.
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
Run
Check bin/akvorado server --help for help to run the exporter.
Dump the default configuration with bin/akvorado serve --check --dump.
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 may have a Start() and 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%