Currently there are five ways to try out Loki, in order from easier to hardest:
- Using our free hosted demo
- Running it locally with Docker
- Using Helm to deploy on Kubernetes
- Building from source
- Get inspired by our production setup
For the various ways to run promtail
, the tailing agent, see our Promtail documentation.
Grafana is running a free, hosted demo cluster of Loki; instructions for getting access can be found at grafana.com/loki.
In addition, the demo also includes an allotment of complimentary metrics (Prometheus or Graphite) to help illustrate the experience of easily switching between logs and metrics.
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.
It will start containers for promtail, Loki, and Grafana.
-
Either
git clone
this repository locally andcd loki/production
, or download a copy of the docker-compose.yaml locally. -
Ensure you have the freshest, most up to date container images:
docker-compose pull
-
Run the stack on your local docker:
docker-compose up
-
Grafana should now be available at http://localhost:3000/. Log in with
admin
/admin
and follow the steps for configuring the datasource in Grafana, usinghttp://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.
There is a Helm chart to deploy Loki and promtail to Kubernetes.
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.
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.