点击下方名片,设为星标

回复“1024”获取2TB学习资源!

前面介绍了 Prometheus Pushgateway基于K8S服务发现监控常见服务、配置 Grafana 展示与报警高可用集群方案高可用架构 Thanos相关的知识点,今天我将详细的为大家介绍Grafana 入门与部署相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发朋友圈支持一波!!!

什么是Grafana

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

  • 官网地址:https://grafana.com/

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

报警:支持可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时进行告警。

过滤器:过滤器允许动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。

在整个监控体系中,Exporter 数据生产者,采集需要监控的数据。Prometheus 普罗米修斯时序数据库,用来存储和查询的监控数据,从Exporter上拉取。Grafana 可视化工具仪表盘。76982d495e978d080085e8a3868c32da.pngGrafana 支持许多不同的数据源,每个数据源都有一个特定的查询编辑器,每个数据源的查询语言和能力都是不同的,我们可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源。目前官方支持以下数据源:

  • Alertmanager

  • AWS CloudWatch

  • Azure Monitor

  • Elasticsearch

  • Google Cloud Monitoring

  • Graphite

  • InfluxDB

  • Loki

  • Microsoft SQL Server (MSSQL)

  • MySQL

  • OpenTSDB

  • PostgreSQL

  • Prometheus

  • Jaeger

  • Zipkin

  • Tempo

我们这里当然重点需要介绍的就是 Prometheus 这个数据源了。更多关于企业级监控平台系列的学习文章,请参阅:构建企业级监控平台,本系列持续更新中。

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 核心概念

DashBoard:仪表盘,数据展示的窗口。就像汽车仪表盘一样可以展示很多信息,包括车速,水箱温度等。Grafana的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。5c1a52ebd3580d73bd0a5ce9e318d83d.pngRow:DashBoard 的基本组成单元,一个 DashBoard 可以包含很多个 row 。一个 row 可以展示一种信息或者多种信息的组合,比如系统内存使用率,CPU五分钟及十分钟平均负载等。所以在一个DashBoard上可以集中展示很多内容。

Panel:面板,实际上就是row展示信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式。

Query Editor:Query Editor 顾名思义,就是查询语句管理,类似 sql 语句。每个面板都提供一个Query Editor,我们可以通过编写语句来控制面板展示不同的图表。不同的数据源对应不同的Query Editor:当 Grafana 与 Prometheus 结合使用时,对应的是PromQL。

组织Organization:类似于用户组,每个用户可以拥有多个Org,Grafana有一个默认的main org。用户登录后可以在不同的Org之间切换,前提是该用户拥有多个Org。不同的Org之间完全不一样,包括 Datasource,Dashboard 等都不一样。创建一个 Org 就相当于开了一个全新的视图,所有的 Datasource,Dashboard 等都要再重新开始创建。

这里需要注意的是,大多数度量数据库不提供任何类型的每用户系列身份验证。因此,在Grafana中,特定组织中的所有用户都可以使用数据源和仪表盘。

User:这个概念应该很简单,不用多说。Grafana里面用户有三种角色admin,editor,viewer。admin权限最高,可以执行任何操作,包括创建用户,新增Datasource,创建DashBoard。editor角色不可以创建用户,不可以新增Datasource,可以创建DashBoard。viewer角色仅可以查看DashBoard。

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

Grafana 部署

Grafana安装部署方式有很多,这里我们基于容器化进行部署Grafana。

Docker容器化部署Grafana
docker run -d -p 3000:3000 --name=grafana grafana/grafana:8.1.5

3775c56e303411a7e07e6dd615a9634e.png浏览器访问http://IP+3000就能访问到登陆页面,默认用户名admin密码admin。f999c85b04f653c3641ff23882745523.png55d6f3769af398b536aa26539fe517d8.png这就是grafana刚进来的页面。93be1e59a6e56e4191975707a230430d.pngOK,接下来我们来配置数据源,指定prometheus地址。6378bc576115ee343a629a4ce7bed601.png2e89b327aba58cc94edb4314e0be33f2.png67e2f2d595f9a38f9d42a0f71d73ee62.png0f8090b85d9bb78cf45576d9e20d8234.png更多关于企业级监控平台系列的学习文章,请参阅:构建企业级监控平台,本系列持续更新中。

Grafana常用菜单和仪表盘配置实战

用户和组织
用户
  • Grafana 里面用户有三种角色 admin,editor,viewer。

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

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

  • viewer 角色仅可以查看 DashBoard。

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

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

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

df59ee48b580b2fba5a300c1a52b824f.png
数据源 (DataSource)
  • Grafana 支持多种不同的时序数据库数据源,对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。

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

6f3f0ce4f95ea1abc393968f0b0b19f3.png
仪表盘(Dashboard)
  • 最重要 UI 界面 仪表盘,通过数据源定义好可视化的数据来源,Dashboard 来组织和管理数据可视化图表。

  • 仪表盘可以视为一组一个或多个面板组成的一个集合,来展示各种各样的面板。 - Panel 在一个 Dashboard 中一个最基本的可视化单元为一个 Panel(面板)。

  • 通过 Panel 的 Query Editor(查询编辑器)为每一个 Panel 添加查询的数据源以及数据查询方式,每一个 Panel 都是独立的。3018a335b5c65df29ad928909b7d34df.png

仪表盘配置使用步骤

步骤一:创建dashboard4fadf81e0c581999427b93a82935a5c9.png步骤二:创建panel面板dcdf9d41d5be430a8319399eca4854ba.png步骤三:配置数据项 jvm_memory_used_bytes8a6c065230006e4aa15bf40c6e22af02.pngOK,到这里Grafana的简介以及安装配置就搞定啦。更多关于企业级监控平台系列的学习文章,请参阅:构建企业级监控平台,本系列持续更新中。

参考文章:https://blog.csdn.net/A13581861752/article/details/124148803  https://blog.csdn.net/weixin_47533244/article/details/131948396

读者专属技术群

构建高质量的技术交流社群,欢迎从事后端开发、运维技术进群(备注岗位,已在技术交流群的请勿重复添加)。主要以技术交流、内推、行业探讨为主,请文明发言。广告人士勿入,切勿轻信私聊,防止被骗。

扫码加我好友,拉你进群

1f7a7b65aed54cf6d90b3a0e8a67a780.jpeg

推荐阅读 点击标题可跳转

知名车企被爆大规模裁员!比例 10%-20%

Windows 全新虚拟机发布!

待遇最好的 10 家央国企名单!

一款超牛逼的组网神器!吊打市面其它工具~

原以为是 Visio 的平替,没想到是个王者!

专为 90 后定制的 Shell,到底有啥不一样!

73c81ffcb7fe93b68b20714d30b88e88.png

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下在看,加个星标,这样每次新文章推送才会第一时间出现在你的订阅列表里。点在看支持我们吧!

Logo

鸿蒙生态一站式服务平台。

更多推荐