swarm-victorialogs: size the agent-auth limit for a host booting its agents together
All agents on a host reach the gateway from one address and share one limit_req budget; a host boot is one cache miss per agent at once. Defaults go from 5r/s burst 20 to 50r/s burst 500. The module-eval case reads the option values.
This commit is contained in:
parent
8be4030d03
commit
bff605035c
3 changed files with 18 additions and 15 deletions
|
|
@ -555,10 +555,11 @@ let
|
|||
l = allLocal.services.nginx.virtualHosts."logs.t.local".locations;
|
||||
http = allLocal.services.nginx.appendHttpConfig;
|
||||
unit = allLocal.systemd.services.swarm-logs-auth;
|
||||
v = allLocal.services.hyperhive.deploy.victorialogs;
|
||||
in
|
||||
lib.hasInfix "limit_req_zone $binary_remote_addr zone=swarm_logs_agent_auth:1m rate=5r/s;" http
|
||||
lib.hasInfix "limit_req_zone $binary_remote_addr zone=swarm_logs_agent_auth:1m rate=${v.authRate};" http
|
||||
&&
|
||||
lib.hasInfix "limit_req zone=swarm_logs_agent_auth burst=20 nodelay;"
|
||||
lib.hasInfix "limit_req zone=swarm_logs_agent_auth burst=${toString v.authBurst} nodelay;"
|
||||
l."= /__swarm_logs_agent_auth".extraConfig
|
||||
&& lib.hasInfix "limit_req_status 403;" l."= /__swarm_logs_agent_auth".extraConfig
|
||||
&& !(lib.hasInfix "limit_req" l."^~ /select/logsql/".extraConfig)
|
||||
|
|
|
|||
Loading…
Reference in a new issue