Releases: GoogleCloudPlatform/prometheus-engine
v0.12.0
We have just released version v0.12.0
of our managed collection for Kubernetes and v2.45.3-gmp.7-rc.0
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation. Users who deploy the service using gcloud
or the GKE UI are being upgraded on clusters running version 1.28 or newer. Self-deployed collection users should upgrade their binaries to use v2.45.3-gmp.7-rc.0
.
Changes in managed collection v0.12.0
:
- [ENHANCEMENT] Added support for specifying a remote write URL.
- [ENHANCEMENT] Enabled Boringcrypto.
- [ENHANCEMENT] Added support for compression for Rules resources.
- [ENHANCEMENT] Added the ability to reference BasicAuth passwords used to authenticate against scrape endpoints.
- [ENHANCEMENT] Added the ability to reference Authentication credentials used to authenticate against scrape endpoints.
- [ENHANCEMENT] Added the ability to reference OAuth client secrets used to authenticate against scrape endpoints.
- [ENHANCEMENT] Added the ability to reference TLS certificates used to authenticate against scrape endpoints.
- [ENHANCEMENT] The operator now supports healthz and readyz endpoints.
- [BUGFIX] Config reloader is more resiliant against errors.
v0.10.0
We have just released version v0.10.0
of our managed collection for Kubernetes and prometheus:v2.43.1-gmp.0-gke.0
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation. Users who deploy the service using gcloud
or the GKE UI are being upgraded on clusters running version 1.27 or newer. Self-deployed collection users should upgrade their binaries to use gke.gcr.io/prometheus-engine/prometheus:v2.43.1-gmp.0-gke.0
.
Changes in managed collection v0.10.0
:
- [ENHANCEMENT] Introduced the datasource-syncer as a preferred way to authorize Grafana for querying, replacing the frontend binary.
- [ENHANCEMENT] Added mTLS parameters for datasource-syncer.
- [ENHANCEMENT] Added mTLS settings (excluding certificates) for scrape configurations.
- [ENHANCEMENT] Removed some unused RBAC permissions.
- [ENHANCEMENT] Managed Rule-evaluator and Alertmanager now scale down when no rules or alerts are configured.
- [ENHANCEMENT] Added BasicAuth Username setting for scrape endpoints (password coming soon)
- [ENHANCEMENT] Added Authorization Header Scheme setting for scrape endpoints (credentials coming soon)
- [ENHANCEMENT] Added OAuth 2 settings (excluding client secrets) for scrape endpoints
- [ENHANCEMENT] Add support for
web.external-url
for managed alertmanager - [SECURITY] Reduce RBAC permissions of components
v0.8.2
We have just released version v0.8.2
of our managed collection for Kubernetes and prometheus:v2.41.0-gmp.9-gke.0
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation.
Users who deploy the service using gcloud
or the GKE UI are being upgraded on clusters running version 1.25 or newer.
Self-deployed collection users should upgrade their binaries to use gke.gcr.io/prometheus-engine/prometheus:v2.41.0-gmp.9-gke.0
.
Changes in managed collection v0.8.2
:
- [SECURITY] Build images using go 1.20.12 to mitigate
CVE-2023-45285
andCVE-2023-39326
vulnerabilities.
v0.8.0
We have just released version v0.8.0
of our managed collection for Kubernetes and prometheus:v2.41.0-gmp.7-gke.0
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation.
Users who deploy the service using gcloud
or the GKE UI are being upgraded on clusters running version 1.25 or newer.
Self-deployed collection users should upgrade their binaries to use gke.gcr.io/prometheus-engine/prometheus:v2.41.0-gmp.7-gke.0
.
Changes in managed collection v0.8.0
:
- [FEATURE] Add gzip-compression option to generated Prometheus config
- [ENHANCEMENT] Add
rule_evaluator_query_requests_total
andrule_evaluator_query_requests_latency_seconds
metrics to rule-evaluator to measure query performance. - [ENHANCEMENT] Added BasicAuth, Authorization header, OAuth 2 and mTLS support into the example app.
Changes in self-deployed collection v2.35.0-gmp.7-gke.0
- [ENHANCEMENT] Patched various security vulnerabilities through dependency upgrades.
v0.7.4
We have just released version v0.7.4
of our managed collection for Kubernetes and v2.41.0-gmp.4-gke.1
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation.
Users who deploy the service using gcloud
or the GKE UI are being upgraded on clusters running version 1.27 or newer. Older minor versions will be backported in the coming weeks
Self-deployed collection users should upgrade their binaries to use gke.gcr.io/prometheus-engine/prometheus:v2.41.0-gmp.4-gke.1
.
Changes in managed collection v0.7.4
:
- [ENHANCEMENT] Remove two high-cardinality, barely-queried metrics from the cAdvisor package (
container_blkio_device_usage_total
andcontainer_memory_failures_total
) - [ENHANCEMENT] Log an error when unable to fetch Google Cloud metadata
- [ENHANCEMENT] frontend: Updated UI to Prometheus v2.45.0; fixed scripts & added docs on how to dev UI
- [ENHANCEMENT] export: Exposed internal shard + buffer sizing flags as exorted options.
- [ENHANCEMENT] Use JSON logger for all components
- [ENHANCEMENT] Patch various security vulnerabilities through go 1.20 patch upgrade and Docker buildbase upgrade to Debian 12.
- [ENHANCEMENT] Set default interval for ScrapeEndpoint
- [BUGFIX] Add syntax validation for GlobalRules
- [BUGFIX] Fix cluster label auto-populate in GCE
v0.7.0
We have just released version v0.7.0
of our managed collection for Kubernetes and v2.35.0-gmp.5-gke.0
of self-deployed collection.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation. Users who deploy the service using gcloud
or the GKE UI are already upgraded on clusters running version 1.25 or newer. Self-deployed collection users should upgrade their binaries to use gke.gcr.io/prometheus-engine/prometheus:v2.35.0-gmp.5-gke.0
.
Changes in managed collection v0.7.0
:
- [FEATURE]
PodMonitoring
andClusterPodMonitoring
now can be configured to display statistics and samples of active targets in its status field, which is useful to determine whether scrape failures might be caused by malformed scrape configs that match no targets. See the documentation for how to use the target status report. - [FEATURE] Support for ingestion and querying of Prometheus exemplars, which allow you to correlate histogram metrics (such as a distribution of latencies) with traces. See the documentation for how to use exemplars.
- [ENHANCEMENT] Support for multi-arch builds (both AMD64 and ARM64 node architectures are now supported).
- [ENHANCEMENT] Remedy GKE security posture alerts so all containers run as non-root.
- [BUGFIX] Handle exporters that write histogram series out-of-order.
- [ENHANCEMENT] Deprecated
v1alpha1
CRDs. - [BUGFIX] Fix a bug to tolerate if the managed alert manager is deployed with a pod IP address that is not part of RFC 6890 with a default route.
- [ENHANCEMENT] Re-format user agent to auto-discover operating environment.
- [BUGFIX] Fix stand-alone rule-evaluator init container bug
- [BUGFIX] Fix config-reloader bug to mitigate Prometheus collectors transient crash looping on startup
- [ENHANCEMENT] Clean-up and refactor some collector “self-metrics”.
- [BUGFIX] Allow Prometheus to default to “replace” when
RelabelingRule.Action
is unspecified, as per the docs. - [ENHANCEMENT] Added safeguard checks to our webhooks to reject empty secret names
- [ENHANCEMENT] Remove CPU limits to prevent underutilizing CPU cycles
Changes in self-deployed collection v2.35.0-gmp.5-gke.0
:
- [FEATURE] Support for ingestion and querying of Prometheus exemplars, which allow you to correlate histogram metrics (such as a distribution of latencies) with traces. See the documentation for how to use exemplars.
- [ENHANCEMENT] Support for multi-arch builds (AMD64 and ARM64 node architectures are now supported).
v0.5.0
We have just released version 0.5.0 of our managed collection for Kubernetes.
Users who deploy managed collection using kubectl
should reapply the manifests in the documentation. Users who deploy the service using gcloud
or the GKE UI will be upgraded on a rolling basis, with 1.24 upgrading right now and older clusters starting next week. This release has no impact on self-deployed collection users.
Separately, PromQL is now available within the Cloud Monitoring console.
Changes in managed collection v0.5.0
:
- A managed Alertmanager deployment now comes out-of-the-box. This can be configured through the
OperatorConfig.managedAlertmanager
field. See the documentation for instructions on how to configure the managed AlertManager. - Move the collector and rule-evaluator manifests out of the operator control loop. This allows for more fine-grained customization of the managed resources, while letting the operator configure them at runtime.
- Permit setting managed collection metrics compression in the
OperatorConfig
. - Support basic authentication in the GMP frontend.
- Add init containers to prevent collector and rule-evaluator transient crashes on start-up.
- Scope operator controller watch and limit RBAC permissions of the operator service account.
v0.4.3-gke.0
Changes in v0.4.3-gke.0:
- Fix a bug in provisioning memory in collectors and allow CPU limit configuration.
- Enforce project_id, location, and cluster labels to always use the values provided through Prometheus external labels (e.g. self-deployed) or operator configuration (managed collection). Setting any reserved labels outside of that will cause them to be relabeled with the prefix “exported_”.
- Add reasonable yet high defaults for resource allocation for all components. This should allow GMP to be deployed on clusters with mandatory resource limit requirements.
- Add instructions for using HPA with prometheus-adapter.
- Added example deployment and scraping CRDs for kube-state-metrics.
- Add best practices and reference diagrams to documentation.
- Add SecCompProfile to obey k8s security requirements.
- Fix a bug to allow the k8s cluster autoscaler to evict GMP pods when removing nodes.
Users who deploy managed collection using kubectl should reapply the manifests in the documentation. Users who deploy the service using gcloud or the GKE UI will be upgraded on a rolling basis, with 1.24 already upgraded, 1.23 scheduled for this week, and older clusters after that. This release has no impact on self-deployed collection users.
Please note that due to a rollout issue, most gcloud deployments never were upgraded to 0.4.1. Therefore, for gcloud users this release also includes the changes from 0.4.1. Note that this release may result in your auto-added “container” label disappearing. To fix this, use a named port instead of a numeric port.
Independently of this release, querying Cloud Monitoring metrics using PromQL is now available for all users.
v0.4.1
- Fix numerical port behavior
- This removes the limitation introduced in v0.4.0. Specifying a numerical port in a PodMonitoring will always work again but the
container
target label is only available when referencing named ports. This is also better aligned with Kubernetes' pod port semantics, where only named ports can unambiguously be resolved to a specific container.
- This removes the limitation introduced in v0.4.0. Specifying a numerical port in a PodMonitoring will always work again but the
- Rule-evaluator readiness check no longer expects successfully calling the GMP query API.
- Support specifying a generator URL via OperatorConfig and rule-evaluator flag to be sent with alerts.
- Update the Prometheus UI version in the frontend binary.
- external_labels now take precedence over the
--export.label.*
flag values. - Accept extra args via the
EXTRA_ARGS
environment variable. This allows significantly easier usage with prometheus-operator. - Use port 443 for webhook (operator) service
- Use port 10250 for admission webhooks
Users who deploy managed collection using kubectl should reapply the manifests in the documentation. Users who deploy the service using gcloud or the GKE UI will be automatically upgraded within a week or so. This release has no impact on self-deployed collection users.
A new GMP Prometheus binary depending on this version was made available as version v2.35.0-gmp.2
(container image: gke.gcr.io/prometheus-engine/prometheus:v2.35.0-gmp.2-gke.0
).
v0.4.0
- Resources (PodMonitoring, Rules, etc.) are now available as v1Existing resources are upgraded automatically.
- Applying v1alpha1 manifests will still work as well.
- Scraping of kubelet and cadvisor metrics can now be enabled through the OperatorConfig (documentation)
- Pods controlled by a DaemonSet will now contain the node name instead of the pod name in the "instance" label
- This provides a better user experience for dashboards that template on the instance label, such as those for the node exporter. The pod name remains available through the "pod" label as well.
- Node selectors were added to only deploy on linux/amd64 nodes
- Reduced RBAC permissions given to the operator
- Ensure automount of serviceaccount token in deployed pods
- Set minimized security context in deployed pods
- Fix bug in generated scrape configurations for numeric ports
- This brings a new limitation imposed by the underlying Prometheus logic. If a pod has no declared ports, specifying a numeric port in a PodMonitoring will still work. If the pod has any ports declared however, numeric ports used in PodMonitorings must be declared as well. Previously the latter case worked even without declaring the numeric port, but this has an undesired edge case.
- Fix a bug where updates to GlobalRules were not handled immediately
- When enabling Managed Collection through the Cloud console or gcloud, the OperatorConfig is now modifiable and will no longer be reset to the default state.
Users who deploy managed collection using kubectl should reapply the manifests in the documentation. Users who deploy the service using gcloud or the GKE UI will be automatically upgraded within a week or so. This release has no impact on self-deployed collection users.