69 lines
3.2 KiB
Markdown
69 lines
3.2 KiB
Markdown
# Grafana Loki
|
|
|
|
[Grafana Loki](https://grafana.com/docs/loki/latest/) is a set of components that can be composed into a fully featured logging stack. Installing it is powered by the [mother-of-all-self-hosting/ansible-role-loki](https://github.com/mother-of-all-self-hosting/ansible-role-loki) Ansible role.
|
|
|
|
Loki is just a log storage system. In order to make use of it, you'd need at least 2 other components
|
|
|
|
- some agent (like [Promtail](./promtail.md)) to send logs to Loki
|
|
- some system (like [Grafana](./grafana.md)) to read the logs out of Loki and display them nicely
|
|
|
|
|
|
## Dependencies
|
|
|
|
This service requires the following other services:
|
|
|
|
- (optionally) [Traefik](traefik.md) - a reverse-proxy server for exposing Loki publicly
|
|
- (optionally) [Promtail](./promtail.md) - an agent that can send logs to Loki
|
|
- (optionally) [Grafana](./grafana.md) - a web UI that can query the Loki datasource (connection) and display the logs
|
|
|
|
|
|
## Configuration
|
|
|
|
To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process:
|
|
|
|
```yaml
|
|
########################################################################
|
|
# #
|
|
# loki #
|
|
# #
|
|
########################################################################
|
|
|
|
loki_enabled: true
|
|
|
|
########################################################################
|
|
# #
|
|
# /loki #
|
|
# #
|
|
########################################################################
|
|
```
|
|
|
|
### Exposing the web interface
|
|
|
|
By setting a hostname and optionally a path prefix, you can expose Loki publicly. You may wish to do this, if you'd like to be able to:
|
|
|
|
- push logs from remote agents (e.g. Promtail installed on remote machines, etc.)
|
|
- query logs from remote systems (e.g. Grafana installed elsewhere)
|
|
|
|
When exposing publicly, it's natural to set up [HTTP Basic Authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) **or anyone would be able to read your logs or push new ones**.
|
|
|
|
```yaml
|
|
loki_hostname: mash.example.com
|
|
loki_path_prefix: /loki
|
|
|
|
# If you are sure you wish to run without Basic Auth enabled,
|
|
# explicitly set the variable below to false.
|
|
loki_container_labels_middleware_basic_auth_enabled: true
|
|
# Use `htpasswd -nb USERNAME PASSSWORD` to generate the users below.
|
|
loki_container_labels_middleware_basic_auth_users: ''
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
After [installing](../installing.md), refer to the [official documentation](https://grafana.com/docs/loki/latest/reference/api/#post-lokiapiv1push) to send logs to loki's API without an agent or set up one or more instances of the [Promtail](./promtail.md) agent.
|
|
|
|
|
|
## Recommended other services
|
|
|
|
- [Grafana](grafana.md) - a web-based tool for visualizing your Promtail logs (stored in [Grafana Loki](grafana-loki.md) or elsewhere)
|
|
- [Promtail](promtail.md) - an agent which ships the contents of local logs to a private [Grafana Loki](grafana-loki.md) instance
|