General
- What is Cloudprober?
- How is Cloudprober different from Blackbox Exporter?
- What protocols does Cloudprober support?
- Does Cloudprober support dynamic targets?
- What metrics does Cloudprober export?
- How do I run Cloudprober?
- How do I change the default port?
- What configuration formats are supported?
- Can I run Cloudprober on Kubernetes?
- What is Cloudprober?
- How is Cloudprober different from Blackbox Exporter?
- What protocols does Cloudprober support?
- Does Cloudprober support dynamic targets?
- What metrics does Cloudprober export?
- How do I run Cloudprober?
- How do I change the default port?
- What configuration formats are supported?
- Can I run Cloudprober on Kubernetes?
What is Cloudprober?
Cloudprober is an open-source active monitoring tool that runs probes against your infrastructure and applications, exports metrics, and optionally sends alerts. It’s written in Go and designed to be simple, efficient, and cloud-native.
How is Cloudprober different from Blackbox Exporter?
While both tools perform black-box probing, Cloudprober is a standalone monitoring system with built-in support for dynamic target discovery, multi-protocol probing, integrated alerting, and a status UI. Blackbox Exporter relies on Prometheus to schedule probes, whereas Cloudprober manages its own probe scheduling internally, making it more efficient at scale.
For a more detailed comparison, check out this Medium blog post by Manu Garg.
What protocols does Cloudprober support?
Cloudprober natively supports HTTP/HTTPS, DNS, PING (ICMP), TCP, and UDP probes. For anything beyond these, you can use the EXTERNAL probe type to run custom scripts or binaries as probes.
Does Cloudprober support dynamic targets?
Yes. Cloudprober can automatically discover targets from Kubernetes, GCE, file-based lists, and more. Targets are re-resolved periodically, so your probes stay current as infrastructure changes.
What metrics does Cloudprober export?
Every probe exports at least three metrics: total (probe attempts),
success (successful probes), and latency (cumulative latency in
microseconds). Probe-specific metrics (e.g., HTTP status codes, DNS
resolution details) are also available.
How do I run Cloudprober?
The simplest way to get started:
# Using Go
go install github.com/cloudprober/cloudprober/cmd/cloudprober@latest
cloudprober --config_file cloudprober.cfg
# Using Docker
docker run --net host -v /path/to/cloudprober.cfg:/etc/cloudprober.cfg \
ghcr.io/cloudprober/cloudprober
See the Getting Started guide for detailed instructions.
How do I change the default port?
Set the CLOUDPROBER_PORT environment variable:
CLOUDPROBER_PORT=8080 cloudprober --config_file cloudprober.cfg
What configuration formats are supported?
Cloudprober supports textproto (.cfg), YAML (.yaml/.yml), JSON
(.json), and Jsonnet (.jsonnet) configuration formats. See the
Configuration Guide for details on each format and
examples.
Can I run Cloudprober on Kubernetes?
Yes. Cloudprober works well on Kubernetes and can be deployed using Helm charts. It also supports Kubernetes-native target discovery. See the Running on Kubernetes guide for more details.