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

如何将Grafana的数据集合到自己前端项目的数据驾驶舱中

Grafana是可以提供APIKeys给你可以让你直接使用从Grafana获取来的数据来搭配其他图形工具来实现数据监控图的。虽然它本身也可以显示数据,但是有时候数据很全面且分散

  Grafana是可以提供API Keys给你可以让你直接使用从Grafana获取来的数据来搭配其他图形工具来实现数据监控图的。虽然它本身也可以显示数据,但是有时候数据很全面且分散在不同页面,而有些运维同学只需要某些重要的数据,不能一下子直观看清,所以某些重要常用的数据可以单独摘选出来,不常用的可以在打Grafana查看。

   先在Grafana中打开设置->API Keys->填写Key name,角色权限根据需求,图中设置为admin,过期时间根据需求,图中设置不填默认无过期时间,然后就会弹出一个弹窗,先别急着关掉!!!

   弹窗里会给你一段curl,这段话的意思就是向http地址发了一个头部带有Authorization(token)的请求。先把这段话保存下来,关闭弹窗之后没地方查看。这里面有两个有用的信息,一是http地址,二是token。http地址你可以设置为前端代理转发的后端地址,而token是你发起向Grafana后端发起请求的时候所需要的头部凭证,否则会授权失败,获取不到数据。

  之后你就可以模拟Grafana前端的查询数据,向Grafana后端发起请求。需要注意的是Grafana基本搭配的是Elasticsearch数据源,请求体中携带的语句是查询语句,对Elasticsearch语句有点了解是最好的,不清楚也可以f12打开控制台network,然后点一个数据发请求看它原本的请求体里的Elasticsearch语句是怎么写的。这里还需要注意以下几点:

    1.查询语句中有包含“\”等符号需要考虑是否能够会被转义的问题,因为字符串中的“\”本身就代表转义,对于有意义的“\n”会解释为换行符,对于“\uXXXX”会解释为Unicode对应的字符,对于没有意义的“\0101”则会省略“\”解释为0101。所以为了解决这个问题,得用“\\”来替代“\”,这样原本字符串就会消耗掉一层“\”,变成正常的查询语句。

    2.批量请求查询语句如果非常长,建议先用一个数组分段保存起来,然后用换行符(\n)拼接起来,否则一长串直接敲击回车键换行vscode会报错。

let bulkRequestBodyArray=[
"语句1",
"语句2",
"语句3",
"语句4",
];
let params
=bulkRequestBodyArray.join("\n");
params
=params+'\n'; // 批量请求查询语句必须以“\n”终止
//下面这种方法也行
let bulkRequestBodyArray=[
"语句1\n",
"语句2\n",
"语句3\n",
"语句4\n",
];
let params
=bulkRequestBodyArray.join("");

Elasticsearch官网对批量请求语句写法的要求

    3.查询语句中有携带grafana的时间戳的,可以拼接自己所需要的时间。

    4.每个请求都需要携带token请求头,建议将之前获取的token配置为默认的请求头参数,此处以axios为例:axios.defaults.headers.common['Authorization'] ='Bearer XXXXXXXXXXXXX';

  获取到数据,就可以搭配vcharts或Echarts来构建自己需要的监控图了。



推荐阅读
  • Windows简单部署Exceptionless
    部署准备Elasticsearch、Exceptionless.API、Exceptionless.UI、URLRewrite、.NET运行时 1、安装ElasticSearch1 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • OpenStackQ版本已经发布了一段时间了。今天,小编来总结一下OpenStackQ版本核心组件的各项主要新功能,再来汇总一下最近2年来OpenStackN、O、P、Q各版本核心 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • BPM是什么软件?1、BPM是BusinessProcessManagement的简称,译为业务流程管理,它是一种以规范化的构造端到端的卓越业务流程为中心以持续的提高组织业务绩效为 ... [详细]
  • 无法打开install.wim怎么办
    运维|windows运维install.wim运维-windows运维空间留言网站源码,vscode标准代码,adamsubuntu,tomcat连接共享,sqlite软件基本操作 ... [详细]
  • 提供:ZStack云计算原创2016-12-26张鑫讲师介绍张鑫ZStack总架构师、联合创始人《系统虚拟化》主要作者,曾任职Intel开源软件技术中心 ... [详细]
  • 使用场景使用es聚合时,有时还需要获取query(或filter)的相关文档结果(数据)。比如统计各个地区编码的营业额,得到了聚合的统 ... [详细]
  • ELK stack 学习记录
    ELK日志分析平台学习记录首先ELK主要指elasticsearch、logstash和kibana,三个开源软件组合而成的一套日志平台解决方案。可以将平时收集到的日志,通过前台展 ... [详细]
author-avatar
我要知道521无敌
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有