Skip to content

Releases: grafana/loki

v0.4.0

24 Oct 17:03
v0.4.0
Compare
Choose a tag to compare

This is release v0.4.0 of Loki.

EDIT 2019/10/25:

PR 948 introduces more limit configurations on Loki and you may find the defaults too low for your installation resulting in rate limiting on the clients writing to Loki which was not happening prior to v0.4.0. The limits can be configured higher to avoid this, more info on limits can be found here.

Limits are mostly useful for multi-tenant installations, however they can be useful in single tenant and even single binary installations as a mechanism to help keep Loki's resources constrained. We are discussing if the current defaults are too low and/or if they should be removed entirely from the Helm installation.

Relevant issues #1200 and #1199

Notable changes:

Please see the CHANGELOG for full release notes.

  • With PR 654 @cyriltovena added a really exciting new capability to Loki, a Prometheus compatible API with support for running metric style queries against your logs! Take a look at how to write metric queries for logs

    PLEASE NOTE: To use metric style queries in the current Grafana release 6.4.x you will need to add Loki as a Prometheus datasource in addition to having it as a Log datasource and you will have to select the correct source for querying logs vs metrics, coming soon Grafana will support both logs and metric queries directly to the Loki datasource!

  • PR 1022 (and a few others) @joe-elliott added a new set of HTTP endpoints in conjunction with the work @cyriltovena to create a Prometheus compatible API as well as improve how labels/timestamps are handled

    IMPORTANT: The new /api/v1/* endpoints contain breaking changes on the query paths (push path is unchanged) Eventually the /api/prom/* endpoints will be removed

  • PR 847 owes a big thanks to @cosmo0920 for contributing his Fluent Bit go plugin, now loki has Fluent Bit plugin support!!

  • PR 982 was a couple weeks of painstaking work by @rfratto for a much needed improvement to Loki's docs! Check them out!

  • PR 980 by @sh0rez improved how flags and config file's are loaded to honor a more traditional order of precedence:

    1. Defaults
    2. Config file
    3. User-supplied flag values (command line arguments)

    PLEASE NOTE: This is potentially a breaking change if you were passing command line arguments that also existed in a config file in which case the order they are given priority now has changed!

  • PR 1062 and 1089 have moved Loki from Dep to Go Modules and to Go 1.13

Installation:

The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.

Binary:

# download a binary (adapt app, os and arch as needed)
$ curl -fSL -o "/usr/local/bin/loki.gz" "https://github.com/grafana/loki/releases/download/v0.4.0/loki-linux-amd64.gz"
$ gunzip "/usr/local/bin/loki.gz"

# make sure it is executable
$ chmod a+x "/usr/local/bin/loki"

Docker container:

$ docker pull "grafana/loki:v0.4.0"
$ docker pull "grafana/promtail:v0.4.0"

v0.3.0

18 Aug 15:07
v0.3.0
c673380
Compare
Choose a tag to compare

This is release v0.3.0 of Loki.

Notable changes:

Please see the CHANGELOG for full release notes.

Loki sees readiness probes added for the queriers and distributors (for running Loki in microservices mode), some cleanup and improvement to the live tailing code, fix panic when ingesters are removed while being live tailed, and a couple bugs around chunk handling.

The promtail amd64 image now supports reading Systemd journal files. This has been a struggle as their only exists C libraries for reading the journal file which requires using CGO and an image with systemd packages. For now we have switched to a debian image for promtail which has the necessary systemd files. Currently however cross compiling for ARM is too much of a struggle and we have deferred this for when we switch to the native image building with the drone.io CI system, at which point we will have both amd64 and arm promtail images which can read the Systemd journal.

As just mentioned there has been a big effort to offload building images from circle ci to drone.io where we have access to native arm containers for building arm images without cross compiling. Drone also seems to be building much faster. Currently we are building in both CI systems but soon will switch the image building to drone.

Installation:

The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.

Binary:

# download a binary (adapt app, os and arch as needed)
$ curl -fSL -o "/usr/local/bin/loki.gz" "https://github.com/grafana/loki/releases/download/v0.3.0/loki_linux_amd64.gz"
$ gunzip "/usr/local/bin/loki.gz"

# make sure it is executable
$ chmod a+x "/usr/local/bin/loki"

Docker container:

$ docker pull "grafana/loki:v0.3.0"
$ docker pull "grafana/promtail:v0.3.0"

v0.2.0

02 Aug 19:19
321b928
Compare
Choose a tag to compare

This is release v0.2.0 of Loki.

Notable changes:

There were over 100 PR's merged since 0.1.0 was released. Please see the CHANGELOG for a more complete list.

A few of the most notable improvements:

There were some significant improvements in memory handling and performance of Loki:

  • Loki: 713 Storage memory improvement.
  • Loki: 782 Performance improvement: Query storage by iterating through chunks in batches.
  • Loki: 788 Querier timeouts.
  • Loki: 794 Support ingester chunk transfer on shutdown.

Additionally, labels are now fetched from storage for the requested timeframe so you are no longer limited to only retrieving labels of what was still in memory:

  • Loki: 521 Query label values and names are now fetched from the store.

Please note this introduces a potential new issue if you're asking for labels across a large number of streams over a large timeframe, which causes a large amount of chunks to be loaded. A fix for this is currently being worked out.

Several additions were made to the log processing pipeline:

  • Pipeline: 738 Added a template stage for manipulating label values.
  • Pipeline: 732 Support for Unix timestamps.
  • Pipeline: 760 Support timestamps without year.

A docker logging plugin was created to allow docker containers to send logs directly to Loki:

  • Docker-Plugin: 663 Created a Docker logging driver plugin.

And starting with this release there are now multi-architecture docker containers and binaries:

  • Build: 668,762 Build multiple architecture containers.

Installation:

The components of Loki are currently distributed in plain binary form and as Docker container images. Choose what fits your use-case best.

Binary:

# download a binary (adapt app, os and arch as needed)
$ curl -fSL -o "/usr/local/bin/loki.gz" "https://github.com/grafana/loki/releases/download/v0.2.0/loki_linux_amd64.gz"
$ gunzip "/usr/local/bin/loki.gz"

# make sure it is executable
$ chmod a+x "/usr/local/bin/loki"

Docker container:

$ docker pull "grafana/loki:v0.2.0"
$ docker pull "grafana/promtail:v0.2.0"

v0.1.0

03 Jun 21:27
Compare
Choose a tag to compare

Loki Beta Release 1 🎉

Note: If you had been using the pipeline_stages in promtail which was introduced about a week ago, there were some breaking changes to this, please see here for information on the new config.

Getting Started