系列文章

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. 【Azure 存储服务】使用PowerShell脚本创建存储账号(Storage Account)的共享访问签名(SASToken) : New-AzStorageContainerSASToken

    问题描述 使用PowerShell脚本如何来创建存储账号(Storage Account)的共享访问签名呢?查询到可以使用 New-AzStorageContainerSASToken 命令来生成Az ...

  2. 17. Class字节码指令解析

    ## 1. 概述 官方文档:https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-6.html Java 字节码对于虚拟机,就好像汇编语言对于 ...

  3. git 取消代理无效?试试这个

    git 取消代理的命令操作 git conifg --global --unset http.proxy git conifg --global --unset https.proxy 一般情况下这种 ...

  4. Dendron vscode笔记插件 F12 可自动跳转 页面 很实用

    Dendron vscode笔记插件 F12 可自动跳转 页面 很实用 Dendron 技巧汇总 新建工作区 新建一个 工作区 建立一个空目录 然后 ctrl + shift P 输入 init 就可 ...

  5. [置顶] 彻底停止运行线程池ThreadPoolExecutor

    最近系统开发时遇到这样一个需求: 该功能执行时间很久,如果运行过程出现错误,也无法将其停止,必须眼睁睁的看着它浪费很久时间,除非停止服务器. 于是,我就想着如何给该功能加上一个"停止&quo ...

  6. struts1之global-forwards

    当你的某个转发要经常用,并且要携带某些数据(request)的时候用全局转发,也就是global-forwards,例如我们在分页的时候,或者得到数据列表的时候.. ForwardAction呢,是为 ...

  7. 三维模型3DTile格式轻量化在网络传输中的重要性分析

    三维模型3DTile格式轻量化在网络传输中的重要性分析 三维模型3DTile格式轻量化在网络传输中扮演了至关重要的角色.随着数字化和虚拟化技术的发展,越来越多的应用需要通过网络来获取和分享大规模三维地 ...

  8. STL:vector中如何使用at()来避免程序报错

    #include <iostream> #include <vector> using namespace std; int main() { vector<int> ...

  9. 记录--用css画扇形菜单

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.效果图 用手机录屏再用小程序转换的gif,可能精度上有点欠缺. 2.实现过程 1.观察及思考 开始编码前我们首先观察展开后的结构:两个 ...

  10. 记录-Symbol学习笔记

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Symbol是JavaScript中的原始数据类型之一,它表示一个唯一的.不可变的值,通常用作对象属性的键值.由于Symbol值是唯一的, ...