热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分分钟教会你,解决Grafana中String类型的展示问题

文章目录特殊场景解决方案方案一「APIPanel」方案二「MetricTableDisplay」方案施行流程最终效果Q&A附录目前在企业级监控中,许多公司都用了Pro

文章目录

    • 特殊场景
    • 解决方案
      • 方案一「 API + Panel 」
      • 方案二「 Metric + Table + Display」
    • 方案施行流程
    • 最终效果
    • Q&A
    • 附录



  目前在企业级监控中,许多公司都用了 Prometheus + Grafana 组件。有些特殊场景需要以 String 类型为主要展示内容,那么你们的解决方案是什么呢?

了解更多,请关注 公众号 “
code 杂坛 “!

特殊场景


  • 场景一
      在一个业务任务中,通过抢锁的方式确保当前有且仅有一个节点在执行任务,且一但节点故障,其他节点替换执行。

「 锁:基于redisgo的分布式锁https://blog.csdn.net/qq_34417408/article/details/117224113 」
为了能够定位当前执行任务的节点,在锁的 value 中存储了节点 IP 。在进行展示的时候,遇到了问题,Prometheus + Grafana 貌似无法对 String 类型进行展示?


「 此处展示指,以String 类型展示为主,非 x 轴或注释形式。」
了解更多,请关注 公众号 “ code 杂坛 “!


  • 场景二:
      在对集群监控时,需要突出故障节点所在机房信息,遇到了同样的问题,貌似无法对 String 类型进行展示?
    了解更多,请关注 公众号 “ code 杂坛 “!


  作为一款云原生时代的实时监控,Prometheus 指标提供了四种基本类型,分别为 Counter、Guage、Histogram、Summary 。
  深入了解,会发现这几种都是基于数值进行各种聚合,在 Grafana 联合中,展示面板的 Value 主体也是以数值为主。

  那么 Prometheus + Grafana 如何进行 String 类型的展示呢?下面唠下相关解决方案…



解决方案


方案一「 API + Panel 」

  通过 API 提供 String 类型数据源,自定义 Panel 的 Json 字段配合 API 结构进行调整,进行展示。

  • 但是往往我们不采取这种方案,有一下痛点:
    1、API格式有规范,且 Response 需要满足 Grafana Panel 基本准则,需满足 Panel 中基础元素的填充。
    2、Panel Json 元素基本填充准则相关文档匮乏
    3、调试复杂,改变 Json,观察视图

  有另一种更简洁、灵活的方案,甚是便捷,方案如二!

方案二「 Metric + Table + Display」

  利用常规的指标设计采集数据,在展示时,Format 选择 Table,数据则自动聚合为 “列 + 行” 的样式,之后可将非必要字段隐藏,主显示目标 String 类型的 Label 即可。
了解更多,请关注 公众号 “ code 杂坛 “!

方案施行流程


  • 下面讲解方案二执行流程。分为一下几步:

  • 1、设计指标:
    fe_task_node{“node”="10.75.26.1|10.75.26.2|10.77.121.3|…”}

  • 2、Prometheus Http Api
    //HELP fe_task_node XXXXXdesc
    //TYPE fe_task_node counter
    fe_task_node{node=“10.77.121.108”} 13

  • 3、Query配置如图
    在这里插入图片描述

  • 4、Visualization配置如图
    在这里插入图片描述

  • 5、TransForm配置如图
    在这里插入图片描述

  • 6、Field配置如图在这里插入图片描述


最终效果

  通过方案二实施之后,效果图如下。
在这里插入图片描述

Q&A

1、还有其他更敏捷的解决方案吗?

存在,Prometheus 、 Grafana 国内文档相对比较少,了解的同学可以补充在评论中。


附录

一天一个小技巧,偷偷超越隔壁老大哥!

在这里插入图片描述
了解更多,请关注 公众号 “ code 杂坛 “!


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • Node.js学习笔记(一)package.json及cnpm
    本文介绍了Node.js中包的概念,以及如何使用包来统一管理具有相互依赖关系的模块。同时还介绍了NPM(Node Package Manager)的基本介绍和使用方法,以及如何通过NPM下载第三方模块。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
author-avatar
888真人游戏官网1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有