【Grafana】Grafana 基础入门

 Grafana 简介

什么是Grafana

Grafana 是一跨平台的开源的可视化分析工具,是目前网络架构和应用分析中最流行的时序数据展示工具,主要用于大规模指标数据的可视化展示。

它是用Go语言开发,可以做数据监控和数据统计,带有告警功能。支持快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件。

  • 官网地址:Grafana官网入口

Grafana工作原理

Grafana 是一个仪表盘,其主要目的是对各种数据提供可视化。

Grafana 本身并不负责数据层,它只提供了通用的接口,让底层的数据库可以把数据给它。也就是说,Grafana 每次要展现一个仪表盘的时候,会向数据库发送一个查询请求。

一般来说,我们需要一个服务来获取我们想要监控或者可视化的数据,然后将其放到Grafana的底层数据库中,等待Grafana展示。然后我们需要配置Grafana表盘,确定需要展示的数据以及形式。

Grafana的特点

  • grafana拥有快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式,让我们复杂的数据展示的美观而优雅。
  • Grafana支持许多不同的时间序列数据(数据源)存储后端。每个数据源都有一个特定查询编辑器。官方支持以下数据源:Graphite、infloxdb、opensdb、prometheus、elasticsearch、cloudwatch。每个数据源的查询语言和功能明显不同。你可以将来自多个数据源的数据组合到一个仪表板上,但每个面板都要绑定到属于特定组织的特定数据源
  • Grafana中的警报允许您将规则附加到仪表板面板上。保存仪表板时,Gravana会将警报规则提取到单独的警报规则存储中,并安排它们进行评估。报警消息还能通过钉钉、邮箱等推送至移动端。但目前grafana只支持graph面板的报警。
  • Grafana使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
  • Grafana使用Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

    Grafana的应用场景

  • 1.监控用户的活跃度,交易量等信息
  • 2.监控实时访问量
  • 3.对app的用户数,营收等数据进行可视化
  • 4.对实验结果进行可视化

    Grafana 与 Kibana 的区别

    Kibana 是运维圈耳熟能详的后端数据实时展示工具。日常工作中,大家都用 Kibana 结合Logstash、ElasticSearch 等组件一起使用做日志展示、索引、分析的。但Kibana也可以接入其他数据源的,只不过最常见的用法还是展示日志。

    Grafana 最早其实应该是 Kibana3 的一个分支。不同的是,Grafana 拥有自己的权限管理和用户管理系统,而 Kibana 没有权限管理系统。Kibana 和 ES 结合紧密,支持强大的ES语法,比较适合做一些多维度的分析和查询,而Grafana更适合用于展示,图形比Kibana美观很多。

Grafana 7个核心基础概念

Grafana基础概念主要包括数据源(DataSource),面板(Panel),仪表盘(Dashboard)等,要想深入了解grafana,首先要先学习grafana的基础概念。

1、组织(Org)

类似于用户组,Grafana有一个默认的main org。

每个用户可以拥有多个 Organization,用户登录后可以在不同的 Organization 之间切换,前提是该用户拥有多Organization。

不同的 Organization 之间完全不一样,包括 datasource,dashboard 等都不一样。

创建一个 Organization 就相当于开了一个全新的视图,所有的 datasource,dashboard 等都要再重新开始创建。

2、用户(User)

Grafana 里的用户有三种角色 admin,editor,viewer。在2.1版本及之后新增了一种角色read only editor(只读编辑模式),这种模式允许用户修改 DashBoard,但是不允许保存。每个 user 可以拥有多个 Organization。

  • admin 权限最高,可以执行任何操作,包括创建用户,新增 Datasource,创建DashBoard。

  • editor 角色不可以创建用户,不可以新增 Datasource,可以创建 DashBoard。

  • viewer 角色仅可以查看 DashBoard。

3、数据源 (DataSource)

  • Grafana 支持多种不同的时序数据库数据源,对每种数据源提供不同的查询编辑器。官方主要支持以下数据源:Graphite、influxdb、opensdb、prometheus、elasticsearch、cloudwatch等。

  • 可以将多个数据源的数据合并到一个单独的仪表板上。

  • Grafana支持许多不同的时间序列数据(数据源)存储后端。您可以将来自多个数据源的数据组合到一个仪表盘上,但每个面板都要绑定到属于特定组织的特定数据源。

4、仪表盘(Dashboard)

接下来介绍一下 Grafana 中的重要 UI 界面——仪表盘。

Grafana的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。

  • Dashboard。通过数据源定义好可视化的数据来源之后,对于用户而言最重要的事情就是实现数据的可视化。在 Grafana 中,我们通过 Dashboard 来组织和管理我们的数据可视化图表。
  • 仪表盘可以视为一组一个或多个面板组成的一个集合,来展示各种各样的面板。 
  • 仪表盘就是一切的归宿。仪表板可以看作是一组组织并排列成一行或多行的一个或多个面板。

    仪表板的时间段可以由仪表板右上角的仪表盘时间选择器控制。

    仪表盘可以利用模板化使其更具动态性和互动性。

    仪表盘可以利用注释在面板之间显示事件数据。这有助于将面板中的时间序列数据与其他事件关联起来。

    仪表盘(或特定面板)可以通过多种方式轻松共享。您可以向登录您的Grafana的人发送链接。您可以使用快照功能将当前查看的所有数据编码为静态和交互式JSON文档;这比通过电子邮件发送屏幕截图要好得多!

    可以标记仪表板,仪表板选择器提供对特定组织中所有仪表板的快速、可搜索访问

5、行(Row)

行是仪表盘中的逻辑分隔符,用于将面板分组在一起。 

DashBoard 的基本组成单元,一个 DashBoard 可以包含很多个 row 。一个 row 可以展示一种信息或者多种信息的组合。

行总是12“单位”宽。这些单位根据浏览器的水平分辨率自动缩放。通过设置面板自身的宽度,可以控制一行中面板的相对宽度。我们使用了一个单元抽象,这样Grafana在无论是小屏幕还是大屏幕 看起来都很舒服。

利用Repeating Rows functionality ,根据所选模板变量动态创建或删除整个行(可以用面板填充)。单击行标题可以折叠行。如果保存的仪表板中有一行折叠,则它将保存在该状态下,并且在该行展开之前不会预加载这些图表。

注意:使用MaxDataPoint功能,Grafana可以向您显示完美数量的数据点,无论您的分辨率或时间范围如何

6、面板(Panel)

Panel:面板是Grafana中的基本可视化构建块。在一个 Dashboard 中一个最基本的可视化单元为一个 Panel(面板)。每个 Panel 都提供一个 Query Editor(查询编辑器),我们可以为每一个 Panel 添加查询的数据源以及数据查询方式。每一个 Panel 都是独立的,可以选择一种或者多种数据源进行查询。比如我们使用 ElasticSearch,那么我们可以使用 Lucene 语句进行查询

面板可以在仪表板上拖放和重新排列。它们也可以调整大小。

当前有四种基本面板类型:graph、singlestat、dashlist、table和text。

7、查询编辑器(Query Editor)

Query Editor 顾名思义,就是查询语句管理,类似 sql 语句。每个面板都提供一个Query Editor,我们可以通过编写语句来控制面板展示不同的图表。

使用查询编辑器在时间序列数据库中生成一个或多个查询(针对一个或多个序列)。该面板将立即更新,允许您实时有效地探索数据,并为该特定面板构建一个完美的查询。

您可以在查询本身的查询编辑器中使用模板变量。这提供了一种基于仪表板上选择的模板变量动态探索数据的强大方法。

Grafana允许您在查询编辑器中按查询所在的行引用查询。如果向图形中添加第二个查询,只需键入a即可引用第一个查询。这为构建复合查询提供了一种简单方便的方法。

对于这些核心的组件的详细介绍,我们会在后面的文章中逐一进行详解。

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

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

相关文章

深入浅出 Spring Boot 与 Shiro:构建安全认证与权限管理框架

一、Shiro框架概念 (一)Shiro框架概念 1.概念: Shiro是apache旗下一个开源安全框架,它对软件系统中的安全认证相关功能进行了封装,实现了用户身份认证,权限授权、加密、会话管理等功能,组成一…

【WRF数据准备】土地利用类型分类标准:USGS+MODIS IGBP 21

【WRF数据准备】土地利用类型分类标准:USGSMODIS IGBP 21 WRF常用土地类型分类MODIS IGBP 21USGSNLCD Landuse 选择土地利用分类标准替换城市土地类型后更改土地利用分类参考 WRF常用土地类型分类 WRF中土地利用类型最高分辨率是30s,且主要分为MODIS和U…

BERT在预训练阶段,需要如何处理数据集?

引言 在BERT的预训练阶段,需要对数据集进行特定的处理,以生成适用于 Masked Language Modeling(MLM)和 Next Sentence Prediction(NSP)任务的数据。以下是详细的步骤和方法: 1. 原始文本数据的准备 首先,需要收集大量的无标签纯文本数据,例如: 1.维基百科:涵盖广泛主…

「C/C++」C/C++ 之 变量作用域详解

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

市场分化!汽车零部件「变天」

全球汽车市场的动荡不安,还在持续。 本周,全球TOP20汽车零部件公司—安波福(Aptiv)发布2024年第三季度财报显示,三季度公司经调整后确认收入同比下降6%;按照区域市场来看,也几乎是清一色的下滑景…

华为HarmonyOS打造开放、合规的广告生态 - 插屏广告

场景介绍 插屏广告是一种在应用开启、暂停或退出时以全屏或半屏的形式弹出的广告形式,展示时机巧妙避开用户对应用的正常体验,尺寸大,曝光效果好。 接口说明 接口名 描述 loadAd(adParam: AdRequestParams, adOptions: AdOptions, listene…

在VScode中配置C_C++环境

众所周知,VScode是一个轻量,简便,功能强大的编辑器,我们可以在里面编写各种各样的代码,但是在C/C代码编译运行的时候,我们需要对环境进行一些适配,废话不多说,请看下面的详细步骤。 …

医疗器械设备语音ic芯片方案-选型大全

在医疗设备领域,深圳唯创知音提供了多款适用的语音IC产品,以下是其中几款较为常见的推荐: 一、WT588F02X-8S 特点: 1:低成本人机交互语音方案,仅需嵌入在产品中,提升医疗设备智能化水平。 2&…

认识 WordPress:全球最受欢迎的建站平台

WordPress 是一个功能强大且灵活的开源建站平台。它不仅是全球最受欢迎的内容管理系统(CMS),而且凭借其用户友好的界面、强大的扩展性和庞大的社区支持,成为了各类网站的首选工具。本文将带你了解 WordPress 的起源、优势及适用场…

论文笔记(五十四)pi0: A Vision-Language-Action Flow Model for General Robot Control

π0: A Vision-Language-Action Flow Model for General Robot Control 文章概括摘要I. INTRODUCTIONII. RELATED WORKIII. OVERVIEWIV. π 0 \pi_0 π0​模型V. 数据收集和培训配方A. 预训练和后训练B. 语言和高级策略C. 机器人系统细节 VI. 实验评估A. 基础模型评估B. 遵循语…

【含开通报告+文档+源码】基于SpringBoot的新能源充电桩管理系统的设计与实现

开题报告 近年来,随着全球对环境问题的关注和新能源汽车的普及,新能源充电桩的需求显著增加[1]。为了满足大量新能源车辆的充电需求,各地纷纷建设新能源充电桩站点。然而,随着充电桩数量的增加,管理和运营充电桩也面临…

Android 复习Path.Op.DIFFERENCE

mLinePaint.setAntiAlias(true); mLinePaint.setStrokeWidth(4f); mLinePaint.setColor(Color.parseColor("#FFFFFFFF")); mLinePaint.setStyle(Paint.Style.STROKE); // 定义圆角矩形的边界RectF rectF new RectF(lThumbWidth lThumbOffset, 0f, rThumbOffs…

TDengine 数据订阅 vs. InfluxDB 数据订阅:谁更胜一筹?

在时序数据的应用场景中,数据的实时消费和处理能力成为衡量数据库性能和可用性的重要指标。TDengine 和 InfluxDB 作为时序数据库(Time Series Database)中的佼佼者,在数据订阅方面各有特点。但从架构设计、灵活性和系统负载上看&…

克服奖励欺骗:Meta发布全新后训练方式CGPO,编程水平直升5%,打破RLHF瓶颈

克服奖励欺骗:Meta发布全新后训练方式CGPO,编程水平直升5%,打破RLHF瓶颈 在人工智能领域,奖励欺骗成为了多任务学习中的一大难题,严重影响了大型语言模型(LLMs)的表现。为了有效应对这一挑战&a…

Python小游戏19——滑雪小游戏

运行效果 python代码 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕尺寸 screen_width 800 screen_height 600 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption("滑雪小游戏") # 定义颜色 WH…

goframe开发一个企业网站 前端界面 拆分界面7

将页面拆出几个公用部分 在resource/template/front创建meta.html header.html footer.html meta.html <head><meta charset"utf-8"><meta content"widthdevice-width, initial-scale1.0" name"viewport"><title>{{.…

Android 大疆面经

Android 大疆面经 文章目录 Android 大疆面经一面 一面 自我介绍问项目聊了10分钟View的绘制流程MVC&#xff0c;MVP&#xff0c;MVVM的区别view和viewmodel的通信&#xff0c;除了databing还有其他的方式面向对象和面向过程的区别工厂模式和策略模式&#xff0c;哪些框架使用…

读书笔记#深入理解Java虚拟机(第三版)# Java内存模型与线程

深入理解Java虚拟机&#xff08;第三版&#xff09;# 高效并发 chap12 Java内存模型与线程 概述 在许多场景下&#xff0c;让计算机同时去做几件事情&#xff0c;不仅是因为计算机的运算能力强大了&#xff0c;还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统的…

简单理解什么是js原型链(注意“提问”的问题)

原型链是 JavaScript 中实现对象属性继承的一种机制。它允许对象通过其原型&#xff08;prototype&#xff09;从其他对象继承属性和方法。 1. 原型&#xff08;Prototype&#xff09; 每个 JavaScript 对象都有一个内部链接&#xff0c;指向另一个对象&#xff0c;这个对象称…

Ubuntu操作系统安装过程简介

以下是Ubuntu使用Ubiquity安装器的详细安装过程&#xff1a; 1. 准备工作 - 首先&#xff0c;获取Ubuntu的安装介质。可以是官方网站下载的ISO镜像文件&#xff0c;并将其制作成可引导的USB启动盘&#xff08;可使用Rufus等工具&#xff09;&#xff0c;或者是Ubuntu安装光…