日志采集_日志采集系统Loki

Loki是一个受Prometheus启发的日志采集系统,不索引日志内容,只存储元数据,降低了操作复杂性和成本。它特别适合Kubernetes Pod日志,并在Grafana中得到原生支持。Loki堆栈包括Promtail代理、Loki服务器和Grafana用于日志查询和展示。本文介绍了Loki和Promtail的安装配置以及在Grafana中的使用。
摘要由CSDN通过智能技术生成

d9c935d89b1efd643049a39cb3a7faf4.png

Loki 是一个水平可扩展,高可用性,多租户日志聚合系统,灵感来自 Prometheus ,其设计非常经济高效,易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。

与其他日志聚合系统相比,Loki:

  • 不对日志进行全文本索引。通过存储压缩的,非结构化的日志以及仅索引元数据,Loki更加易于操作且运行成本更低。

  • 使用与Prometheus相同的标签对日志流进行索引和分组,从而使您能够使用与Prometheus相同的标签在指标和日志之间无缝切换。

  • 特别适合存储Kubernetes Pod日志。诸如Pod标签之类的元数据会自动被抓取并建立索引。

  • 在Grafana中原生支持(需要Grafana v6.0及以上)。

基于Loki的日志记录堆栈包含3个组件:

  • promtail是代理,负责收集日志并将其发送给Loki。

  • loki是主服务器,负责存储日志和处理查询。

  • Grafana用于查询和显示日志。

一、Loki环境搭建

下载地址:https://github.com/grafana/loki/releases/

6db31243084acc6ffd453bc36d6c5463.png

1、下载

curl -O -L "https://github.com/grafana/loki/releases/download/v2.0.0/loki-linux-amd64.zip" 

2、安装

1、创建loki安装目录mkdir  /data/loki/{chunks,index}2、解压loki压缩包unzip loki-linux-amd64.zip3、移动解压文件至安装目录mv loki-linux-amd64 /data/loki/

3、配置

官方配置文件链接(若该链接过期,请在官方文档处寻找:https://grafana.com/docs/loki/latest/installation/local/)

https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yamlwget该yaml即可:

wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml

4、启动

执行./loki-linux-amd64 -config.file=loki-local-config.yaml启动即可,看到日志最后“Loki started”loki即启动成功。

cd /data/loki./loki-linux-amd64 -config.file=loki-local-config.yaml

启动日志

d41fcfc7973ce94d958c6a1e085ed50a.png

二、promtail环境搭建

下载地址:https://github.com/grafana/loki/releases/

0f9f555c1af4c40a874790922f800321.png

注:promtail应部署在需要采集日志的服务器上,比如要收集Nginx的错误日志,那就要在Nginx那台服务器部署 Promtail,类似 fluentd

1、下载

curl -O -L "https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip"

2、安装

1、创建promtail安装目录mkdir /data/promtail2、解压promtail压缩包unzip promtail-linux-amd64.zip3、移动promtail解压文件至安装目录mv promtail-linux-amd64  /data/promtail/

3、配置

3.1 下载配置文件

官方配置文件链接(若该链接过期,请在官方文档处寻找:https://grafana.com/docs/loki/latest/installation/local/)

https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml

wget该yaml即可:

wget https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml

3.2 修改配置文件

server:  http_listen_port: 9080     #promtail的http端口地址  grpc_listen_port: 0positions:  filename: /tmp/positions.yaml    #记录当前日志采集状态的文件地址(promtail自动生产)clients:  - url: http://localhost:3100/loki/api/v1/push     #Loki服务器地址scrape_configs:- job_name: nginx  static_configs:  - targets:      - localhost    labels:    #标签      job: nginx      host: localhost      __path__: /data/nginx/logs/* #日志采集目录

4、启动

执行./loki-linux-amd64 -config.file=promtail-local-config.yaml启动即可

cd /data/promtail./promtail-linux-amd64 -config.file=promtail-local-config.yaml

启动日志

5a776b02cf0bf0c333f51f8069b667a3.png

三、grafana中实现日志管理

1)添加数据源

选择loki数据源并配置loki地址,点击save&test后无问题即可。

bd2b96c8b32c0cc5304040978d34fdc8.png

2)日志管理

选择左侧导航按钮的explore:

f80d77b8a6cd98f359b8e190b22954a1.png

选择loki数据源,在查询框左侧选择相应label,grafana会自动填充查询语句:

c0e3b814f929c48b3bb677eff4015e79.png

也可查询日志中出现的指定文本:

6c240d50b26e1678c6f6dea7b06672b7.png

其它查询语法请参考官方文档:https://grafana.com/docs/loki/latest/logql/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值