Traefik logs every request with the client IP and User-Agent — app
traffic included, from people who never open the website. Measured: 590 MB
across 7 files, pruned weekly. Now pruned daily.
The obvious fix would have silently disarmed CrowdSec. Traefik can
drop ClientHost, which removes every IP and keeps the User-Agent the
install-funnel analysis needs — it looks like a complete win. But CrowdSec
acquires from this exact container log (source: docker, container_name: edge-traefik-1), so dropping the field leaves it parsing lines with no
address, banning nobody, with nothing reporting a problem.
The log serves two masters with opposite needs: the funnel wants the
User-Agent and not the IP, CrowdSec wants the IP and not the User-Agent.
One stream, so the only lever that helps both is TIME.
Truncating a file a tailer is reading can leave it seeking past EOF, so
that was verified rather than assumed: across the change with fresh
traffic, CrowdSec's reads went 1,642,488 -> 1,642,529 and parsed
1,585,311 -> 1,585,351.
And cscli metrics rounds to 1.64M, which a dozen lines cannot
move — the check only means anything with -o json.
Cleared while here: geogate mounts read-only and writes nothing
persistent (56 KB container log); CrowdSec's own alert store is
self-limiting at ~6 hours.
Traefik logs every request with the client IP and User-Agent — app
traffic included, from people who never open the website. Measured: 590 MB
across 7 files, pruned weekly. Now pruned daily.
**The obvious fix would have silently disarmed CrowdSec.** Traefik can
drop `ClientHost`, which removes every IP and keeps the User-Agent the
install-funnel analysis needs — it looks like a complete win. But CrowdSec
acquires from this exact container log (`source: docker, container_name:
edge-traefik-1`), so dropping the field leaves it parsing lines with no
address, banning nobody, with nothing reporting a problem.
The log serves two masters with opposite needs: the funnel wants the
User-Agent and not the IP, CrowdSec wants the IP and not the User-Agent.
One stream, so the only lever that helps both is TIME.
Truncating a file a tailer is reading can leave it seeking past EOF, so
that was verified rather than assumed: across the change with fresh
traffic, CrowdSec's reads went 1,642,488 -> 1,642,529 and parsed
1,585,311 -> 1,585,351.
And `cscli metrics` rounds to `1.64M`, which a dozen lines cannot
move — the check only means anything with `-o json`.
Cleared while here: geogate mounts read-only and writes nothing
persistent (56 KB container log); CrowdSec's own alert store is
self-limiting at ~6 hours.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Traefik logs every request with the client IP and User-Agent — app
traffic included, from people who never open the website. Measured: 590 MB
across 7 files, pruned weekly. Now pruned daily.
The obvious fix would have silently disarmed CrowdSec. Traefik can
drop
ClientHost, which removes every IP and keeps the User-Agent theinstall-funnel analysis needs — it looks like a complete win. But CrowdSec
acquires from this exact container log (
source: docker, container_name: edge-traefik-1), so dropping the field leaves it parsing lines with noaddress, banning nobody, with nothing reporting a problem.
The log serves two masters with opposite needs: the funnel wants the
User-Agent and not the IP, CrowdSec wants the IP and not the User-Agent.
One stream, so the only lever that helps both is TIME.
Truncating a file a tailer is reading can leave it seeking past EOF, so
that was verified rather than assumed: across the change with fresh
traffic, CrowdSec's reads went 1,642,488 -> 1,642,529 and parsed
1,585,311 -> 1,585,351.
And
cscli metricsrounds to1.64M, which a dozen lines cannotmove — the check only means anything with
-o json.Cleared while here: geogate mounts read-only and writes nothing
persistent (56 KB container log); CrowdSec's own alert store is
self-limiting at ~6 hours.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
assigned to @paulhitt
mentioned in commit
0b4782897fmentioned in issue #19
changed the description