mirror of
https://github.com/akvorado/akvorado.git
synced 2025-12-12 06:24:10 +01:00
docker: do not enable eBPF by default :(
It requires Linux 5.8+ and this may trigger some support request for little gain.
This commit is contained in:
8
.github/e2e.hurl
vendored
8
.github/e2e.hurl
vendored
@@ -67,14 +67,6 @@ inlet_sentflows: jsonpath "$.data.result[0].value[1]" toInt
|
|||||||
[Asserts]
|
[Asserts]
|
||||||
variable "inlet_sentflows" >= {{ inlet_receivedflows }}
|
variable "inlet_sentflows" >= {{ inlet_receivedflows }}
|
||||||
|
|
||||||
## Test inlet has eBPF running
|
|
||||||
GET http://127.0.0.1:8080/prometheus/api/v1/query
|
|
||||||
[Query]
|
|
||||||
query: akvorado_inlet_flow_input_udp_ebpf_loaded{job="akvorado-inlet"}
|
|
||||||
HTTP 200
|
|
||||||
[Asserts]
|
|
||||||
jsonpath "$.data.result[0].value[1]" toInt == 1
|
|
||||||
|
|
||||||
## Check outlet received flows from Kafka
|
## Check outlet received flows from Kafka
|
||||||
GET http://127.0.0.1:8080/prometheus/api/v1/query
|
GET http://127.0.0.1:8080/prometheus/api/v1/query
|
||||||
[Query]
|
[Query]
|
||||||
|
|||||||
@@ -431,6 +431,7 @@ In the example above, there were 486525 drops. You can solve this in different w
|
|||||||
is often near the value of `kafka`→`queue-size`, increase this value. This
|
is often near the value of `kafka`→`queue-size`, increase this value. This
|
||||||
setting has the most impact.
|
setting has the most impact.
|
||||||
1. Increase the number of workers for the UDP input.
|
1. Increase the number of workers for the UDP input.
|
||||||
|
1. Enable the eBPF load balancer on Linux (check `docker/docker-compose-local.yml`).
|
||||||
1. Increase the value of the `net.core.rmem_max` sysctl (on the host) and
|
1. Increase the value of the `net.core.rmem_max` sysctl (on the host) and
|
||||||
increase the `receive-buffer` setting for the input to the same value,
|
increase the `receive-buffer` setting for the input to the same value,
|
||||||
1. Increase the number of Kafka brokers.
|
1. Increase the number of Kafka brokers.
|
||||||
|
|||||||
@@ -12,24 +12,13 @@ identified with a specific icon:
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
This release brings per-packet load-balancing for incoming flows using eBPF on
|
If you were experiencing packet loss in the inlet after upgrading to 2.0.x,
|
||||||
Linux. Previously, exporters were tied to one worker, triggering packet loss
|
increase the value of `inlet`→`kafka`→`queue-size`, which was set too low. The
|
||||||
despite many workers available. This requires Linux 5.8+ (support of `CAP_BPF`).
|
new shipped value is 4096 instead of 32.
|
||||||
For older kernels, add this to your `docker/docker-compose-local.yaml`:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
services:
|
|
||||||
akvorado-inlet:
|
|
||||||
cap_add: !override
|
|
||||||
- SYS_ADMIN # BPF capability is supported only from Linux 5.8
|
|
||||||
```
|
|
||||||
|
|
||||||
However, if you were experiencing packet loss in the inlet after upgrading to
|
|
||||||
2.0.x, increase the value of `inlet`→`kafka`→`queue-size`, which was set too
|
|
||||||
low. The new shipped value is 4096 instead of 32.
|
|
||||||
|
|
||||||
- 💥 *config*: stop shipping demo exporter configurations from the orchestrator
|
- 💥 *config*: stop shipping demo exporter configurations from the orchestrator
|
||||||
- 💥 *inlet*: load-balance incoming UDP packets to all workers using eBPF on Linux
|
- ✨ *inlet*: load-balance incoming UDP packets to all workers using eBPF on
|
||||||
|
Linux (check `docker/docker-compose-local.yaml` to enable)
|
||||||
- 🩹 *inlet*: fix `akvorado_inlet_flow_input_udp_in_dropped_packets_total` metric
|
- 🩹 *inlet*: fix `akvorado_inlet_flow_input_udp_in_dropped_packets_total` metric
|
||||||
- 🩹 *console*: fix completion tooltip being wrapped with Firefox
|
- 🩹 *console*: fix completion tooltip being wrapped with Firefox
|
||||||
- 🌱 *config*: increase `inlet`→`kafka`→`queue-size` to a more sensible value
|
- 🌱 *config*: increase `inlet`→`kafka`→`queue-size` to a more sensible value
|
||||||
|
|||||||
@@ -110,9 +110,9 @@
|
|||||||
# - subnet: 2001:db8::/64
|
# - subnet: 2001:db8::/64
|
||||||
# gateway: 2001:db8::1
|
# gateway: 2001:db8::1
|
||||||
|
|
||||||
# If you are running an older kernel than Linux 5.8, you need to uncomment the following block:
|
# You can enable the eBPF load balancer to evenly spread load between workers:
|
||||||
|
|
||||||
# services:
|
# services:
|
||||||
# akvorado-inlet:
|
# akvorado-inlet:
|
||||||
# cap_add: !override
|
# cap_add:
|
||||||
# - SYS_ADMIN # BPF capability is supported only from Linux 5.8
|
# - BPF # or SYS_ADMIN if you don't have Linux 5.8+
|
||||||
|
|||||||
@@ -155,8 +155,6 @@ services:
|
|||||||
kafka:
|
kafka:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
command: inlet http://akvorado-orchestrator:8080
|
command: inlet http://akvorado-orchestrator:8080
|
||||||
cap_add:
|
|
||||||
- BPF
|
|
||||||
volumes:
|
volumes:
|
||||||
- akvorado-run:/run/akvorado
|
- akvorado-run:/run/akvorado
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
Reference in New Issue
Block a user