Commit Graph

28 Commits

Author SHA1 Message Date
Paul Galceran
38cbaedc3c refactor: simplifies the SQL query 2025-09-06 19:48:22 +02:00
Paul Galceran
f92d2ef9e2 console/filter: add autocomplete for src and dst ports 2025-09-06 19:48:22 +02:00
Itah
3654b93ad8 console/query/filter: Allow configurable LIMIT through input on complete API 2024-03-12 21:15:01 +01:00
Francois Espinet
87a57bf82e Do geoip enrich in clickhouse instead of inlet
One solution to https://github.com/akvorado/akvorado/issues/62
2024-03-11 15:29:09 +01:00
Marvin Gaube
6e18065be6 feat: add completion for custom dictionaries 2023-09-23 19:35:24 +02:00
Vincent Bernat
6dc0b512c6 console/filter: add filtering support for custom columns
Some of the code is based on #870.
2023-09-16 17:19:12 +02:00
Vincent Bernat
0e1b5a3351 common/schema: introduce ICMPv4/ICMPv6 virtual columns 2023-06-03 18:57:19 +02:00
Vincent Bernat
9eee46cade common/schema: add SrcMAC and DstMAC 2023-01-19 23:12:17 +01:00
Vincent Bernat
a8e05548a4 common/schema: add disabled columns
We introduce SrcVlan and DstVlan for that. On next commit, a user will
be able to enable/disable columns. Adding columns will still need to
have code for that.
2023-01-19 17:13:50 +01:00
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
Vincent Bernat
e88d2a2974 common/schema: namespace column members by subsystem
Otherwise, it will be a mess once we introduce IPFIX/sFlow specific fields
2023-01-17 20:53:00 +01:00
Vincent Bernat
7cf38703ae console: extend DstCommunities to handle large communities 2022-09-28 14:42:11 +02:00
Vincent Bernat
9b821419c3 console: use DstCommunities 2022-09-27 00:34:41 +02:00
Vincent Bernat
bd31b80cc0 console: HAS/HASNOT operator for filtering on ASPath 2022-09-27 00:34:41 +02:00
Vincent Bernat
9c90ee89f6 console: use Dst1stAS/Dst2ndAS/Dst3rdAS/DstASPath
DstASPath is not available in filters.
2022-09-27 00:34:41 +02:00
Vincent Bernat
78fb01c223 chore: fix some small issues detected by golangci-lint
But not using it as some linters are either plain incorrect (the one
suggesting to not use nil for `c.t.Context()`) or just
debatable (checking for err value is a good practice, but there are
good reasons to opt out in some cases).
2022-08-10 17:44:32 +02:00
Vincent Bernat
1aa260bae2 console/filter: let parser tells us if we need the main table or not
This is more robust this way. We also introduce the ability to reverse
the direction of a filter.
2022-08-04 18:54:41 +02:00
Vincent Bernat
7340894ad7 console: store ID as uint64 to ensure arch-independent size 2022-07-24 21:46:00 +02:00
Vincent Bernat
02dc9401e2 orchestrator: add more attributes to classify networks
Like for exporters, we add role, site, region, and tenant. This time,
this is done in ClickHouse.
2022-07-18 11:34:56 +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
8be1bca4fd license: AGPL-3.0-only
```
git ls-files \*.js \*.go \
  | xargs sed -i '1i // SPDX-FileCopyrightText: 2022 Free Mobile\n// SPDX-License-Identifier: AGPL-3.0-only\n'
git ls-files \*.vue \
  | xargs sed -i '1i <!-- SPDX-FileCopyrightText: 2022 Free Mobile -->\n<!-- SPDX-License-Identifier: AGPL-3.0-only -->\n'
```
2022-06-29 11:42:28 +02:00
Vincent Bernat
bf0c474726 console: implement "filter/saved" endpoints 2022-06-13 09:50:43 +02:00
Vincent Bernat
9cd90e6a14 console/filter: enable use of SrcNetName and DstNetName 2022-06-03 16:39:46 +02:00
Vincent Bernat
77e1847de2 console: complete Src/Dst AS depending on the requested direction
Also, optimize a bit by just counting matched flows to avoid walking
the Bytes column as well.
2022-06-01 15:39:39 +02:00
Vincent Bernat
95ab124ddc console/frontend: add linting and autocomplete for filters 2022-05-29 16:29:35 +02:00
Vincent Bernat
14e4f02e61 console/filter: also use live data to query AS numbers 2022-05-28 00:39:36 +02:00
Vincent Bernat
4114568600 console/filter: add completion endpoint 2022-05-26 15:58:52 +02:00
Vincent Bernat
dc39c2dc14 console/filter: add filter validation endpoint 2022-05-26 10:41:20 +02:00