Grafana 系列文章(六):Grafana Explore 中的日志

news2024/11/18 11:23:44

👉️URL: https://grafana.com/docs/grafana/latest/explore/logs-integration/#labels-and-detected-fields

📝Description:

Explore 中的日志

除了指标之外,Explore 还允许你在以下数据源中调查你的日志。

  • Elasticsearch
  • InfluxDB
  • Loki

在基础设施监控和事件响应期间,你可以深入挖掘指标和日志,找到原因。Explore 还允许你通过并排查看指标和日志来进行关联。这创造了一个新的调试工作流程。

  1. 接到一个警报。
  2. 深入研究并检查指标。
  3. 再次深入,搜索与指标和时间间隔有关的日志(将来还有分布式跟踪)。

日志可视化

日志查询的结果在图表中以直方图的形式显示,个别日志在下面的章节中会有解释。

如果数据源支持全范围的日志量直方图,则会自动显示所有输入的日志查询的日志分布图。目前 Elasticsearch 和 Loki 数据源支持此功能。

如果数据源不支持加载全范围的日志量直方图,日志模型会根据自动计算的时间间隔的日志行数来计算一个时间序列,然后将第一个日志行的时间戳锚定在结果的直方图的起点。时间序列的末端被锚定在时间选择器的To范围内。

日志级别

对于指定了级别标签的日志,我们使用标签的值来确定日志的级别并相应地更新颜色。如果日志没有指定级别标签,我们会尝试找出其内容是否与任何支持的表达式相匹配(更多信息见下文)。日志级别总是由第一个匹配项决定的。如果 Grafana 无法确定一个日志级别,它将以未知的日志级别进行可视化。

Tip: 如果你使用 Loki 数据源,并且 "级别 "在你的日志线中,使用解析器(JSONlogfmtregex...)将级别信息提取为一个级别标签,用来确定日志级别。这将使直方图在不同的柱状图中显示不同的日志级别。

支持的日志级别以及日志级别缩写和表达式的映射:

支持的表达式日志级别颜色
emergcritical紫色
fatalcritical紫色
alertcritical紫色
critcritical紫色
criticalcritical紫色
errerror红色
erorerror红色
errorerror红色
warnwarning黄色
warningwarning黄色
infoinfo绿色
informationinfo绿色
noticeinfo绿色
dbugdebug蓝色
debugdebug蓝色
tracetrace淡蓝色
*unknown灰色

日志导航

日志行旁边的日志导航可以用来请求更多的日志。你可以通过点击导航底部的 Older logs 按钮来做到这一点。当你遇到行数限制,你想看到更多的日志时,这一点特别有用。每个从导航中运行的请求都会作为单独的页面显示在导航中。每一页都显示传入日志行的起止时间戳。你可以通过点击页面查看以前的结果。Explore 缓存了从日志导航中运行的最后五个请求,所以当你点击这些页面时,你不会重新运行相同的查询。

在 Explore 中导航日志

可视化选项

你可以自定义日志的显示方式,并选择显示哪些列。

Time

显示或隐藏时间列。这是与日志行相关的时间戳,由数据源报告。

Unique labels

显示或隐藏仅包括非常见标签的独特标签栏。所有常见的标签都显示在上面。

换行

如果你想让显示器使用换行,将此设置为true; 设置为False,将导致水平滚动。

Prettify JSON

将此设置为true以漂亮地打印所有 JSON 日志。这个设置不影响 JSON 以外的任何格式的日志。

Deduping(去重)

日志数据可能是非常重复的,Explore 可以通过隐藏重复的日志行来帮助。你可以使用几种不同的重复数据删除算法。

  • 精确 - 精确匹配是在整个行中进行的,除了日期字段。
  • 数字 - 在剥离数字后的行上进行匹配,如持续时间、IP 地址等。
  • 签名 - 最激进的剔除,这将剥离所有的字母和数字,并在剩余的空白处和标点符号上进行匹配。

Flip results order(翻转结果顺序)

你可以将收到的日志的顺序从默认的降序(最新的先)改为升序(最旧的先)。

Labels and detected fields(标签和检测字段)

每个日志行都有一个可扩展的区域,有它的标签和检测字段,以实现更强大的互动。对于所有的标签,我们增加了过滤(正向过滤)和过滤(反向过滤)选定标签的能力。每个字段或标签也有一个统计图标,以显示与所有显示的日志有关的特别统计数据。

Derived fields links(衍生字段链接)

通过使用衍生字段,你可以把日志消息的任何部分变成内部或外部链接。创建的链接在日志细节视图中的 Detected 字段旁边以按钮的形式显示。

Explore 中的衍生字段链接

Toggle detected fields(切换检测到的字段)

Note: 在 Grafana 7.2 及更高版本中可用。

如果你的日志是以jsonlogfmt构造的,那么你可以显示或隐藏检测到的字段。展开一个日志行,然后点击眼睛图标来显示或隐藏字段。

Toggling detected fields in Explore

Loki 特有的功能

如前所述,其中一个日志集成是针对 Grafana Labs 的新的开源日志聚合系统--Loki。Loki 的设计非常具有成本效益,因为它不对日志的内容进行索引,而是为每个日志流提供一组标签。Loki 的日志查询方式与 Prometheus 中使用标签选择器的查询方式类似。它使用标签对日志流进行分组,可以使之与你的 Prometheus 标签相匹配。关于 Grafana Loki 的更多信息,请参考 Grafana Loki 或 Grafana Labs 的托管版本:Grafana Cloud Logs。

更多信息请参考 Loki 的数据源文档 关于如何查询日志数据的信息。

从指标转换到日志

如果你从 Prometheus 查询切换到日志查询(你可以先做一个分割,让你的指标和日志并排),那么它将保留你查询中存在于日志中的标签,并使用这些标签来查询日志流。例如,下面的 Prometheus 查询。

grafana_alerting_active_alerts{job="grafana"}

切换到 Logs 数据源后,查询结果变为:

{job="grafana"}

这将返回所选时间范围内的一大块日志,可以进行 grepped/text 搜索。

实时滚动 (Live Tailing)

使用实时滚动功能来查看支持的数据源的实时日志。

点击 Explore 工具栏上的实时按钮,切换到实时滚动视图。

在实时滚动视图中,新的日志会从屏幕的底部出现,并且会有渐变的对比背景,因此你可以跟踪新的内容。点击暂停按钮或滚动日志视图来暂停实时跟踪,不间断地探索以前的日志。点击恢复按钮恢复实时跟踪,或点击停止按钮退出实时跟踪,回到标准的探索视图。

Explore 实操中的实时滚动

Grafana 系列文章

Grafana 系列文章

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[算法设计与分析考点4] 改进的串匹配算法——KMP算法

算法核心思想 在BF算法的基础上加以改进,BF算法中每次当前字符不相等时,主串S要回溯到其下一个字符处,模式串T要回溯到 j0 位置进行下一趟的匹配。然而,大多数情况下,这种回溯是没有必要的,非常耗时且效率低…

qt入门介绍

1.Qt 是一个跨平台的 C开发库。主要用来开发图形用户界面(GUI)程序。Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互&…

【css】前端拉下代码后,node-sass sass-loader 与node版本不符怎么办

因为每次node和sass版本匹配都容易出现问题, 所以如果我自己开发,我不使用sass或者less,只用原生css 但如果是拉下来的项目,别人已经成功使用,webview版本 和 sass已经匹配,只需考虑 node版本匹配。 根据…

Hive分析函数系列文章

Hive分析窗口函数(一) SUM,AVG,MIN,MAXhttps://blog.csdn.net/weishuai90/article/details/128843715 Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANKhttps://blog.csdn.net/weishuai90/article/details/128858824 Hive分析窗口函数(三) CUME_DIST,PERCENT_RANKhttp…

Object类有什么作用?怎样使用Object类?

在Java中提供了一个Object类,它是所有类的父类,即每个类都直接或间接继承自该类,因此,Object类通常被称之为超类、基类或根类。当定义一个类时,如果没有使用extends关键字为这个类显示地指定父类,那么该类会…

【微积分易错点总结】函数、极限和连续

🚀write in front🚀 📜所属专栏: 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对我最大的激励…

DSPE-PEG-DOTA,磷脂聚乙二醇大环配体 二硬脂酰基磷脂酰乙醇胺- 聚乙二醇-四氮杂环配体

中文名称:二硬脂酰基磷脂酰乙醇胺- 聚乙二醇-四氮杂环配体 英文名称:DSPE-PEG-DOTA 别称:1,2-distearoyl-sn-glycero-3-phosphoethanolamine-poly(ethylene glycol)-DOTA PEG分子量:1000、2000、3400、5000等等 用 途&#xf…

《流浪地球2》的现实倒影(一):从量子计算机到MOSS

编者按:跟大家一样,《流浪地球2》的上映让我们感到无比兴奋。作为科技领域的内容创作者,在《流浪地球2》中不仅看到了中国科幻电影与电影工业的崛起,更看到了大量现实中真实存在的科技脉络。由于这部电影在科技方面的基本功非常扎…

RK3568平台开发系列讲解(驱动基础篇)自旋锁详解

🚀返回专栏总目录 文章目录 一、什么是spinlock 自旋锁二、什么是raw_spinlock原始自旋锁三、自旋锁的使用3.1、spinlock 自旋锁相关API3.2、raw_spinlock原始自旋锁相关API沉淀、分享、成长,让自己和他人都能有所收获!😄 📢自旋锁用于处理器之间的互斥,适合保护很短的…

Python枚举类定义和使用

一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。针对这种特殊的类,Python 3.4 中新增…

@WebServlet注解的解释和使用

大家好,今天分享一下WebServlet注解 首先,我们要知道,我们要写一个servlet程序,web,xml里的配置项很重要,里面包含了很多关于类绑定,以及服务器资源的请求路径问题(就是注册) 先把我这个看一遍&#xff0c…

【蓝桥杯】历届真题 完全二叉树的权值(省赛)Java

【资源限制】 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 【问题描述】 给定一棵包含N个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依…

SpringBoot将项目打包成JAR包或者WAR包

SpringBoot将项目打包成JAR包或者WAR包前言打包成JAR包打包成WAR包打包遇到的问题Maven环境问题跳过测试并打包前言 本文开发工具使用IDEA,已配置好Maven环境,如果未配置的可以参考另外一篇文章: Maven如何配置阿里镜像及安装全步骤 打包成JAR包 默认…

【C++】继承——切片、隐藏、默认成员函数、菱形

文章目录一、继承概念及定义二、赋值转换——切片三、继承的作用域——隐藏四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、菱形继承及菱形虚拟继承八、继承与组合九、结语一、继承概念及定义 概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最…

刚毕业小白软考中级什么专业合适?

如果只是想考取软考中级证书,可以考虑比较热门的考试项目,当然具体还是要看和自己的职业发展和需求是否匹配为前提,这样对于自己今后的职业生涯规划也有一定帮助。中级科目介绍:软考中级备考攻略:反正只要认真备考&…

使用PyTorch构建卷积GAN源码(详细步骤讲解+注释版) 02人脸图片生成 上

阅读提示:本篇文章的代码为在普通GAN代码上实现人脸图片生成的修改,文章内容仅包含修改内容,全部代码讲解需结合下面的文章阅读。 相关资料链接为:使用PyTorch构建GAN生成对抗 本次训练代码使用了本地GPU计算。 1 CelebADataset类…

2023.1.23-1.29 AI行业周刊(第134期):春节回家乡的感受

春节的假期,时间过得很快。 年前回家在路上的时候,就考虑到过年时间短暂,但是当大年初六和家乡别离,和大姐二姐们再见的时候,心中还是充满了不舍。 2022年初回家过年的画面还印在脑海中,和家乡相聚的频率…

【自然语言处理】文本分析:非结构化信息分析科学与应用导论(主题建模)

文本分析:非结构化信息分析科学与应用导论(主题建模)1.介绍 文本聚类可以将数据(这里即指文本)按照一定规则划分为不同的群组,理想情况下可以从聚类结果中发现一些有趣的模式。不同聚类方法的一致性意义和…

QT 使用线程完成串口数据的读写,并把数据传递给主线程

1、之前做串口通信的时候直接在主线程 用了api实现,这种只做个串口助手是OK的,但是在大型项目中这样做会占用主线程的时间,数据量大的时候不确定有多卡顿。 2、看了网上很多资料,没一个写的是对的,主要错在 QSerialPo…

Linux-用户及文件权限管理

目录1、Linux 用户管理1.1 查看用户1.2 创建用户1.3 用户组1.4 删除用户和用户组2、Linux文件权限2.1 查看文件权限2.2 变更文件所有者2.3 修改文件权限3、补充1、Linux 用户管理 Linux可以实现多用户登录,A和B用户可以同时登录同一台主机,虽然他们的文…