Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
11 contributors

Users who have contributed to this file

@SmilingNavern @tomwilkie @davkal @daixiang0 @steven-sheehy @rfratto @rmetzler @pracucci @jgsqware @gouthamve @oddlittlebird
119 lines (75 sloc) 4.03 KB

Running Loki

Currently there are five ways to try out Loki, in order from easier to hardest:

For the various ways to run promtail, the tailing agent, see our Promtail documentation.

Get a free hosted demo of Grafana Cloud: Logs

Grafana is running a free, hosted demo cluster of Loki. Find instructions for getting access at grafana.com/loki.

The demo includes complimentary metrics (Prometheus or Graphite) that help illustrate the experience of easily switching between logs and metrics.

Run locally using Docker

The Docker images for Loki and Promtail are available on DockerHub.

To test locally, we recommend using the docker-compose.yaml file in this directory. Docker starts containers for promtail, Loki, and Grafana.

  1. Either git clone this repository locally and cd loki/production, or download a copy of the docker-compose.yaml locally.

  2. Ensure you have the most up-to-date Docker container images:

    docker-compose pull
  3. Run the stack on your local Docker:

    docker-compose up
  4. Grafana should now be available at http://localhost:3000/. Log in with admin / admin and follow the steps for configuring the datasource in Grafana, using http://loki:3100 for the URL field.

Note: When running locally, promtail starts before loki is ready. This can lead to the error message "Data source connected, but no labels received." After a couple seconds, Promtail will forward all newly created log messages correctly. Until this is fixed we recommend building and running from source.

For instructions on how to query Loki, see our usage docs.

Using Helm to deploy on Kubernetes

There is a Helm chart to deploy Loki and promtail to Kubernetes.

Build and run from source

Loki can be run in a single host, no-dependencies mode using the following commands.

You need go v1.10+ installed locally.

$ go get github.com/grafana/loki
$ cd $GOPATH/src/github.com/grafana/loki # GOPATH is $HOME/go by default.

$ go build ./cmd/loki
$ ./loki -config.file=./cmd/loki/loki-local-config.yaml
...

To build Promtail on non-Linux platforms, use the following command:

$ go build ./cmd/promtail

On Linux, promtail requires the systemd headers to be installed for Journal support.

With Journal support on Ubuntu, run with the following commands:

$ sudo apt install -y libsystemd-dev
$ go build ./cmd/promtail

With Journal support on CentOS, run with the following commands:

$ sudo yum install -y systemd-devel
$ go build ./cmd/promtail

Otherwise, to build promtail without Journal support, run go build with CGO disabled:

$ CGO_ENABLED=0 go build ./cmd/promtail

Once Promtail is built, to run Promtail, use the following command:

$ ./promtail -config.file=./cmd/promtail/promtail-local-config.yaml
...

Grafana is Loki's UI. To query your logs you need to start Grafana as well:

$ docker run -ti -p 3000:3000 grafana/grafana:master

Grafana should now be available at http://localhost:3000/. Follow the steps for configuring the datasource in Grafana and set the URL field to http://host.docker.internal:3100.

For instructions on how to use loki, see our usage docs.

Get inspired by our production setup

We run Loki on Kubernetes with the help of ksonnet. You can take a look at our production setup.

To learn more about ksonnet, check out its documentation.

You can’t perform that action at this time.