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

  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作为数据源,以便进行日志可视化查看搜索。

  

  

  

  

  

  可以查询了。

   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天。

  至此,收工~!

Centos部署Loki日志聚合系统的更多相关文章

  1. Loki日志系统

    一.概述 背景 Loki的第一个稳定版本于2019年11月19日发布,是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统. Grafana 对 Loki ...

  2. Centos系统各种日志存详解

    Centos系统各种日志存储路径和详细介绍 Linux常见的日志文件详述如下 1./var/log/boot.log(自检过程) 2./var/log/cron (crontab守护进程crond所派 ...

  3. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  4. 评测Loki日志工具

    评测Loki日志工具 目录 评测Loki日志工具 部署Loki 配置grafana 总结: 优势: 劣势: 本文仅对Loki进行简单评测,不涉及原理和细节. 部署Loki Loki是grafana团队 ...

  5. Loki日志系统基础知识

    文章摘抄转载自:https://lluozh.blog.csdn.net/article/details/111027998 Loki 日志系统由以下3个部分组成: loki是主服务器,负责存储日志和 ...

  6. 【日志系统】Loki日志监控 - 入门初体验

    使用Grafana+Loki+Promtail入门级部署分布式日志系统(windows环境) 生命不息,写作不止 继续踏上学习之路,学之分享笔记 总有一天我也能像各位大佬一样 一个有梦有戏的人 @怒放 ...

  7. 跳过 centos部署 webpy的各种坑

    用centos部署webpy发现的各种坑: 1.python 版本: 2.中文编码: 3.web模块路径: 在命令行里输入python,能import web,但是网站错误报告一直报告没有找到web模 ...

  8. 【Linux】Centos部署MySQL

    将CentOS部署MySQL需要本地配置环境.本地编译MySQL,耗时较长的情况,优化为编译成型MySQL并打包,推送并按配置部署. 首先需要在一台机器配置好环境,搭个YUM源,并将所需要的包取出备用 ...

  9. Tigase XMPP Server在CentOS部署和配置

    Tigase XMPP Server在CentOS部署与配置 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 以下讲述Tigase XMPP Server ...

随机推荐

  1. 【Azure Developer】使用 Azure Python SDK时,遇见 The resource principal named https://management.azure.com was not found in the tenant China Azure问题的解决办法

    问题描述 在使用Python SDK时候,登录到China Azure (Mooncake)并访问AlertsManagement资源时候,时常遇见  EnvironmentCredential: A ...

  2. 社交网络分析的 R 基础:(一)初探 R 语言

    写在前面 3 年的硕士生涯一转眼就过去了,和社交网络也打了很长时间交道.最近突然想给自己挖个坑,想给这 3 年写个总结,画上一个句号.回想当时学习 R 语言时也是非常戏剧性的,开始科研生活时到处发邮件 ...

  3. django入门 03 模板语法

    变量值从views.py传入html 基本语法 {{ abc }} 变量abc外,用双大括号包裹 {% for item in abc %} 语句外,用大括号+百分号包裹 1. 传递字符串 views ...

  4. js 斐波那契数列的获取和曲线的实现(每日一更)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  5. Java里的new

    java里的new的英文意思就是"新的"的意思.在JAVA里就是创建一个新的实例,或者说一个新的对象,一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存 ...

  6. 监听器(Listener)详解及举例

    概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 监听器组成要素: 事件源:事 ...

  7. 连接docker里面的mysql失败解决

    场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错: 解决方法: 1.首先docker ps命令查看正在运行的容器 ...

  8. 如何添加自己的code snippet

    好了我们开始说吧 1.先建一个后缀名为.sublime-snippet的文件

  9. DockerClient端与DockerDaemon的通信安全

    DockerClient端与DockerDaemon的通信安全 容器的安全性问题的根源在于容器和宿主机共享内核.如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃.与虚拟机是不同的,虚拟 ...

  10. HTTP状态码100、200、300、400、500、600的含义

    1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请 ...