[Moved to cloudprober/cloudprober] An active monitoring software to detect failures before your customers do.
Metrics export enhancements
Labeling
Targets Discovery
Bug Fixes
Complete list of commits since the last release: https://github.com/google/cloudprober/compare/v0.11.2...v0.11.3 Bugs/PR in this release: Milestone v0.11.3.
More accurate "ping" latency measurements Cloudprober now uses SO_TIMESTAMP socket option (on non-windows OS) to make latency measurements much more accurate. (#546)
Better isolation in HTTP probes for multiple targets HTTP probes for multiple targets execute in independent goroutines now. This allows for better isolation between probes.
Add HTTP header validator for HTTP probe You can now add a header validator to an HTTP probe (example).
#537 Datagram socket ping (unprivileged ping) over IPv4 is broken for MacOS. #554 Error initializing cloudprober on GKE. #584 Goroutine leaking bug in external probe.
Complete list of commits since the last release: https://github.com/google/cloudprober/compare/v0.11.1...v0.11.2 Bugs/PR in this release: Milestone v0.11.2.
db_status{name=db01,region=us-west-2,status=running} 1.0
db_status{name=db02,region=us-east-1,status=running} 1.0
version{service="service A",dc="xx"} "version 1.5.0"
Also added stackdriver surfacer documentation and an example.
Complete list of commits since the last release: https://github.com/google/cloudprober/compare/v0.11.0...v0.11.1 Bugs/PR in this release: Milestone v0.11.1.
Support for discovering Kubernetes Ingress resources. Here is an example of how to discovery ingresses: https://github.com/google/cloudprober/issues/419#issuecomment-693616468.
Make target labels available for external probe commands. For example, you can use this feature to access target's fqdn label to construct the Host header (Issue with an example: #451).
More target label based customizations for HTTP probe type. HTTP probe now automatically uses "fdqn" label for the Host header and host part of the URL, and "relative_url" label for the relative URL part of the URL. Using these labels, now you can configure just one probe for multiple targets where each target has a different host header and relative URL to probe.
Many thanks to @networkop, @evanSpendlove, @sunshinekitty, @JohnWillker, and @evgenii-petrov-arrival for reporting bugs, and suggesting and contributing fixes.
Complete list of commits since the last release: https://github.com/google/cloudprober/compare/v0.10.9...v0.11.0 Bugs/PR in this release: Milestone v0.11.0.
Targets can be provided through a file (file can be on GCS as well), in text or json format corresponding to the RDS Resource protobuf (#394).
service.namespace.cluster.local
is common in Kubernetes and Istio. With this option you can attach the "fqdn" label to the service and cloudprober HTTP probes will do the right thing (#438).This releases fixes a couple of uncommon bugs:
If kubernetes resources have same names across namespaces, it would cause cloudprober to have duplicate resources (#437), and duplicate resources can cause probe data to get mangled (#436). We track kubernetes resources by both, name and namespace, now (#440) and make sure that targets discovery client doesn't return duplicate resources (#439).
Fix a bug where running configtest on GCE VM panics (#441).
We are changing how you access resource labels in cloudprober configs:
label_<label-name>
instead of labels_<label-name>
. For example, in configs, you can use {{.label_app}}
to refer to the instance's "app" label.@
. For example, to add a label based on target's app label, use @target.label.app@
.These are not widely advertised or used features, so we expect the impact to be minimum.
See https://github.com/google/cloudprober/compare/v0.10.7...v0.10.9 for the complete list of commits since the last release.
This release is now abandoned in favor of v0.10.9.
Support for probing OAuth protected HTTP URLs. This was a popular feature request (#27). OAuth credentials can be specified in multiple ways (Google default credentials, JSON key config, a command that returns access token).
Contrib package: We are introducing a way to host additional binaries and scripts for running with Cloudprober (as external probe for example). These additional binaries will be available in the cloudprober/cloudprober-contrib
docker image.
Bug fixes:
Other features:
gs://
. Useful for storing TLS certs or OAuth keys on GCS (#344).See https://github.com/google/cloudprober/compare/v0.10.6...v0.10.7 for the complete list of commits since the last release.
See https://github.com/google/cloudprober/compare/v0.10.5...v0.10.6 for the complete list of commits since the last release.
Additional label support. You can now add additional labels to probe results. See an example here. Note that this works only for HTTP probe right now.
Dynamic targets discovery for Kubernetes pods (Example). We'll add more resource types in the next release.
Lameduck module now supports reading target names from Google Cloud Pub/Sub.
More code cleanup and refactoring.
See https://github.com/google/cloudprober/compare/v0.10.4...v0.10.5 for the complete list of commits since the last release.
Add a gRPC to dynamically configure cloudprober. You'll be able to add/remove/list probes using this service. Here is the Go API to interact with this server: CloudproberServer. Example client to work with the gRPC service: client.go.
Extend external probe to add ability to parse "map" and "distribution" metric types from the probe output.
Streamline the usage of source_ip_config and ip_version options throughout cloudprober. These options can now be configured at the outer layer instead of probe-type specific configs. This change makes the usage of these fields much more predictable and consistent.
Bug fixes:
All changes since the last release (note that v0.10.3 is deprecated because of #264): https://github.com/google/cloudprober/compare/v0.10.2...v0.10.4