评测Loki日志工具

本文仅对Loki进行简单评测,不涉及原理和细节。

部署Loki

Loki是grafana团队开发一个日志采集工具。使用推荐使用helm方式安装loki,官方推荐的tanka需要使用aws的s3服务。安装helm后直接运行如下命令即可在loki命名空间中部署最简单的loki套件。

# helm repo add loki https://grafana.github.io/loki/charts
# helm upgrade --install loki loki/loki-stack

使用如下命令可以查看loki支持的charts

# helm search repo loki
NAME CHART VERSION APP VERSION DESCRIPTION
loki/loki 0.30.1 v1.5.0 Loki: like Prometheus, but for logs.
loki/loki-stack 0.38.1 v1.5.0 Loki: like Prometheus, but for logs.
loki/fluent-bit 0.1.4 v1.5.0 Uses fluent-bit Loki go plugin for gathering lo...
loki/promtail 0.23.2 v1.5.0 Responsible for gathering logs and sending them...

如果使用openshift平台,则需要进行scc授权

# oc adm policy add-scc-to-user privileged -z loki
# oc adm policy add-scc-to-user privileged -z loki-promtail

如果promtail pod因为权限问题无法读取hostpath挂载的目录,直接给promtail daemonset使用的serviceaccount loki-promtail授权privileged权限即可。

如果grafana是集群外部的,需要配置ingress,以访问Loki。openshift直接创建router即可。

配置grafana

参考官方配置文档

部署好Loki之后,在grafana中配置Loki的datasource

在exporter中就可以通过Loki自动生成的标签查看日志信息。

目前grafana仅有Logs dashboard支持Loki,如果要使用图表的话只能通过explore,相对不那么方便,且exolore的图表无法保存。另外grafana的Logs dashboard可以支持简单的检索过滤,实现方式参考该文

总结:

优势:

Loki日志系统相比传统的ELK要轻便很多,其使用了类似Prometheus的方式进行日志的匹配过滤等,日志采集查看的思路很新颖。

劣势:

受制于该工具比较新,很多地方还待完善。如dashboard对Loki的支持力度远远不够,基于Loki日志的告警目前也很不方便

相信在后续的版本解决和完善这些不便之处后,Loki会成为一个非常好用的工具。此外,在官方的explore介绍中可以看到,grafana还对Tracing进行了集成,由此看到,grafana最终的目标可能是实现log,metric和tracing的大统一。

评测Loki日志工具的更多相关文章

  1. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  2. 细说Java主流日志工具库

    概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息. 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子. 我们先来逐一了解一下主流日志工具. java.util ...

  3. Java主流日志工具库

    在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.lo ...

  4. 【工具推荐】ELMAH——可插拔错误日志工具

    今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下. ELMAH 是 Error Logging Modules and Handle ...

  5. Android-LogCat日志工具(二)

    既然是Java语言,那么对于很多人来说,用System.out.println() 方法来打印日志是最熟悉.最简单不过了.不过在真正的项目开发中,是极度不建议使用 System.out.println ...

  6. Android-LogCat日志工具(一)

    LogCat : Android中一个命令行工具,可以用于得到程序的log信息. 就像你知道一个人的日志.航程,你可以无时无刻知道一个人在干什么. 而LogCat , 就是程序的日志.通过日志,你可以 ...

  7. Java 标准日志工具 Log4j 的使用(附源代码)

    源代码下载 Log4j 是事实上的 Java 标准日志工具.会不会用 Log4j 在一定程度上可以说是衡量一个开发人员是否是一位合格的 Java 程序员的标准.如果你是一名 Java 程序员,如果你还 ...

  8. Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  9. Android中日志工具的使用

    添加LogCat到你的Eclipse日志在任何项目的开发过程中都会起到非常重要的作用,在Android项目中如果你想要查看日志则必须要使用LogCat工具.当你第一次在Eclipse中运行Androi ...

随机推荐

  1. ca78a_c++_字符串流在内存中的输入输出(速度快)

    /*ca78a_c++_字符串流在内存中的输入输出**字符串流:在内存中的输入输出.(在内存中进行,速度快)**文件流 :是对文件进行输入和输出.(在磁盘里面进行)istringstream(输入), ...

  2. WeChair项目Beta冲刺(8/10)

    团队项目进行情况 1.昨日进展    Beta冲刺第八天 昨日进展: 前后端并行开发,项目按照计划有条不絮进行 2.今日安排 前端:扫码占座功能和预约功能并行开发 后端:扫码占座后端逻辑开发,编码使用 ...

  3. Module Error (from ./node_modules/eslint-loader/index.js):解决办法

    vue启动项目报如下错误: Failed to compile. ./src/components/Vcontent.vue Module Error (from ./node_modules/esl ...

  4. AliOS Things添加环境变量

    此电脑->属性->高级系统设置->环境变量->系统变量-新建.

  5. js清除所有的空格

    /** * 清除所有的空格 * @returns {*} */ String.prototype.removeSpace = function () { var str = this.replaceA ...

  6. SpringBoot -- 项目结构+启动流程

    一.简述: 项目结构 二.简述:启动流程 说springboot的启动流程,当然少不了springboot启动入口类 @SpringBootApplication public class Sprin ...

  7. PHP时间处理汇总

    PHP时间处理汇总 1.求上个月的开始时间和结束时间 <?php header('Content-Type: text/html; charset=utf-8'); // 上个月的开始时间 $b ...

  8. el-switch 初始值(默认值)不能正确显示状态问题

    <el-table-column align="center" label="状态">       <template slot-scope= ...

  9. python 给视频添加马赛克

    用法: 1. 创建空文件夹:imgs 2. 将倒数第三行中的"222056.mov"改为你的视频路径,如:"a.mov" 3. 运行以下代码 4. 稍等片刻,鼠 ...

  10. .net core docker容器编排部署(linux)

    环境准备 需要一个linux操作系统:我这里用的是ubuntu 18.04,安装步骤就不说了,网上很多教程,当然也可以私信我. 既然需要用到docker,那么就安装个docker,apt instal ...