Loki
¿Qué es Loki?
Loki es un sistema de agregación de registros multiinquilino altamente disponible y escalable horizontalmente inspirado en Prometheus. Está diseñado para ser muy rentable y fácil de operar. No indexa el contenido del registro, pero establece un conjunto de etiquetas para cada flujo de registro.
URL del documento Loki: https://grafana.com/docs/loki/latest/
URL de descarga: https://github.com/grafana/loki/releases
Instalar loki
- Obtenga el paquete de software
- Descomprime el paquete
unzip loki-linux-amd64.zip
[root@localhost loki]# ll
-rwxr-xr-x 1 root root 88166400 May 20 2020 loki-linux-amd64
-rw-r--r-- 1 root root 26432293 Feb 22 11:26 loki-linux-amd64.zip
- Escribir archivo de configuración
vim loki.yaml
---
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 192.168.0.181
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 0
schema_config:
configs:
- from: 2020-07-01
store: boltdb
object_store: filesystem
schema: v11
index:
prefix: index_
period: 168h
storage_config:
boltdb:
directory: /loki/index
filesystem:
directory: /loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
ingestion_rate_mb: 15
chunk_store_config:
max_look_back_period: 0s
table_manager:
retention_deletes_enabled: false
retention_period: 0s
- Empezar loki
[root@localhost loki]# nohup ./loki-linux-amd64 -config.file=./loki.yaml >./loki.log 2>&1 &
[1] 108017
[root@localhost loki]# ps -fe|grep loki
root 108017 79258 9 16:00 pts/0 00:00:00 ./loki-linux-amd64 -config.file=./loki.yaml
Instalar promtail
Promtail es responsable de la recopilación de registros, similar a logstash, filebeat, etc. en elk. Si recopila registros de contenedores de la ventana acoplable, puede usar el complemento de la ventana acoplable para recopilar registros de contenedores.
- Obtén el paquete y descomprímelo
- Configurar el archivo de configuración de pormtail
vim promtail.yaml
---
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: ./positions.yaml
clients:
- url: http://192.168.0.181:3100/loki/api/v1/push
scrape_configs:
- job_name: zzz
static_configs:
- labels:
app: zzz
host: 192.168.0.181
env: prod
__path__: /var/log/messages
- Iniciar promtail
nohup ./promtail-linux-amd64 -config.file=./promtail.yaml > ./promtail.log 2>&1 &
[root@localhost loki]# ps -fe|grep promtail
root 113788 79258 1 17:00 pts/0 00:00:00 ./promtail-linux-amd64 -config.file=./promtail.yaml
Configurar grafana para mostrar registros
Recopilar registros de contenedores de Docker
- Confirmar la versión de Docker
[root@localhost local]# docker --version
Docker version 18.09.7, build 2d0083d
Es necesario cambiar el controlador de registro de la ventana acoplable a la versión loki 13, el cambio fallará
- Instalar complemento
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
[root@localhost local]# docker plugin list
ID NAME DESCRIPTION ENABLED
5df430512cf6 loki:latest Loki Logging Driver true
- Iniciar la prueba del recipiente
docker run -itd -p 80:80 --log-driver=loki --log-opt loki-url="http://192.168.0.181:3100/loki/api/v1/push" --log-opt max-size=50m --log-opt max-file=10 nginx
Acceda a nginx a través del comando curl y luego véalo en grafana