Upgrade the Collector
When you're ready to upgrade the Collector to a new version, determine your current version before upgrading. You can then upgrade the Collector based on your installation method.
Chronosphere supports Collector versions for one year from their release dates. Use only a supported version, unless explicitly instructed otherwise by Chronosphere Support. If you experience issues, upgrade to the latest supported version.
To determine the current version of your Collector, you can:
Open your Collector manifest and locate the
YAML collection. The string includes
VERSION is the Collector
VERSIONis the current version number of the Collector.
The Collector exposes a debug endpoint that you can query to return the Collector version. To query this endpoint, run the following request:
curl -X GET http://LISTEN_ADDRESS/debug/version
listenAddressis the address that the Collector serves requests on. Default:
The response is a JSON representation of the Collector version information, which is the same information the Collector prints when starting. For example:
In the navigation menu select Metrics > Explorer to access the Metrics Explorer.
Enter the following query in the query field.
count(chronocollector_build_information) by (build_version, instance)
Click Run query.
The version of each Collector instance displays in the
build_versioncolumn of the query results table. For example:
Time build_version instance 2023-02-15 11:07:15 v0_99_0 test-env/chronocollector-test3-2z8dx 2023-02-15 11:07:15 v0_90_0 test-env/chronocollector-test3-4vcd9
After determining your current version, you're ready to upgrade your Collector. Your installation method determines how you upgrade the Collector.
If you deployed your Collector as a Kubernetes DaemonSet or Deployment, complete the following steps to upgrade your Collector.
Open your Collector manifest and locate the
imagestring, modify the version number to the version that you want to upgrade to. For example, the following
0.99.0of the Collector:
spec: ... template: spec: containers: - env: image: gcr.io/chronosphereio/chronocollector:v0.99.0
Complete a rolling restart of your pods:
kubectl rollout restart daemonset chronocollector -n NAMESPACE
NAMESPACEis your Kubernetes namespace.
Re-enable port forwarding for your Collector. The following command enables port forwarding on port
kubectl port-forward chronocollector-POD_NAME 3030
If you deployed your Collector as a standalone binary, download the latest version and redeploy the Collector.
Refer to the Standalone Collector installation page for steps on how to download the latest binary and redeploy it.
By default, older versions of Collector used Kubernetes' older Endpoints API for
endpoint discovery. In Collector v0.85.0, Chronosphere introduced support for the newer EndpointSlices
API of Kubernetes v1.21 and later, the configuration of which included setting the
true and configuring your
resources to use EndpointSlices, such as in the steps to
Enable ServiceMonitor discovery.
Collector v0.104.0 and later exclusively use the
EndpointSlices API (opens in a new tab)
and ignore the
useEndpointSlices setting. If you've enabled endpoint discovery
but haven't enabled and configured EndpointSlices, this is a breaking change
from older versions of Collector.
The v0.101.0 release introduces a new Protocol Buffer (Protobuf) format for Collector-to-Collector communication. This Protobuf format aligns with the Prometheus format.
This format change is a breaking change for environments with a proxy deployment architecture where a Collector communicates directly with another Collector. If you don't use proxy Collectors, this change doesn't impact your installation.
Collector v0.104.0 and later use the new format by default. When using proxy Collectors and upgrading from v0.100.2 and earlier to v0.104.0 or later, you must upgrade using these steps.
To upgrade when using proxy Collectors:
Upgrade all proxy Collectors to v0.101.0 or later.
After upgrading to v0.101.0 or later, the proxy Collectors can safely support the old and new Protobuf formats. Upgrading the proxy tier doesn't affect scraping Collectors.
Upgrade all downstream scraping Collectors that communicate with the proxy tier.
The upgraded scraping Collectors can now use the new Protobuf format to communicate with the proxy Collectors.
Collectors running v0.101.0 to v0.103.0 are backward compatible with both the old and new Protobuf formats. It's safe to run earlier versions of scraping Collectors alongside proxy Collectors running v0.101.0 to v0.103.0.
The following diagram illustrates an architecture where scraping Collectors communicate with proxy Collectors: