Grafana 系列文章(六):Grafana Explore 中的日志
️URL: https://grafana.com/docs/grafana/latest/explore/logs-integration/#labels-and-detected-fields
Description:
Explore 中的日志
除了指标之外,Explore 还允许你在以下数据源中调查你的日志。
在基础设施监控和事件响应期间,你可以深入挖掘指标和日志,找到原因。Explore 还允许你通过并排查看指标和日志来进行关联。这创造了一个新的调试工作流程。
- 接到一个警报。
- 深入研究并检查指标。
- 再次深入,搜索与指标和时间间隔有关的日志(将来还有分布式跟踪)。
日志可视化
日志查询的结果在图表中以直方图的形式显示,个别日志在下面的章节中会有解释。
如果数据源支持全范围的日志量直方图,则会自动显示所有输入的日志查询的日志分布图。目前 Elasticsearch 和 Loki 数据源支持此功能。
如果数据源不支持加载全范围的日志量直方图,日志模型会根据自动计算的时间间隔的日志行数来计算一个时间序列,然后将第一个日志行的时间戳锚定在结果的直方图的起点。时间序列的末端被锚定在时间选择器的To范围内。
日志级别
对于指定了级别标签的日志,我们使用标签的值来确定日志的级别并相应地更新颜色。如果日志没有指定级别标签,我们会尝试找出其内容是否与任何支持的表达式相匹配(更多信息见下文)。日志级别总是由第一个匹配项决定的。如果 Grafana 无法确定一个日志级别,它将以未知的日志级别进行可视化。
Tip: 如果你使用 Loki 数据源,并且 "级别 "在你的日志线中,使用解析器(
JSON、logfmt、regex...)将级别信息提取为一个级别标签,用来确定日志级别。这将使直方图在不同的柱状图中显示不同的日志级别。
支持的日志级别以及日志级别缩写和表达式的映射:
| 支持的表达式 | 日志级别 | 颜色 |
|---|---|---|
| emerg | critical | 紫色 |
| fatal | critical | 紫色 |
| alert | critical | 紫色 |
| crit | critical | 紫色 |
| critical | critical | 紫色 |
| err | error | 红色 |
| eror | error | 红色 |
| error | error | 红色 |
| warn | warning | 黄色 |
| warning | warning | 黄色 |
| info | info | 绿色 |
| information | info | 绿色 |
| notice | info | 绿色 |
| dbug | debug | 蓝色 |
| debug | debug | 蓝色 |
| trace | trace | 淡蓝色 |
| * | unknown | 灰色 |
日志导航
日志行旁边的日志导航可以用来请求更多的日志。你可以通过点击导航底部的 Older logs 按钮来做到这一点。当你遇到行数限制,你想看到更多的日志时,这一点特别有用。每个从导航中运行的请求都会作为单独的页面显示在导航中。每一页都显示传入日志行的起止时间戳。你可以通过点击页面查看以前的结果。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 字段旁边以按钮的形式显示。

Toggle detected fields(切换检测到的字段)
Note: 在 Grafana 7.2 及更高版本中可用。
如果你的日志是以json或logfmt构造的,那么你可以显示或隐藏检测到的字段。展开一个日志行,然后点击眼睛图标来显示或隐藏字段。

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

Grafana 系列文章
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
Grafana 系列文章(六):Grafana Explore 中的日志的更多相关文章
- 【微信小程序开发•系列文章六】生命周期和路由
这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...
- ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API
ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用. 接下来几篇文章中您会了解以下内容: ASP.NET MVC 6 中创建简单的web API. 如何从空的项目模板中启 ...
- NHibernate系列文章六:NHibernate数据类型映射
摘要 NHibernate支持所有的数据库数据类型. 以SQL Server数据库为例,下表是NHibernate支持的SQL Server数据库最常见的数据类型对照表. 第一列是NHibernate ...
- Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
- Spring Boot 2.0系列文章(七):SpringApplication 深入探索
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/30/springboot_SpringApplication/ 前言 在 Spring B ...
- C#网络编程系列文章(五)之Socket实现异步UDPserver
原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程 ...
- C#网络编程系列文章(一)之Socket实现异步TCPserver
原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列文件夹 C#网络编程 ...
- 微信JS图片上传与下载功能--微信JS系列文章(三)
概述 在前面的文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的图片上传功能进行描述,供大家参考. 图片上传 $(function(){ v ...
- 微信JS分享功能--微信JS系列文章(二)
概述 在上一篇文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的分享功能进行描述,供大家参考. 代码 $(document).ready(f ...
- TCP和UDP通信(C#网络编程) ---- 系列文章
文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编程系列文章(二)之Socket实现同步TCP服务器 C#网络编程系列文章(三)之TcpListener实现异步TC ...
随机推荐
- Java多线程(7):JUC(上)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 前面把线程相关的生命周期.关键字.线程池(ThreadPool).ThreadLocal.CAS.锁和AQS都讲完了,现在就剩下怎么来用多线程了 ...
- Optional用法与争议点
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 要说Java中什么异常最容易出现,我想NullPointerException一定当仁不让,为了解决这种null值 ...
- 安装harbor仓库
1.安装docker-compose curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-c ...
- 7、将字符串数组s2中全部字符复制到字符数组s1中,不用strcpy函数
/* 将字符串数组s2中全部字符复制到字符数组s1中,不用strcpy函数 */ #include <stdio.h> #include <stdlib.h> void str ...
- AtCoder Regular Contest 151补题
AtCoder Regular Contest 151 A. Equal Hamming Distances 简单题,注意下答案需要字典序最小即可 #include<bits/stdc++.h& ...
- C#微信公众号关注二维码生成、密文方式
文章说明:是公众号使用自己服务器的处理的其中一篇关注二维码信息处理 1.流程 1.1 需知 全局返回码:这个必须要哦.不然调试的时候接口出的错误怎么处理呢. (闲话:博客的随笔只能添加也给超链呀, ...
- 痞子衡嵌入式:MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是MCUXpresso IDE下高度灵活的FreeMarker链接文件模板机制. 痞子衡之前写过一篇文章 <MCUXpresso I ...
- 这么简单,还不会使用java8 stream流的map()方法吗?
一.前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为"王五"的语文成绩暂时修改 ...
- 【Spark】Day05-内核解析:组件、流程、部署、运行模式、通讯架构、任务调度(Stage、task级)、两种Shuffle机制、内存管理、核心组件
一.内核概述 内核:核心组件的运行机制.任务调度.内存管理.运行原理 1.核心组件 (1)Driver驱动器节点:执行main方法,将程序转化为作业job,在executor中调度任务task,跟踪并 ...
- referer的反爬和爬虫下载视频
一.缘由 在梨视频等一些网站中会使用防盗链作为反爬的基础方法,这个反爬并不严重,只是平时的时候需要多加留意.此次实现对应链接中梨视频的下载. 二.代码实现 #1.拿到contid #2.拿到video ...