Vincent Bernat c6a9319b57 common/schema: turns into a component
This is a first step to make it accept configuration. Most of the
changes are quite trivial, but I also ran into some difficulties with
query columns and filters. They need the schema for parsing, but parsing
happens before dependencies are instantiated (and even if it was not the
case, parsing is stateless). Therefore, I have added a `Validate()`
method that must be called after instantiation. Various bits `panic()`
if not validated to ensure we catch all cases.

The alternative to make the component manages a global state would have
been simpler but it would break once we add the ability to add or
disable columns.
2023-01-18 12:22:10 +01:00
2023-01-18 12:22:10 +01:00
2022-07-22 11:19:44 +02:00
2023-01-17 20:53:00 +01:00
2022-04-01 20:21:53 +02:00
2023-01-17 10:16:19 +01:00
2023-01-17 20:53:00 +01:00
2023-01-17 20:53:00 +01:00
2022-06-29 11:42:28 +02:00
2022-06-29 11:42:28 +02:00
2022-12-20 14:08:34 +01:00

Akvorado: flow collector, enricher and visualizer · Build status License Latest release

This program receives flows (currently Netflow/IPFIX and sFlow), enrice them with interface names (using SNMP), geo information (using MaxMind), and exports them to Kafka, then ClickHouse. It also exposes a web interface to browse the collected data.

Timeseries graph

Sankey graph

Akvorado is developed by Free, a French ISP, and is licensed under the AGPLv3 license.

A demo site using fake data and running the latest stable version is available on demo.akvorado.net. It is the direct result of running docker-compose up on a fresh checkout but port 2055 is not accessible (you cannot send you own flows). Please, be gentle with this resource. The demo site also enables you to browse the documentation (which is also available in docs/).

Be aware that Akvorado is still young and should be considered as alpha quality. At some point, some features may change in an inconvenient way as it is difficult to mutate ClickHouse tables while keeping all data intact.

Description
Flow collector, enricher and visualizer
Readme 34 MiB
Languages
Go 89.6%
Vue 6.5%
TypeScript 1.9%
Makefile 0.8%
Nix 0.4%
Other 0.7%