Page MenuHomePhabricator

Better support for blackbox checks against public/frontend endpoints
Open, Needs TriagePublic

Description

ATM the prometheus::blackbox::check::http puppet abstraction requires ip v4/v6 of its target, and defaults to the host/address the check is defined on.

This is normally fine since we want to run probes against the host itself, the abstraction kinda leaks when we'd like to run checks against frontend endpoints like commons.wikimedia.org. In those cases we're passing the either the service IP (in the phabricator case we have that in puppet) or resolving the name at puppet run time, which as @Vgutierrez pointed out has a problem when we're depooling sites.

Ideally I think we should be going for optional ip address and support resolution when the probe runs. The ip v4/v6 are labels of the probe metrics at the moment, so in that case we wouldn't/couldn't have the addresses in the metrics, which might be ok too. cc @jbond

Event Timeline

resolving the name at puppet run time, which as @Vgutierrez pointed out has a problem when we're depooling sites.

This also has the issue that we only ever check text-lb.eqiad.wikimedia.org. or text-lb.codfw.wikimedia.org. (based on the puppetmaster that compiles the catalog) and never the pop sites.

Im curious why is this not covered by the service::catalog checks?

resolving the name at puppet run time, which as @Vgutierrez pointed out has a problem when we're depooling sites.

This also has the issue that we only ever check text-lb.eqiad.wikimedia.org. or text-lb.codfw.wikimedia.org. (based on the puppetmaster that compiles the catalog) and never the pop sites.

Im curious why is this not covered by the service::catalog checks?

good quesiton, "commons" per se isn't a service::catalog service, and this AIUI this check is meant to be high/app level (e.g. no need to check from all sites)

for the archives: we went with text-lb.${::site}.wikimedia.org for now

Btw. this is true also for some of WMCS services, like toolforge.org, toolserver.org and others.