Cloudprober is a monitoring software that makes it super-easy to monitoravailability and performance of various components of your system. Cloudproberemploys the "active" monitoring model. It runs probes against (or on) yourcomponents to verify that they are working as expected. For example, it can runa probe to verify that your frontends can reach your backends. Similarly it canrun a probe to verify that your in-Cloud VMs can actually reach your on-premisesystems. This kind of monitoring makes it possible to monitor your systems'interfaces regardless of the implementation and helps you quickly pin downwhat's broken in your system.
Features
Automated target discovery for Cloud targets. GCE and Kubernetesare supported out-of-the-box, other Cloud providers can be added easily.
Integration with open source monitoring stack ofPrometheus and Grafana.Cloudprober exports probe results as counter based metrics that work wellwith Prometheus and Grafana.
Fast and efficient built-in implementations for the most common types ofchecks: PING (ICMP), HTTP, UDP, DNS. Especially PING and UDP probes areimplemented in such a way that thousands of hosts can be probed withminimal resources.
Arbitrary, complex probes can be run through the external probe type. Forexample, you could write a simple script to insert and delete a row in yourdatabase, and execute this script through the 'EXTERNAL' probe type.
Standard metrics - total, success, latency. Latency can be configuredto be a distribution (histogram) metric, allowing calculations ofpercentiles.
Strong focus on ease of deployment. Cloudprober is written entirely in Go,and compiles into a static binary. It can be easily deployed, either as astandalone binary or through docker containers. Thanks to the automated,continuous, target discovery, there is usually no need to re-deploy orre-configure cloudprober in response to most of the changes.
Low footprint. Cloudprober docker image is small, containing just thestatically compiled binary and it takes very little CPU and RAM to run evena large number of probes.
Extensible architecture. Cloudprober can be easily extended along most ofthe dimensions. Adding support for other Cloud targets, monitoring systemsand even a new probe type, is straight-forward and fairly easy.
We'd love to hear your feedback. If you're using Cloudprober, would you pleasemind sharing how you use it by adding a comment here. It will be a great help inplanning Cloudprober's future progression.