📜  loki (1)

📅  最后修改于: 2023-12-03 15:02:47.886000             🧑  作者: Mango

Loki介绍

Loki是一款开源的日志聚合系统,由Grafana开发,用于帮助开发者和系统管理员管理大量的日志数据。Loki可以与各种日志源(例如Kubernetes、Docker和系统日志)无缝集成,并提供高效的查询和聚合功能。

特点
  • 高效:Loki使用了一个新的日志索引和存储引擎,可以快速处理大量日志数据。
  • 易于安装:Loki可以很容易地与各种云平台和容器化系统集成,例如Kubernetes和Docker。
  • 分布式:Loki使用分布式架构,可以处理大规模的日志数据。
  • 与Prometheus完美兼容:Loki可以使用PromQL查询语言查询和过滤日志数据,并与Prometheus集成。
安装

Loki可以通过Docker容器或二进制文件安装。

Docker

运行以下命令即可启动Loki:

docker run -p 3100:3100 grafana/loki:latest
二进制文件
  1. 下载二进制文件并解压缩。

  2. 创建配置文件loki-local-config.yaml

auth_enabled: false
server:
  http_listen_port: 3100
  1. 运行Loki:
./loki-linux-amd64 -config.file=loki-local-config.yaml
使用
导入日志

将日志发送到Loki的常用方法是通过Promtail,可以通过以下方式将Promtail与Loki集成:

  1. 创建promtail.yaml配置文件:
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://localhost:3100/loki/api/v1/push

scrape_configs:
  - job_name: journal
    journal:
      path: /var/log/journal
      max_age: 12h
      labels:
        job: systemd-journal
    relabel_configs:
      - source_labels: ['__journal__systemd_unit']
        target_label: 'unit'
      - source_labels: ['__journal__hostname']
        target_label: 'hostname'  
  1. 运行Promtail:
./promtail-linux-amd64 -config.file=promtail.yaml
使用Loki查询日志
  1. 打开Loki UI,地址为http://localhost:3100。

  2. 在查询框中输入查询语句,并点击“Run”。

    {job="systemd-journal"} |~ "error"
    
  3. Liki会返回结果集。

总结

Loki是一款非常强大的日志聚合系统,使用方便,可以与多种容器化平台、操作系统完美集成。其中,Promtail是Loki中最为重要的组件之一,用于将各种日志源整合到Loki中。Loki的操作类似于Prometheus,所以如果你已经熟练掌握了Prometheus,学习Loki就会变得易如反掌。