grafana / synthetic-monitoring-agent

Synthetic Monitoring Agent
https://grafana.com/docs/grafana-cloud/how-do-i/synthetic-monitoring/
Apache License 2.0
155 stars 20 forks source link

Specifying `--blocked-nets=""` does not clear the IP denylist for multihttp checks #735

Open roobre opened 2 weeks ago

roobre commented 2 weeks ago

The value of --blocked-nets, which defaults to 10.0.0.0/8, eventually makes it verbatim (after validation) to the --blacklist-ip k6 flag: https://github.com/grafana/synthetic-monitoring-agent/blob/e6f47620c627339cf100d6eea50c286ec304660a/internal/k6runner/k6runner.go#L455

However, specifying an empty value will not clear the in-script default value we set for multihttp checks: https://github.com/grafana/synthetic-monitoring-agent/blob/e6f47620c627339cf100d6eea50c286ec304660a/internal/prober/multihttp/script.tmpl#L43

Fixing this proper will require refactoring the script generation code so it can get not only check settings, but also settings local to the probe. This work was started in #732, but still requires more effort.

Workaround

A workaround for this issue is to specify a non-empty, no-op CIDR that would filter no (real) addresses, e.g. --blocked-nets=0.0.0.0/32. This will override the default value for all checks, including multihttp.

mem commented 2 weeks ago

Adding "component: agent" for now. That's not exactly true.