评测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. RedHat服务器安装

    为什么选择 RedHat 市场占有率商业化比较高 厂商的支持比较丰富 新手建议ubuntu 进行上手 等熟悉了Linux环境可以选择自己喜欢的发行版 (有些Geeker就是认为Ubuntu太易于使用了 ...

  2. psp表格

    陈康杰psp表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 10 Estimate 估计这个任务 ...

  3. Shiro实战教程-刘志敏-专题视频课程

    Shiro实战教程-62人已学习 课程介绍        本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用. 适用人群: 1.了解基于Servlet进行Web应用开发 2.了解Spr ...

  4. 【初识Redis】

    1. 前言 1.1 Reis是什么 Redis 是 C 语言开发的一个开源的(遵从 BSD 协议)高性能键值对(key-value)的   NoSQL的内存数据库,可以用作缓存.消息中间件等:具有以下 ...

  5. docker创建tomcat容器

    配置阿里云镜像地址:先在阿里云搜索:容器镜像服务  --> 最下面找到 容器加速服务  docker配置  etc目录下 创建docker文件夹 mkdir --->docker  --- ...

  6. python实现将大文件夹分割成多个子文件夹

    楼主用的linux,一旦数据达到几万,文件夹打开就会变卡,同时也方便同时分工协作,便于git管理,写了个将大文件夹分割成多个小文件夹的脚本 如操作文件夹:img,脚本不破坏img的数据,创建img_1 ...

  7. python创建DataFrame,并实现DataFrame的转置

    >>> import pandas as pd >>> import numpy as np >>> x1 = {1: 106, 2: 3, 7: ...

  8. 基于jQuery的打字机函数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. MongoDB快速入门教程 (3.3)

    3.4.聚合 3.4.1.什么是聚合? MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*) 例如上图 ...

  10. JS控制滚动条的位置

    转载▼http://blog.sina.com.cn/s/blog_4481a3460100rwwu.html     JS控制滚动条的位置:window.scrollTo(x,y); 竖向滚动条置顶 ...