Centos部署Loki日志聚合系统

  • A+
所属分类:linux技术
摘要

  关于一些日志聚合由来及原理科普见我的另外一篇 《编程入门之日志聚合系统》

  关于一些日志聚合由来及原理科普见我的另外一篇 《编程入门之日志聚合系统》

  https://www.cnblogs.com/uncleguo/p/15948763.html

  Loki日志聚合系统是由Loki + Promtail+Grafana三部分组成的,这三个依次分别为日志存储引擎,日志收集器,GUI界面,下面我们来简单实践部署下。

  1.安装运行Loki及promtail

  •   Loki 负责日志测存储,搜索
  •   Promtail 负责收集日志,通过网络发送给Loki

  首先去发布页面下载对应的Loki及Promtail版本。https://github.com/grafana/loki/releases/ 

  Centos下载如下链接,下载完成后,解压到相同目录。

  Loki:https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip
  Promtail:https://github.com/grafana/loki/releases/download/v2.4.2/promtail-linux-amd64.zip
  

  cd到解压目录中, wget下载默认配置文件模板,可以按需修改,也可以先用模板简单跑起来,增加信心:-)

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

   默认配置内容可以简单看下,比较容易理解。Promtail的默认配置是收集/var/log/*log,发送到本机的Loki http://localhost:3100/loki/api/v1/push 。可以根据需要调整。

   以下命令运行Loki 及 Promtail,日志收集和存储就已经工作了。

./promtail-linux-amd64 -config.file=promtail-local-config.yaml ./loki-linux-amd64 -config.file=loki-local-config.yaml

  2.安装运行Grafana

  Grafana可以提供一个图形界面,以便查询日志,以下位置下载centos tar.gz版本。  

wget https://dl.grafana.com/oss/release/grafana-8.4.3.linux-amd64.tar.gz tar -zxvf grafana-8.4.3.linux-amd64.tar.gz

  cd进解压目录运行

 cd grafana-8.4.3 ./bin/grafana-server web

  成功运行后,默认在3000端口提供服务, 默认的用户名密码为 admin/admin     (注意替换实际ip) http://192.168.1.1:3000/login

  3.配置Grafana数据源

  为Grafana配置Loki作为数据源,以便进行日志可视化查看搜索。

  Centos部署Loki日志聚合系统 

  Centos部署Loki日志聚合系统

  Centos部署Loki日志聚合系统

  Centos部署Loki日志聚合系统

  Centos部署Loki日志聚合系统

  可以查询了。

   4.日志滚动配置

  日志总是源源不断,自动删除太久的,避免占满存储。

  修改Loki配置文件 loki-local-config.yaml,追加如下内容。 

compactor:  working_directory: /data/retention  shared_store: filesystem  compaction_interval: 10m  retention_enabled: true  retention_delete_delay: 2h  retention_delete_worker_count: 150   storage_config:    boltdb_shipper:        active_index_directory: /data/index        cache_location: /data/boltdb-cache        shared_store: filesystem   limits_config:  retention_period: 168h

  其中retention_period为保留时间,这里168小时是7天。

  至此,收工~!