Commit Graph

50 Commits

Author SHA1 Message Date
Vincent Bernat
45ab047c80 config: also listen to 4739 for IPFIX
This is the port defined in RFC 7011.
2025-08-29 08:12:30 +02:00
Vincent Bernat
06e3f334fd docs: proofread the whole documentation
Notably, more active voice and simplify a bit.
2025-08-26 08:25:57 +02:00
Vincent Bernat
883e19922e build: add end-to-end testing 2025-08-20 13:41:54 +02:00
Vincent Bernat
67da65827f docker: don't start demo exporters by default
And provide a `.env.demo` file to be used on demo.akvorado.net.
2025-08-19 21:20:21 +02:00
Vincent Bernat
09a5a32375 docs: make the minimum configuration more prominent 2025-08-09 16:59:01 +02:00
Vincent Bernat
332435d650 docs: Netflow → NetFlow 2025-07-31 09:13:37 +02:00
Vincent Bernat
8ac89407fd console: add admonitions to documentation markdown 2025-07-27 21:44:28 +02:00
Vincent Bernat
fc1028bfcd doc: documentation update for inlet/outlet separation 2025-07-27 21:44:28 +02:00
Vincent Bernat
bc49f56eca docs: update documentation with respect to GeoIP
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐧 Build and test on Linux (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔭 Build Go backend (1.24) (push) Has been cancelled
CI / 🔭 Build JS frontend (18) (push) Has been cancelled
CI / 🔭 Build JS frontend (20) (push) Has been cancelled
CI / 🔭 Build JS frontend (22) (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
Update Nix dependencies / Update Nix lockfile (asn2org) (push) Has been cancelled
Update Nix dependencies / Update Nix lockfile (nixpkgs) (push) Has been cancelled
Update Nix dependencies / Update dependency hashes (push) Has been cancelled
Fix #1804
2025-06-05 06:59:55 +02:00
Vincent Bernat
bbef70525e docs: explain default configuration for interface classifiers in intro
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐧 Build and test on Linux (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔭 Build Go backend (1.24) (push) Has been cancelled
CI / 🔭 Build JS frontend (18) (push) Has been cancelled
CI / 🔭 Build JS frontend (20) (push) Has been cancelled
CI / 🔭 Build JS frontend (22) (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
2025-05-23 08:21:47 +02:00
Vincent Bernat
433aec9f09 docs: add documentation for 10d630111c 2025-05-10 22:48:35 +02:00
Vincent Bernat
56a0c1c4be docs: highlight which configuration steps are mandatory 2024-10-09 09:28:03 +02:00
Vincent Bernat
e5350b1378 docs: remove "docker compose build" steps 2024-06-30 09:36:16 +02:00
Vincent Bernat
9cc329df16 docs: use docker compose build before docker compose up
This is useful if there is a change in Dockerfile.ipinfo-geoipupdate.
2024-06-29 08:43:20 +02:00
Vincent Bernat
ef95003e75 docs: MacOS → macOS 2024-06-01 08:27:07 +02:00
Vincent Bernat
970c98611f docs: on macOS, this is possible to use docker-compose... 2024-06-01 08:26:02 +02:00
Vincent Bernat
ec50218e24 docker: switch to Docker Compose V2
It is a pain to support Docker Compose V1 and depending on the versions,
we may not have "extends" at all. This is not that difficult to install
the V2 plugin (even if this is inconvenient for it not be shipped in
Debian for example).
2024-04-04 08:59:31 +02:00
Vincent Bernat
99793efc30 docker: make .env a bit more modular 2023-11-11 18:55:04 +01:00
Vincent Bernat
8509fa9ce9 docs: mention "docker compose" instead of "docker-compose"
The later has been deprecated.
2023-08-13 09:11:47 +02:00
Vincent Bernat
b2bec3506c docker: switch to IPinfo database by default
This is useful as it is CC-BY-SA 4.0 licensed and it is OK to share my access token.

Fix #455
2023-08-05 17:46:40 +02:00
Vincent Bernat
994f7a80ff inlet/metadata: add a static provider 2023-05-29 19:29:32 +02:00
Vincent Bernat
e148a8d2c9 docker-compose: move configuration files to config/ 2023-02-13 23:32:45 +01:00
Vincent Bernat
895c34fa82 cmd: accept an !include tag for YAML files 2023-02-13 23:32:45 +01:00
Vincent Bernat
cdbae1c643 Revert "cmd: accept an !include tag for YAML files"
This reverts commit b8698bc060. This
change is not complete, it is missing adaptations in docker-compose.yml.
2023-02-12 14:40:56 +01:00
Vincent Bernat
b8698bc060 cmd: accept an !include tag for YAML files 2023-01-29 14:48:57 +01:00
Vincent Bernat
3684d06f90 docs: update documentation regarding flow protobuf definitions 2023-01-25 08:13:39 +01:00
Vincent Bernat
37e85fed4a docs: simplify quick start 2022-11-25 15:09:30 +01:00
Vincent Bernat
5c3d217fed doc: hydrate → enrich
It seems that "to hydrate" is incorrect. The correct term would be "to
enrich".
2022-11-08 15:00:24 +01:00
Vincent Bernat
3d09538485 doc: mention docker-compose vs docker compose 2022-10-25 21:28:33 +02:00
Vincent Bernat
886155a31b doc: provide a simpler quick start procedure
We can use a one-liner to get started. But not a `curl | bash`
command!
2022-10-25 19:47:32 +02:00
Vincent Bernat
97d384d56f docs: tell people to use 8081
8080 is only available on 127.0.0.1. It works on a laptop, not on a
remote server.
2022-10-06 08:03:40 +02:00
Vincent Bernat
c36f387ac2 docker: split out demo exporters from docker-compose.yml 2022-10-03 10:16:31 +02:00
Vincent Bernat
c769bb5234 inlet/bmp: initial support for BMP protocol
At first, there was a tentative to use BMP collector implementation
from bio-rd. However, this current implementation is using GoBGP
instead:

- BMP is very simple from a protocol point of view. The hard work is
  mostly around decoding. Both bio-rd and GoBGP can decode, but for
  testing, GoBGP is able to generate messages as well (this is its
  primary purpose, I suppose parsing was done for testing purpose).
  Using only one library is always better. An alternative would be
  GoBMP, but it also only do parsing.
- Logging and metrics can be customized easily (but the work was done
  for bio-rd, so not a real argument).
- bio-rd is an application and there is no API stability (and I did
  that too)
- GoBGP supports FlowSpec, which may be useful in the future for the
  DDoS part. Again, one library for everything is better (but
  honestly, GoBGP as a lib is not the best part of it, maybe
  github.com/jwhited/corebgp would be a better fit while keeping GoBGP
  for decoding/encoding).

There was a huge effort around having a RIB which is efficient
memory-wise (data are interned to save memory), performant during
reads, while being decent during insertions. We rely on a patched
version of Kentik's Patricia trees to be able to apply mutations to
the tree.

There was several tentatives to implement some kind of graceful
restart, but ultimetaly, the design is kept simple: when a BMP
connection goes down, routes will be removed after a configurable
time. If the connection comes back up, then it is just considered new.
It would have been ideal to rely on EoR markers, but the RFC is
unclear about them, and they are likely to be per peer, making it
difficult to know what to do if one peer is back, but not the other.

Remaining tasks:

- [ ] Confirm support for LocRIB
- [ ] Import data in ClickHouse
- [ ] Make data available in the frontend

Fix #52
2022-09-27 00:34:41 +02:00
Vincent Bernat
60eaeb7c52 github: move repository to its own organization 2022-09-09 18:03:06 +02:00
Vincent Bernat
3f1dc38052 Revert "inlet/snmp: do not deprecate default-community"
This reverts commit e5d3d3fbc3. When
adding SNMPv3, it will be odd to have this. Just put the extra mile to
deprecate it correctly.
2022-08-13 21:33:53 +02:00
Vincent Bernat
e5d3d3fbc3 inlet/snmp: do not deprecate default-community
We did not handle all cases, notably the case where default-community
was not set explicitely by the user. This seems a lot of code for
little gain, let's keep things simple.
2022-08-01 07:15:50 +02:00
Vincent Bernat
1bbaf4de24 inlet/snmp: accept subnets for communities
Also deprecate `default-community`.
2022-07-31 23:38:54 +02:00
Vincent Bernat
05b6e5c36f doc: add more quick start documentation 2022-07-26 19:03:42 +02:00
Vincent Bernat
684a219fac cmd: replace fake-exporter by demo-exporter
Also propagate this rename to configuration and code. It makes easier
to understand the purpose of such a command in the provided
`docker-compose` file.
2022-07-26 17:42:16 +02:00
Vincent Bernat
aeae20d66d doc: rename target directory to akvorado when using docker-compose 2022-07-22 09:21:07 +02:00
Vincent Bernat
5b12032d87 doc: also explain a bit more what is needed for use with docker-compose 2022-07-21 16:06:28 +02:00
Vincent Bernat
42c794cd97 doc: various updates 2022-07-20 07:49:00 +02:00
Tchadel Icard
0d5d07dec6 inet/flow: add sflow support (#23) 2022-07-19 18:18:06 +02:00
Vincent Bernat
f0a4438539 docker-compose: add a service to clean conntrack entries
When the inlet container starts, there is a race condition between the
moment Docker sets up a competing listening socket on the host to
ensure the port is free and the moment it sets up the NAT rules. If
packets are received during this interval, a conntrack entry is
created and the NAT rule is ignored. These entries need to be flushed.
Docker tries to do that but is not very successful. The service watch
docker events and flush the needed conntrack entries when the
container starts.
2022-07-18 20:40:53 +02:00
Vincent Bernat
1e147704c7 inlet: classify exporters to group, role, site, region, and tenant
Previously, this was done only for groups. Encoding everything into
groups is a bit restrictive. The same should be done for IP networks.
2022-07-18 11:01:30 +02:00
Vincent Bernat
2e6ede700b doc: mention that SNMP is required for Akvorado to work 2022-07-18 09:25:22 +02:00
Vincent Bernat
c6b7f1f98e doc: move quick start earlier in the documentation
Also mention the need for Kafka and ClickHouse as a separate component.
2022-07-15 11:02:09 +02:00
Vincent Bernat
dcb77c0507 doc: update a bit the intro 2022-06-29 12:08:38 +02:00
Vincent Bernat
ce7fce32ba console: switch to Vue.JS + Tailwind CSS + Headless UI for the frontend 2022-04-06 21:03:19 +02:00
Vincent Bernat
1dc253764d global: split Akvorado into 3 services 2022-04-01 20:21:53 +02:00