github grafana/agent v0.19.0

latest releases: v0.43.1, v0.43.0, v0.43.0-rc.0...
2 years ago

It's been several months in the making, but version v0.19.0 of Grafana Agent is finally ready! I want to begin by thanking everyone who has contributed to this release; the full list of contributiors with the things they did for the project can be found in the CHANGELOG.

Now, I want to talk about why it took so long for us to get here. We made several large changes for v0.19.0 that were implemented across multiple PRs. While this made code review easier, it also prevented us from cutting a release since we didn't consider those changes "ready." Then, when we identified bugs in v0.18.0 that we wanted to fix, we had no choice but to backport fixes for a new v0.18.X release. This caused some confusion, as people who were waiting for something in main had to keep waiting until this release finally shipped.

We want to prevent a situation like this from happening again, and we're going to adopt a new branching strategy for dealing with large changes. We decided on the dev branch strategy that I noticed the Go team using for the upcoming fuzzing support. The dev.* branches will be used to implement significant changes that would block a release, and will help us keep main near releasable at all times. While a maintainer has to create a dev.* branch, we're more than happy to create one for anyone who is planning on contributing a significant chunk of work; please let us know if you are going to do this.

With that out of the way, let's see what's new!

Upgrading

⚠️ THIS RELEASE HAS BREAKING CHANGES ⚠️

Read the migration guide for specific instructions on upgrading from older versions.

Notable changes:

This release contains an enormous amount of features, changes, and bug fixes.

One large item to note is how we've deprecated the prometheus/loki/tempo terminology in the config file in favor of logs/metrics/traces. This will hopefully disambiguate discussions when discussing both the Grafana Agent config and the config for one of those databases. The old keys will continue to work for a while, but we would recommend changing to the new terms when you can. Newer fields that reference prometheus/loki/tempo have been changed without support for aliasing; please check the migration guide for more information.

Grafana Agent Operator now has support for logging through a PodLogs CRD! This CRD is configured much like you would configure a PodMonitor. We've also changed the CRDs to include the same Prometheus -> Metrics name change. This is a breaking change (unlike the base Agent config file) and you will need to update your CRDs to accomodate for v0.19.0. To support zero-downtime upgrades, agentctl now has an operator-detach command that removes ownerReferences from all operator-owned resources.

There's a lot of other great contributions that I think are better served by just referencing the full list instead of transcribing them. For the full list of changes, as always, please refer to the CHANGELOG.

Installation:

Grafana Agent is currently distributed in plain binary form, Docker container images, a Windows installer, and a Kubernetes install script. Choose whichever fits your use-case best.

Kubernetes

Install directions here.

Docker container:

docker pull "grafana/agent:v0.19.0"

Windows installer

The Windows installer is provided as a release asset for x64 machines.

Binary

We provide precompiled binary executables for the most common operating systems. Choose from the assets below for your matching operating system. Example for the linux operating system on amd64:

# download the binary
curl -O -L "https://github.com/grafana/agent/releases/download/v0.19.0/agent-linux-amd64.zip"

# extract the binary
unzip "agent-linux-amd64.zip"

# make sure it is executable
chmod a+x "agent-linux-amd64"

agentctl

agentctl, a tool for helping you interact with the Agent, is available as a Docker image:

docker pull "grafana/agentctl:v0.19.0"

Or as a binary. Like before, choose the assets below that matches your operating system. For example, with linux on amd64:

# download the binary
curl -O -L "https://github.com/grafana/agent/releases/download/v0.19.0/agentctl-linux-amd64.zip"

# extract the binary
unzip "agentctl-linux-amd64.zip"

# make sure it is executable
chmod a+x "agentctl-linux-amd64"

agent-operator

agent-operator, a Kubernetes Operator for the Grafana Agent, is available only as a Docker image:

docker pull "grafana/agent-operator:v0.19.0"

Don't miss a new agent release

NewReleases is sending notifications on new releases.