summaryrefslogtreecommitdiffhomepage
path: root/cmd/derpprobe
AgeCommit message (Collapse)AuthorFilesLines
2025-08-16cmd/derpprobe,prober: add run all probes handler (#16875)Mike O'Driscoll1-0/+1
Add a Run all probes handler that executes all probes except those that are continuous or the derpmap probe. This is leveraged by other tooling to confirm DERP stability after a deploy. Updates tailscale/corp#27370 Signed-off-by: Mike O'Driscoll <mikeo@tailscale.com>
2025-06-10cmd/{derp,derpprobe},prober,derp: add mesh support to derpprobe (#15414)Mike O'Driscoll1-0/+69
Add mesh key support to derpprobe for probing derpers with verify set to true. Move MeshKey checking to central point for code reuse. Fix a bad error fmt msg. Fixes tailscale/corp#27294 Fixes tailscale/corp#25756 Signed-off-by: Mike O'Driscoll <mikeo@tailscale.com>
2025-05-12cmd/derpprobe: exit with non-zero status if --once fails (#15926)Simon Law1-0/+4
`cmd/derpprobe --once` didn’t respect the convention of non-zero exit status for a failed run. It would always exit zero (i.e. success), even. This patch fixes that, but only for `--once` mode. Fixes: #15925 Signed-off-by: Simon Law <sfllaw@tailscale.com>
2025-03-18tsweb: split promvarz into an optional dependencyDavid Anderson1-0/+3
Allows the use of tsweb without pulling in all of the heavy prometheus client libraries, protobuf and so on. Updates #15160 Signed-off-by: David Anderson <dave@tailscale.com>
2025-01-10prober: support filtering regions by region ID in addition to codePercy Wegmann1-3/+3
Updates tailscale/corp#25758 Signed-off-by: Percy Wegmann <percy@tailscale.com>
2024-12-19cmd/derpprobe,prober: add ability to perform continuous queuing delay ↵Percy Wegmann1-14/+17
measurements against DERP servers This new type of probe sends DERP packets sized similarly to CallMeMaybe packets at a rate of 10 packets per second. It records the round-trip times in a Prometheus histogram. It also keeps track of how many packets are dropped. Packets that fail to arrive within 5 seconds are considered dropped. Updates tailscale/corp#24522 Signed-off-by: Percy Wegmann <percy@tailscale.com>
2024-12-13prober: perform DERP bandwidth probes over TUN device to mimic real clientPercy Wegmann1-13/+14
Updates tailscale/corp#24635 Co-authored-by: Mario Minardi <mario@tailscale.com> Signed-off-by: Percy Wegmann <percy@tailscale.com>
2024-11-15cmd/derpprobe,prober: add ability to restrict derpprobe to a single regionPercy Wegmann1-0/+4
Updates #24522 Co-authored-by: Mario Minardi <mario@tailscale.com> Signed-off-by: Percy Wegmann <percy@tailscale.com>
2024-10-15cmd/derpprobe: add /healthz endpointAndrew Dunham1-0/+5
For a customer that wants to run their own DERP prober, let's add a /healthz endpoint that can be used to monitor derpprobe itself. Updates #6526 Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: Iba315c999fc0b1a93d8c503c07cc733b4c8d5b6b
2024-08-06cmd/derpprobe: use a status page from the prober libraryAnton Tolchanov1-27/+7
Updates tailscale/corp#20583 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2024-06-06cmd/derpprobe: support 'local' derpmap to get derp map via LocalAPIBrad Fitzpatrick1-1/+1
To make it easier for people to monitor their custom DERP fleet. Updates tailscale/corp#20654 Change-Id: Id8af22936a6d893cc7b6186d298ab794a2672524 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-04-02cmd/{derper,derpprobe}: add --version flagBrad Fitzpatrick1-0/+6
Fixes #11582 Change-Id: If99fc1ab6b89d624fbb07bd104dd882d2c7b50b4 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2024-03-13prober: add a DERP bandwidth probeAnton Tolchanov1-6/+20
Updates tailscale/corp#17912 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2023-04-11prober: migrate to Prometheus metric libraryAnton Tolchanov1-3/+1
This provides an example of using native Prometheus metrics with tsweb. Prober library seems to be the only user of PrometheusVar, so I am removing support for it in tsweb. Updates https://github.com/tailscale/corp/issues/10205 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2023-03-20cmd/derpprobe: allow running all probes at the same timeAnton Tolchanov1-1/+2
This allows disabling spread mode, which is helpful if you are manually running derpprobe in `--once` mode against a small number of DERP machines. Updates https://github.com/tailscale/corp/issues/9916 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2023-01-31cmd/derpprobe: migrate to the prober frameworkAnton Tolchanov1-505/+46
`prober.DERP` was created in #5988 based on derpprobe. Having used it instead of derpprobe for a few months, I think we have enough confidence that it works and can now migrate derpprobe to use the prober framework and get rid of code duplication. A few notable changes in behaviour: - results of STUN probes over IPv4 and IPv6 are now reported separately; - TLS probing now includes OCSP verification; - probe names in the output have changed; - ability to send Slack notification from the prober has been removed. Instead, the prober now exports metrics in Expvar (/debug/vars) and Prometheus (/debug/varz) formats. Fixes https://github.com/tailscale/corp/issues/8497 Signed-off-by: Anton Tolchanov <anton@tailscale.com>
2023-01-27all: update copyright and license headersWill Norris1-3/+2
This updates all source files to use a new standard header for copyright and license declaration. Notably, copyright no longer includes a date, and we now use the standard SPDX-License-Identifier header. This commit was done almost entirely mechanically with perl, and then some minimal manual fixes. Updates #6865 Signed-off-by: Will Norris <will@tailscale.com>
2022-11-23cmd/derpprobe: add -once flag for one-off CLI diagnosticsJames Tucker1-0/+15
Updates #6478 Signed-off-by: James Tucker <james@tailscale.com>
2022-08-15net/stun: convert to use net/netip.AddrPortKris Brandow1-1/+1
Convert ParseResponse and Response to use netip.AddrPort instead of net.IP and separate port. Fixes #5281 Signed-off-by: Kris Brandow <kris.brandow@gmail.com>
2022-03-17all: use any instead of interface{}Josh Bleecher Snyder1-3/+3
My favorite part of generics. Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
2022-03-16cmd/derpprobe: don't alert for smaller failures.Denton Gentry1-1/+80
There is a Cosmic Background level of DERP Unreachability, with individual nodes or regions becoming unreachable briefly and returning a short time later. This is due to hosting provider outages or just the Internet sloshing about. Returning a 500 error pages a human. Being awoken at 3am for a transient error is annoying. For relatively small levels of badness don't page a human, just post to Slack. If the outage impacts a significant fraction of the DERP fleet, then page a human. Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2022-01-27cmd/derpprobe: check derper TLS certs tooBrad Fitzpatrick1-0/+54
Change-Id: If8c48e012b294570ebbb1a46bacdc58fafbfbcc5 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-10-28derp: use new node key type.David Anderson1-1/+1
Update #3206 Signed-off-by: David Anderson <danderson@tailscale.com>
2021-10-11cmd/derpprobe: fix fmt bugBrad Fitzpatrick1-1/+1
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-10-11cmd/derpprobe: also do UDP STUN probingBrad Fitzpatrick1-14/+83
Updates #3049 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-07-19cmd/derpprobe: add in a delay to wait for mesh info to syncBrad Fitzpatrick1-0/+7
2021-07-14cmd/derpprobe: bound node pair probe durationBrad Fitzpatrick1-0/+10
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2021-07-13cmd/derpprobe: move from cmd/derper/derpprobeBrad Fitzpatrick1-0/+337
Because our corp build system is confused by nested binaries. Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>