WORDPRESS

Primeros pasos con Grafana Loki

Aprendamos los conceptos básicos de Grafana Loki, un sistema de agregación de registros de múltiples inquilinos.

En un entorno de producción, el tiempo de inactividad es inaceptable. Puede conducir a una gran pérdida de ingresos comerciales y reputación. Sin embargo, si tiene un sistema de registro y monitoreo adecuado, sabrá cómo depurar tales escenarios de tiempo de inactividad.

Ayuda a ahorrar costes e identificar posibles problemas futuros.

Hoy en día, las organizaciones de cualquier tamaño utilizan los principios y las herramientas de DevOps. Los contenedores y Kubernetes son los más populares. Prometheus puede monitorear dichos sistemas de manera muy eficiente. Pero donde Prometheus se queda atrás es en la parte de registro. No proporciona un sistema de registro centralizado, que es donde entra Loki.

¿Qué es Grafana Rocky?

Grafana rocosa es un sistema de agregación de registros de múltiples inquilinos lanzado por Grafana en 2018 y lanzado bajo la licencia Apache 2.0. Este sistema fue desarrollado inspirado en Prometheus. Se utiliza principalmente con proveedores de nube y herramientas como Prometheus y Grafana.

Loki es similar a la pila ELK/EFK, pero más fácil de configurar y operar, con una mejor funcionalidad. Loki no indexa el contenido del registro, sino una marca de tiempo y un conjunto de etiquetas para el flujo de registro. Hace que los índices sean más pequeños, lo que simplifica las operaciones y, en última instancia, reduce los costos.

Los beneficios de Loki

Estos son los beneficios de usar Loki en la pila:

  • Al indexar solo metadatos, Loki es muy rentable. Ejecutar un índice para el procesamiento de texto completo requiere una instancia más grande de RAM, lo cual es muy costoso. El almacenamiento de registros en el almacenamiento de objetos como S3 también reduce los costos.
  • Admite la multiempresa mediante el uso de la identificación del arrendatario, por lo que los arrendatarios pueden almacenar sus datos por separado.
  • Puede ejecutar Loki localmente para operaciones a pequeña escala o escalar fácilmente para operaciones a gran escala.
  • Utiliza el estilo dynamo para garantizar la consistencia del quórum para las operaciones de lectura y escritura.
  • Está configurado de manera predeterminada para tener 3 copias de registro para manejar el riesgo de fallas en el proceso y salidas repentinas con registros perdidos. Sí, incurrirá en algunos cargos adicionales, pero no tan altos, y la integridad de los datos es más crítica.
  • Fácil de conectar a herramientas populares como visualizaciones en Kubernetes, Prometheus y Grafana.
Artículo Recomendado:  Guía de instalación de IBM HTTP Server 8.5.5 en Linux [Step-by-Step]

edificio rocoso

La arquitectura Loki consta de tres componentes: cola larga, Rocosoy Grafana.

Promtail es un proxy que debe instalarse en cada nodo que ejecute su aplicación o servicio. La principal responsabilidad de Promtail es descubrir objetivos, adjuntar etiquetas a flujos bajos desde pods y enviar estos registros a instancias de Loki. El proxy promtail rastrea los registros del sistema de archivos local y los envía al servidor central de Loki. Después de esto, puede usar Grafana para consultar sus registros.

Caso de uso de Loki

Los siguientes son casos de uso populares para usar sistemas de registro como Loki.

  • Inteligencia de negocios: Este es un caso de uso permanente donde la creación de información procesable a partir de datos de registro siempre es muy útil. Loki puede ayudarlo a comprender los datos de registro y permitirle desarrollar nuevas estrategias de crecimiento empresarial. Por ejemplo, los datos de registro de una organización pueden ayudarlo a comprender la tasa de conversión de un canal publicitario.
  • monitor: Prometheus se usa mucho para monitorear en la industria. Pero puedes identificar muchas cosas monitoreando los registros con herramientas como Loki. Puede ayudarlo a monitorear las tasas de error en su sitio web al mirar los registros y enviar alertas cuando se cruzan los umbrales.
  • Depurar y solucionar problemas: Loki puede ayudar a los equipos de DevOps a proporcionar algunas respuestas rápidas, como cuándo se bloqueó la aplicación, por qué se bloqueó, el último estado antes de que se bloquee, etc.
  • la seguridad cibernética: Los ciberataques contra portales de comercio electrónico han crecido exponencialmente en los últimos años. Con la ayuda de Loki, puede examinar los registros para identificar cualquier amenaza, problema o actividad maliciosa que ocurra en los sistemas de su organización. Si el hack tiene éxito, Loki aún puede ayudar al equipo forense a obtener más información sobre lo que sucedió en el sistema. Esto les ayudará a localizar al hacker.
  • cumplir: Para cumplir con las regulaciones de la industria, las organizaciones deben mantener sus registros de auditoría hasta por 7 años. Las autoridades locales pueden auditar los registros en cualquier momento. Loki almacena de forma segura sus registros de auditoría.

Instalar Loki y Promtail

Echemos un vistazo rápido a cómo instalar y visualizar registros en Grafana.En esta demostración, usaré una configuración genérica para /var/log/*log

ir Poste rocoso página, desplácese hacia abajo hasta Activos, aquí encontrará varios paquetes de Loki y Promtail. Descarga el paquete Loki según el sistema que estés utilizando. No descargue paquetes cli o canary Loki.estoy descargando loki-linux-amd64.zip y promtail-linux-amd64.zip para mi sistema Ubuntu.

Una vez completada la descarga, descomprima los archivos de Loki y Promtail y colóquelos en un directorio.

[email protected]:~$ mkdir loki
[email protected]:~$ mv loki-linux-amd64 promtail-linux-amd64 loki
[email protected]:~$ cd loki/
[email protected]:~/loki$ ls
loki-linux-amd64 promtail-linux-amd64

Ahora, descargue el archivo de configuración genérico Rocoso y cola larga.

[email protected]:~/loki$ wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
--2021-04-30 12:00:51-- https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.109.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1832 (1.8K) [text/plain]
Saving to: ‘loki-local-config.yaml’

loki-local-config.yaml 100%[===============================================================================================>] 1.79K --.-KB/s in 0s

2021-04-30 12:00:51 (16.6 MB/s) - ‘loki-local-config.yaml’ saved [1832/1832]
[email protected]:~/loki$ wget https://github.com/grafana/loki/blob/main/clients/cmd/promtail/promtail-local-config.yaml
--2021-04-30 12:05:07--  https://github.com/grafana/loki/blob/main/clients/cmd/promtail/promtail-local-config.yaml
Resolving github.com (github.com)... 13.234.210.38
Connecting to github.com (github.com)|13.234.210.38|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘promtail-local-config.yaml’

promtail-local-config.yaml                        [ <=>                                                                                            ] 109.16K  --.-KB/s    in 0.002s  

2021-04-30 12:05:08 (66.8 MB/s) - ‘promtail-local-config.yaml’ saved [111779]
[email protected]:~/loki$ ls
loki-linux-amd64  loki-local-config.yaml  promtail-linux-amd64  promtail-local-config.yaml

Para iniciar Loki, ejecute el siguiente comando con el archivo de configuración de Loki. Esto iniciará Loki y mostrará el registro de Loki en la terminal.

[email protected]:~/loki$ ./loki-linux-amd64 -config.file=loki-local-config.yaml
level=info ts=2021-04-30T16:08:37.990311491Z caller=main.go:130 msg="Starting Loki" version="(version=2.2.1, branch=HEAD, revision=babea82e)"
level=info ts=2021-04-30T16:08:37.990856871Z caller=server.go:229 http=[::]:3100 grpc=[::]:9096 msg="server listening on addresses"
level=info ts=2021-04-30T16:08:37.991613443Z caller=shipper_index_client.go:100 msg="starting boltdb shipper in 0 mode"
level=info ts=2021-04-30T16:08:37.992568288Z caller=mapper.go:38 msg="cleaning up mapped rules directory" path=/tmp/loki/rules-temp
level=error ts=2021-04-30T16:08:37.992623632Z caller=mapper.go:42 msg="unable to read rules directory" path=/tmp/loki/rules-temp err="open /tmp/loki/rules-temp: no such file or directory"
level=info ts=2021-04-30T16:08:37.993520927Z caller=table_manager.go:171 msg="uploading tables"
level=info ts=2021-04-30T16:08:37.993941099Z caller=module_service.go:59 msg=initialising module=store
level=info ts=2021-04-30T16:08:37.994011839Z caller=module_service.go:59 msg=initialising module=memberlist-kv
level=info ts=2021-04-30T16:08:37.99412775Z caller=module_service.go:59 msg=initialising module=server
level=info ts=2021-04-30T16:08:37.994379648Z caller=module_service.go:59 msg=initialising module=ingester
level=info ts=2021-04-30T16:08:37.994415984Z caller=ingester.go:241 msg="recovering from checkpoint"

Para iniciar Promtail, ejecute el siguiente comando con el archivo de configuración de Promtail. Se requiere Promtail para importar registros a Loki.

[email protected]:~/loki$ ./promtail-linux-amd64 -config.file=promtail-local-config.yaml
level=info ts=2021-04-30T16:35:52.775998059Z caller=server.go:229 http=[::]:9080 grpc=[::]:42557 msg="server listening on addresses"
level=info ts=2021-04-30T16:35:52.776283661Z caller=main.go:112 msg="Starting Promtail" version="(version=2.2.1, branch=HEAD, revision=babea82e)"
level=info ts=2021-04-30T16:35:57.776226323Z caller=filetargetmanager.go:254 msg="Adding target" key="{job=\"varlogs\"}"
ts=2021-04-30T16:35:57.776902427Z caller=log.go:124 level=info msg="Seeked /var/log/fontconfig.log - &{Offset:11055 Whence:0}"
level=info ts=2021-04-30T16:35:57.776983546Z caller=tailer.go:125 component=tailer msg="tail routine: started" path=/var/log/auth.log
level=info ts=2021-04-30T16:35:57.777009023Z caller=tailer.go:125 component=tailer msg="tail routine: started" path=/var/log/fontconfig.log
ts=2021-04-30T16:35:57.777094698Z caller=log.go:124 level=info msg="Seeked /var/log/lastlog - &{Offset:0 Whence:0}"
ts=2021-04-30T16:35:57.777712594Z caller=log.go:124 level=info msg="Seeked /var/log/apport.log - &{Offset:0 Whence:0}"
ts=2021-04-30T16:35:57.778200383Z caller=log.go:124 level=info msg="Seeked /var/log/alternatives.log - &{Offset:456 Whence:0}"
ts=2021-04-30T16:35:57.780467419Z caller=log.go:124 level=info msg="Seeked /var/log/syslog - &{Offset:56911 Whence:0}"
level=info ts=2021-04-30T16:35:57.780646032Z caller=tailer.go:125 component=tailer msg="tail routine: started" path=/var/log/kern.log
level=info ts=2021-04-30T16:35:57.781289004Z caller=filetargetmanager.go:254 msg="Adding target" key="{job=\"varlogs\"}"
level=info ts=2021-04-30T16:35:57.787770104Z caller=tailer.go:125 component=tailer msg="tail routine: started" path=/var/log/grafana/grafana.log
ts=2021-04-30T16:35:57.782276009Z caller=log.go:124 level=info msg="Seeked /var/log/grafana/grafana.log - &{Offset:0 Whence:0}"

Visualiza registros con Loki y Grafana

Grafana proporciona soporte integrado para Loki. Loki ya existe en la fuente de datos de Grafana.

paso 1: Vaya a la configuración de Grafana y haga clic en «Fuentes de datos».

Grafana

Paso 2: En Fuentes de datos, puede buscar fuentes por nombre o tipo.

configurar

Paso 3: Buscar por nombre Loki. Puede ver que esta fuente de datos ya existe en Grafana. Haga clic en Seleccionar.

Añadir Loki

Etapa 4: Ingrese el nombre que desea darle a la fuente de datos, luego coloque http://localhost:3100 (Si Loki se está ejecutando en un servidor diferente a Grafana, cámbielo a la IP del servidor) ya que hemos iniciado Loki en el puerto 3100.

Fuente de datos de Loki

Haga clic en el botón Probar y guardar en la parte inferior. Si ha completado la configuración de Loki correctamente, recibirá el mensaje que se muestra en el cuadro verde a continuación.

guardar y probar

Paso 5: Haga clic en la pestaña Explorar a la izquierda. Seleccione Loki de la lista desplegable de selección de fuente de datos. Ahora, quiero visualizar la actividad de los registros de Grafana.Para esto necesitas agregar la consulta {filename=»/var/log/grafana/grafana.log»} en el navegador de registro. Las barras verdes a continuación son entradas de eventos en el archivo de registro.

Revista Grafana

Puede elegir el período de tiempo en el que desea que aparezca la visualización en el tablero y puede establecer el intervalo de actualización para la consulta, después del cual la consulta se ejecutará nuevamente. Para ver más detalles del registro, desplácese hacia abajo y haga clic en una de las entradas del registro, le proporcionará información diversa relacionada con el registro.

registro detallado

Se ve hermoso, ¿no?

Entonces, este es el comienzo. Le recomiendo que eche un vistazo más de cerca al siguiente video del seminario web que explica la observabilidad de Loki.

en conclusión

Un sistema distribuido consta de muchas aplicaciones o microservicios, y cada aplicación o microservicio tiene una gran cantidad de registros. Necesitará una forma rentable de recopilar registros, almacenarlos y utilizarlos. Loki es la solución perfecta para tales situaciones. De hecho, al integrar Loki en su entorno de producción, puede reducir los costos de registro y monitoreo en aproximadamente un 75 %.

Loki también puede usar Nube Grafanaes mejor intentarlo si no desea pasar por el proceso de instalación.

A continuación, aprenda sobre Grafana Tempo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *