代码编织梦想

一、介绍

Grafana 是一个开源的数据可视化工具,它可以帮助用户将数据源中的数据进行图形化展示和实时监控,以便于用户能够更加直观地理解数据。Grafana 支持多种数据源,包括 Graphite、Elasticsearch、InfluxDB、Prometheus 等,也支持多种展示方式,如图表、仪表盘、地图、日历等。

Grafana 的主要作用包括:

  1. 数据可视化:通过 Grafana,用户可以将复杂的数据转化成易于理解的图表和仪表盘,并在一个界面中集中展示多个数据源的数据。

  1. 实时监控:Grafana 支持实时监控,可以帮助用户实时了解系统状态、性能等指标的变化情况。

  1. 告警与通知:Grafana 可以设置告警规则,当某些指标达到预设的阈值时,会自动发送通知,提醒用户关注和处理。

  1. 可扩展性:Grafana 支持插件式的开发模式,用户可以通过插件扩展功能,满足自己的特定需求。

总之,Grafana 是一款功能强大的数据可视化工具,可以帮助用户更好地理解数据,提高数据分析效率,提升工作效率。

二、数据源

Grafana 支持多种数据源,以下是其中一些主要的数据源:

  1. Graphite:Graphite 是一个开源的监控工具,Grafana 可以通过 Graphite 数据源将 Graphite 采集的监控数据进行可视化展示。

  1. Elasticsearch:Elasticsearch 是一个分布式搜索和分析引擎,Grafana 可以通过 Elasticsearch 数据源将 Elasticsearch 中的数据进行可视化展示。

  1. InfluxDB:InfluxDB 是一个高性能的时间序列数据库,Grafana 可以通过 InfluxDB 数据源将 InfluxDB 中的数据进行可视化展示。

  1. Prometheus:Prometheus 是一个开源的监控系统,Grafana 可以通过 Prometheus 数据源将 Prometheus 采集的监控数据进行可视化展示。

  1. MySQL:MySQL 是一个开源的关系型数据库,Grafana 可以通过 MySQL 数据源将 MySQL 数据库中的数据进行可视化展示。

  1. PostgreSQL:PostgreSQL 是一个开源的关系型数据库,Grafana 可以通过 PostgreSQL 数据源将 PostgreSQL 数据库中的数据进行可视化展示。

  1. Microsoft SQL Server:Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统,Grafana 可以通过 Microsoft SQL Server 数据源将 SQL Server 数据库中的数据进行可视化展示。

  1. OpenFalcon

除此之外,Grafana 还支持许多其他数据源,如 CloudWatch、OpenTSDB、MongoDB、Zabbix 等。

三、模板变量

来源:https://blog.csdn.net/fu_huo_1993/article/details/115026228

想配置如下效果:可以支持变量查询,选择不同的变量查询的结果不一样

010748fe4646566e07aeb6358be5e0bf.png

步骤

1、创建一个Dashboard

23fd9f37e65de834483951a4556c1c3f.png

2、设置模板变量

在Dashboard页面点击小齿轮⚙️图标。

6ca609bdf5356bab0a9e805e9d439628.png

点击创建一个变量

141cd070be1f26c3cac4db105cf11ea0.png

添加 nodename 变量,获取服务器的类型

c78426591ed42ed368e7858829e6fcf3.png

添加 instance 变量。

e6d016a9ba6b9705b77887fcfcaf2cb9.png

注意:

instance变量的值是根据上一步 nodename 变量的值而来的,及选择不同的 nodename,instance 的值应该是不同的。及在 instance 变量的查询语句中需要引用 nodename 变的值,通过 $nodename 即可引用。

做完上方出现的1,2两步,即可出现需求中出现的画面。

创建一个图表,监控一下 cpu 的使用率

ea99cf3891b42bd26ca03b79bc123041.png

四、模板库

在 Grafana 网站上,你其实可以找到很多别人已经做好的仪表,可以用来监测非常多标准化的服务。

Grafana 的仪表盘市场:https://grafana.com/grafana/dashboards[8]

比如说针对以下一些服务的标准仪表盘就可以在这里找到

  • JVM

  • Spring Boot

  • MySQL 监控

等等很多,我们选择一个SpringBoot相关的模板吧:SpringBoot APM Dashboard | Grafana Labs

33dad97e755c7da7929ace825d4c3ba7.png

点击下载Json。然后打开我们自己的Grafana服务,选择导入刚才的Json文件并填写相关表单:

fff4d97f3fafc7e207172dec4383981d.png
1f22b1f0cb533a59a213a1c4172f80c7.png
07b4a8cb8701f40a64657088b4952fb7.png

按照要求填写即可,效果如下:

532942d216d96493d82aff84904c96f0.png

五、SimpleJson

来源:https://blog.csdn.net/wonain/article/details/103291962

1、介绍

Grafana作为最火热的开源数据可视化工具,最大的特点就是支持多种数据源以及丰富的插件库了。官方提供了Elasictsearch、Prometheus、Mysql等常见数据库的数据源,社区也提供了支持Zabbix监控数据展示的数据源,但是实际应用中仍会遇到现有数据源无法满足需求的情况。比如Grafana没有现成插件支持从MongoDB等其他数据库中读取数据。

SimpleJson是Grafana开源社区提供的数据源,它本身并不依赖某种特定的后端存储,只需要后端能实现Grafana报表的几个查询接口就行,可以说给开发者提供了很大的想象空间了。

SimpleJson是Grafana众多数据源插件中的一种,但它又不像其他插件配置好数据库信息就能用,开发者需要自己实现一部分数据源插件的功能来使SimpleJson插件能够使用。

SimpleJson后端需要实现的四个接口:

/ 用于数据源配置界面的"Test connection"调用,若后端服务器正常应返回 200 状态码

/search 用于 panel 面板中查询有哪些可用的指标

/query 基于用户的查询语句,返回相应的数据

/annotations 返回注释内容

2、案例

Grafana SimpleJson 是 Grafana 支持的一种数据源类型,用于通过 HTTP API 获取数据,并将其转换为 Grafana 所需的格式,从而实现数据展示。

下面是一个简单的 SimpleJson 配置案例:

  1. 创建一个简单的 HTTP API,返回一个 JSON 格式的数据。例如,下面的代码是一个返回随机数的 PHP 脚本:

<?php
header('Content-Type: application/json');
echo json_encode([
    'data' => [
        ['time' => time(), 'value' => rand(0, 100)],
        ['time' => time() - 60, 'value' => rand(0, 100)],
        ['time' => time() - 120, 'value' => rand(0, 100)],
    ]
]);
?>
  1. 在 Grafana 中创建一个 SimpleJson 数据源,将 URL 设置为上面创建的 API 地址。例如,URL 可以是 http://example.com/random.php

  1. 在 Grafana 中创建一个新的仪表盘,并添加一个图表面板。

  1. 在图表面板中,选择 SimpleJson 数据源,并在查询编辑器中输入查询语句。例如,可以使用类似下面的查询语句:

SELECT
  UNIX_TIMESTAMP(time) as time_sec,
  value
FROM
  data
WHERE
  $__timeFilter(time)
  1. 保存并刷新仪表盘,即可看到随机数的实时变化情况。

以上配置案例只是一个简单的示例,实际应用中需要根据具体的数据源和查询语句进行配置。但是,通过 SimpleJson 数据源,可以轻松地将各种数据源的数据转换为 Grafana 可以使用的格式,并进行展示和分析。

参考:

【监控仪表系统】Grafana 中文入门教程 | 构建你的第一个仪表盘_grafana读音_逆流°只是风景-bjhxcc的博客-CSDN博客

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w2009211777/article/details/129622578

Spring Cloud应用指标监控:Prometheus + Grafana-爱代码爱编程

本文示例代码已上传至github:https://github.com/ZhaiBo/microservice-scaffold 本文参考资料:Prometheus文档 Grafana文档 Docker方式安装Prometheus + Grafana 克隆 使用github上开源项目快速搭建Prometheus + Grafana环境。git cl

IT监控:Grafana vs Datadog详细比较-爱代码爱编程

在使用Grafana或Datadog之前,请了解两个监控工具在支持的数据源,可视化等功能方面的比较。 IT监控系统有两种类型:接近原始数据源并为特定目的而构建的系统,以及位于这些监控系统之上的Grafana和Datadog等系统。 Grafana和Datadog在本质是聚合器,可以从其他数据收集工具(例如Splunk,Elasticsearch

Prometheus入门教程(三):Grafana 图表配置快速入门-爱代码爱编程

点击蓝色“陈树义”关注我哟 前面我们使用 Prometheus + Grafana 实现了一个简单的 CPU 使用率变化图,但是这个图还有许多缺陷,例如:左边栏的数值太小了无法调整,下面的图标信息无法定制化等等。 其实 Grafana 的功能是非常强大的,可以针对不同的需求进行针对性设置,从而做出让你满意的监控图表。那么我们今天就系统地讲一讲

每日一题之二叉树-爱代码爱编程

描述 给定一个二叉树root和一个值 sum ,判断是否有从根节点到叶子节点的节点值之和等于 sum 的路径。 1.该题路径定义为从树的根结点开始往下一直到叶子结点所经过的结点 2.叶子节点是指没有子节点的节点 3.路径只能从父节点到子节点,不能从子节点到父节点 4.总节点数目为n 例如: 给出如下的二叉树,\ sum=22 sum=22,

Prometheus + Grafana 实现监控功能总结-爱代码爱编程

一个简洁的博客网站:http://lss-coding.top,欢迎大家来访 学习娱乐导航页:http://miss123.top/ 1. Prometheus 简介 Prometheus 是近几年比较火的开源监控框架,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。Prometheus

Grafana系列:增加一个行面板-爱代码爱编程

背景 最近几天在优化一版监控面板,也总结不少经验,后续几篇会对其整理、分享。 Grafana我自己也用了一年多,在博客里也分享了一些我自己配置的一些监控面板,但是配置上的细节,因为自己经验有限,还从没整理过,趁此机会,分享一些细节。 关于Grafana的安装,建议参考官方:Installation | Grafana Labs 一个可以折叠的行面板

剑指offer JZ34 二叉树中和为某一值的路径(二)-爱代码爱编程

原题链接:剑指offer JZ34 二叉树中和为某一值的路径(二) 开始自作主张在dfs里写了个剪枝:if(sum>=expectNumber) return ;,,,,题目里说了节点值有可能为负数,把剪枝去掉就对了 /* struct TreeNode { int val; struct TreeNode *left; struct Tr

剑指offer-刷题笔记-中难题-JZ34 二叉树中和为某一值的路径(二)-爱代码爱编程

剑指offer-刷题笔记-中难题-JZ34 二叉树中和为某一值的路径(二) 版本1-递归 注意path.emplace_back(root->val)和path.push_back(root->val)的区别,如果是尾插临时对象的话,push_back()需要先构造临时对象,再将这个对象拷贝到容器的末尾,而emplace_back()则直接

《kubernetes监控篇:grafana通过自动化方式添加datasource和dashboard》_东城绝神的博客-爱代码爱编程

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大

docker安装grafana-爱代码爱编程

文章目录 Grafana介绍拉取镜像准备相关挂载目录及文件启动容器访问测试添加 Prometheus 数据源常见问题 看板配置 Grafana介绍 上篇博客介绍了prometheus的安装: