系列文章

Grafana 简介

Grafana 是 Grafana Labs 的第一款也是最重要的产品。它的定位是可视化, 用于监控展示可观察性. 是当前最为完善、流行的云原生、公有云和企业监控可视化平台。

Dashboard anything. Observe everything

无论你的数据存储在哪里,都可以对其进行查询、可视化、预警和理解。有了 Grafana,你可以通过漂亮、灵活的仪表盘创建、探索和分享你的所有数据。

Grafana 的巨大优势

统一数据,而非数据库

Grafana 并不要求你将数据输入到后端存储或供应商数据库。相反,Grafana 采取了一种独特的方法,通过统一你现有的数据,不管它在哪里,来提供一个 "单一的玻璃窗"。

有了 Grafana,你可以利用你的任何现有数据--无论是来自 Kubernetes 集群、树莓派、不同的云服务,甚至是谷歌表格--并以你想要的方式将其可视化,所有这些都来自一个单一的仪表盘。

共享 协作

Grafana 建立在这样一个原则上:数据应该被你组织中的每一个人访问,而不仅仅是单一的运营人员。

通过数据的民主化,Grafana 有助于促进一种文化,在这种文化中,数据可以很容易地被需要它的人使用和访问,帮助打破数据孤岛并赋予团队权力。

Grafana 仪表盘不仅为从众多来源收集的数据赋予了深刻的意义,而且你还可以与其他团队成员分享你创建的仪表盘,让你们一起探索数据。

有了 Grafana,任何人都可以创建和分享动态仪表盘,以促进协作和透明度。

丰富的仪表板生态

通过 Grafana,既可以展示:

运维人员的仪表板, 如 Kubernetes Dashboard:

也可以展示开发团队的 Sprints:

还可以展示财务人员的 Revenue:

另外,Grafana 还提供了 Dashboards 的 registry, 提供成千上万、丰富多彩的仪表板。

数据关联

Grafana 可以了解所有相关的数据--以及它们之间的关系--对于尽快根治事件和确定意外系统行为的真正来源非常重要。Grafana 允许团队在一个地方对所有的数据进行无缝的可视化和跳转。

最典型的就是 Grafana Labs 的 LGTM 技术栈,包括:

  • Loki(Logging)
  • Grafana(可视化)
  • Tempo(Tracing)
  • Mimir(Metrics)

LGTM

通过如下的技术细节,可以实现 Logging、Tracing、Metrics 的无缝可视化和跳转:

  • Metrics -> Logs: 基于服务发现和统一 labels
  • Logs -> Metrics: 基于 LogQL 提取 Metric 指标
  • Logs -> Traces: 基于衍生字段 (fields) 或自动化的日志
  • Traces -> Logs: 基于 labels
  • Traces -> Metrics: 基于来自 spans 的 Metric 指标
  • Metrics -> Traces: 基于 Prometheus 的 Exemplars.

具体如下图:

即使没有采用 Grafana Labs 的解决方案,也仍然能实现一定程度的无缝跳转。

如:

  • Metric 使用 Prometheus
  • Logging 使用 EFK
  • Tracing 使用 Jaeger

如果日志中也包括 trace_id, Name 至少可以通过 trace_id, 实现 Logs -> Traces 的无缝跳转。

丰富的面板

丰富的面板、丰富的配置、多彩的配色。..

  • 时序面板

    • 折线图
    • 面积图
    • 散点图
    • ...
  • 表格
  • 状态时间线(如下图)
  • 统计数据 (stat)
  • 仪表盘 (Gauge)
  • 柱状图和饼状图
  • 地理地图
  • 热力图
  • 日志图
  • 甘特图
  • 链路图
  • ...

丰富的插件和数据源

用 Grafana 插件连接你的工具和你的团队。数据源插件通过 API 连接到现有的数据源,并实时呈现数据,而不需要你迁移或摄取你的数据。如:

  • Zabbix 插件和数据源
  • Cloudflare 插件
  • Json 数据源
  • Mysql 数据源
  • ES 数据源
  • Jaeger 数据源
  • Github 数据源
  • Zipkin 数据源
  • Prometheus 数据源
  • ...

告警

有了 Grafana 告警功能,你可以在一个简单的用户界面中创建、管理和屏蔽所有的警报,使你能够轻松地整合和集中所有的警报。

Transformations (转化)

Transformations 功能非常强大,是定制专业、美观的仪表板的必备功能。

转化允许你在不同的查询和数据源之间重命名、汇总、合并和执行计算。

Annotations(注释)

用来自不同数据源的丰富的事件对图表进行注释。悬停在事件上会显示完整的事件元数据和标签。

Panel 编辑器

面板编辑器使配置、定制和探索所有面板变得容易,在所有可视化中设置数据选项的用户界面是一致的。

Template Variables(模板变量)

用模板变量创建动态和可重复使用的仪表盘,模板变量以下拉方式出现在仪表盘的顶部。

混合数据源

在同一个图形中混合不同的数据源!你可以在每个查询的基础上指定一个数据源。如在一个仪表板中同时展示 Metric 和 Logs 的数据。

下一步

下一步,我们将通过一系列文章,完整地展示通过 Grafana 统一展示的全部细节,具体为:

  1. 数据源:

    1. AWS CloudWatch
    2. Prometheus
    3. Prometheus AlertManager
    4. Zabbix(通过插件)
    5. ElasticSearch
    6. Jaeger
  2. 仪表板:
    1. AWS EC2 (基于 CloudWatch)
    2. Prometheus Pod(基于 Prometheus)
    3. Linux Server (基于 Zabbix)
    4. App Log Quick Search(基于 ES)
  3. Explore:
    1. Jaeger
  4. Alerting
  5. 无缝可视化和跳转:
    1. 从 Logs(ES) 跳转到 Traces(Jaeger)

敬请期待~

Grafana 系列-统一展示-1-开篇的更多相关文章

  1. Grafana 系列文章(三):Tempo-使用 HTTP 推送 Spans

    ️URL: https://grafana.com/docs/tempo/latest/api_docs/pushing-spans-with-http/ Description: 有时,使用追踪系统 ...

  2. Grafana 系列文章(十二):如何使用Loki创建一个用于搜索日志的Grafana仪表板

    概述 创建一个简单的 Grafana 仪表板, 以实现对日志的快速搜索. 有经验的直接用 Grafana 的 Explore 功能就可以了. 但是对于没有经验的人, 他们如何能有一个已经预设了简单的标 ...

  3. Grafana 系列文章(十四):Helm 安装Loki

    前言 写或者翻译这么多篇 Loki 相关的文章了, 发现还没写怎么安装 现在开始介绍如何使用 Helm 安装 Loki. 前提 有 Helm, 并且添加 Grafana 的官方源: helm repo ...

  4. ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇

    ShoneSharp语言(S#)的设计和使用介绍 系列(1)- 开篇 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 一 ...

  5. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

  6. 分布式监控系统Zabbix--使用Grafana进行图形展示

      今天介绍一款高颜值监控绘图工具Grafana,在使用Zabbix监控环境中,通常我们会结合Grafana进行图形展示.Grafana默认没有zabbix作为数据源,需要手动给zabbix安装一个插 ...

  7. 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建

    如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...

  8. Grafana 系列文章(一):基于 Grafana 的全栈可观察性 Demo

    ️Reference: https://github.com/grafana/intro-to-mlt 这是关于 Grafana 中可观察性的三个支柱的一系列演讲的配套资源库. 它以一个自我封闭的 D ...

  9. Grafana 系列文章(二):使用 Grafana Agent 和 Grafana Tempo 进行 Tracing

    ️URL: https://grafana.com/blog/2020/11/17/tracing-with-the-grafana-cloud-agent-and-grafana-tempo/ ✍A ...

  10. Grafana 系列文章(四):Grafana Explore

    ️URL: https://grafana.com/docs/grafana/latest/explore/ Description: Explore Grafana 的仪表盘 UI 是关于构建可视化 ...

随机推荐

  1. nebula-br local-store 模式,快速搭建主备集群实践

    因为线上图数据库目前为单集群,数据量比较大,有以下缺点: 单点风险,一旦集群崩溃或者因为某些查询拖垮整个集群,就会导致所有图操作受影响 很多优化类但会影响读写的操作不好执行,比如:compact.ba ...

  2. Java //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除)+优化

    1 //100以内的质数的输出(从2开始,到这个数-1结束为止,都不能被这个数本身整除) 2 boolean isFlag = true; //标识i是否被j除尽,修改其值 3 4 for(int i ...

  3. centos 7与8修改主机名的各种方法

    hostname 查看当前系统主机名,知道当前主机名为localhost 当然在centos7特地添加了hostnamectl命令查看,修改主机名 使用hostnamectl set-hostname ...

  4. XAF Blazor FilterPanel 布局样式

    从上一篇关于ListView布局样式的文章中,我们知道XAFBlazor是移动优先的,如果想在PC端有更好的用户体验,我们需要对布局样式进行修改.这篇介绍在之前文章中提到的FilterPanel,它的 ...

  5. vscode 两种定位跳转的方法 ctrl+p 方法1 path:行号 方法2 #变量名 - 针对$store变量不好找的方案 方法1可以备注在代码里面

    vscode 两种定位跳转的方法 ctrl+p 方法1 path:行号 方法2 #变量名 - 针对$store变量不好找的方案 方法1可以备注在代码里面 问题 $store的变量不能跳转,有跳转插件也 ...

  6. DRC音频处理算法原理解析及仿真结果

    一 概念: 在声学领域中,DRC(Dynamic range compression) 一般用来动态调整音频输出幅值,在音量大时压制音量在某一范围内,在音量小时适当提升音量.通常用于控制音频输出功率, ...

  7. 多线程系列(二十一) -ForkJoin使用详解

    一.摘要 从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果. 比如当前要计算一个数组的和,最简单的办法就是用一个循环 ...

  8. JS(循环)

    一 for循环 在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件.由循环体及循环的终止条件组成的语句,被 称之为循环语句 1 语法结构 for循环主要用于把某些代码 ...

  9. 配置Tomcat服务器

    一:修改服务器端口 访问tomcat主页的时候,输入的是localhost:8080,说明tomcat的端口是8080,那么怎么修改端口号呢? 我们要先认识配置文件 用浏览器打开tomcat下conf ...

  10. Cesium之DrawCommand与绘制三角形

    1. 引言 Cesium中的Command对象包含执行的指令参数和执行方法,Command对象主要有三类: ClearCommand DrawCommand ComputeCommand DrawCo ...