什么是Grafana

Grafana是一款强大的可视化工具,无论数据存储在哪里,都可以查询、可视化、警报和理解您的数据。使用Grafana,您可以通过美丽、灵活的仪表板创建、探索和共享所有数据。

场景

在很多项目中,我们希望将统计或者监控图标嵌入到自己的Web项目中,无需跳转和登陆Grafana就可以查看相关图表。

操作步骤

版本:笔者现在使用的Grafana版本为8.2.5

整个实现过程并不复杂,总的来说分为三步:

  1. 【Grafana配置】开启匿名登陆,开启允许嵌入
  2. 【Grafana重启】重启Grafana-server
  3. 【自己应用开发】将Dashboard或者Panel嵌入页面

1. 【Grafana配置】开启匿名登陆,开启允许嵌入

配置文件路径,我是采用rpm安装的,配置文件位置在/etc/grafana/grafana.ini

# 允许嵌入
allow_embedding = true # 允许匿名登录
[auth.anonymous]
# enable anonymous access
enabled = true # specify organization name that should be used for unauthenticated users
org_name = Main Org. # specify role for unauthenticated users
org_role = Viewer

2. 【Grafana重启】重启Grafana-server

sudo systemctl restart grafana-server

3. 【自己应用开发】将Dashboard或者Panel嵌入页面

<html>
<!-- 单个图表嵌入语句-->
<iframe src="http://grafana_host:3000/d-solo/sngTFUt7k/myapp-test?orgId=1&refresh=5s&panelId=8" width="450" height="200" frameborder="0"></iframe>
<!-- 整个Dashboard嵌入语句-->
<iframe src="http://grafana_host:3000/d/qagsAO5Vk/cm?orgId=1" width="100%" height="100%" frameboader="0"></iframe>
</html>

写在最后:

Grafana开启匿名登陆是否意味着只要能访问 http://grafana_host:3000的人就可以匿名查看所有Dashboard?

不是

匿名用户的查看和编辑范围通过 org_name 和 org_role 来控制,org_name是匿名用户所在组织。

每个组织都包含他们自己的仪表盘、数据源和配置,这些不能在组织之间共享共用。虽然用户可能属于一个以上的组织,但在多租户部署中最常使用多个组织。

Main Org.是默认组织,如果在生产使用匿名登陆,请务必新建组织以控制匿名用户的访问范围。

将Grafana嵌入自己的应用的更多相关文章

  1. grafana 指标视图嵌入到其他html网页

    我们开发了一套管理平台用来监控整个系统环境的运行情况,但是在指标信息这块不想重新开发,而想直接拿grafana来用,刚开始的时候我们的管理平台和grafana是完全独立的,只能从我们平台跳转到graf ...

  2. Grafana展示報表數據的配置(二)

    一.Grafana以圖表的形式展示KPI報表的結果數據1.按照日期顯示數據達標量與未達標量2.顯示當前報表的最大值.最小值.平均值.總量3.報表結果數據的鏈接分享與頁面嵌入,用戶無需登錄直接訪問報表統 ...

  3. Metrics+ElasticSearch+grafana

    Metrics+ElasticSearch+grafana--性能监控解决方案 https://blog.csdn.net/Shiyaru1314/article/details/76906461 利 ...

  4. grafana零散模块点记录(share,setting,datasourse)

    一.Settings 1.General Details Name:当前doshboard名称 Description Tags:当前doshboard设置tag,输入完成是,点击“Enter”才能完 ...

  5. 主流前沿的开源监控和报警系统Prometheus+Grafana入门之旅

    Prometheus概述 定义 Prometheus 官网地址 https://prometheus.io/ Prometheus 官网文档地址 https://prometheus.io/docs/ ...

  6. Grafana Loki 架构

    转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247492186&idx=2&sn=a06954384a ...

  7. Fis3的前端工程化之路[三大特性篇之内容嵌入]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  8. 页面嵌入dom与被嵌入iframe的攻防

    1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...

  9. ABP文档 - 嵌入的资源文件

    文档目录 本节内容: 简介 创建嵌入的文件 暴露嵌入的文件 使用嵌入的文件 简介 一个web应用里,客户端包含javascript,css,xml等文件,这此文件被添加到一个web项目后,发布成独立的 ...

  10. 【Win 10应用开发】把文件嵌入到XML文档

    把文件内容嵌入(或存入)到XML文档中,相信很多朋友会想到把字节数组转化为Base64字符串,再作为XML文档的节点.不过,有人会说了,转化后的base64字符串中含有像“+”这样的符号,写入到XML ...

随机推荐

  1. SpringBoot问题集合

    Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as ...

  2. 类视图函数 VIEW

    常用的视图函数: ListView.DetailView.UpdateView 1 ListView object_list:此属性表示对象的列表 常用场景: 1.展示数据库中信息: 2.在展示信息时 ...

  3. 回溯算法经典问题总结(.NET版)

    回溯算法 回溯法其实也是一种递归,本质上就是穷举,然后筛选出符合规则的数据.为了使回溯更加高效,我们根据规则要求,在穷举过程中加上条件限制(也就是剪枝). 我们什么场景下应该想到使用回溯法呢? 如何画 ...

  4. JavaScript代码是怎么在浏览器里面运行起来的?

    JavaScript代码是怎么在浏览器里面运行的?下面简单探索一下 浏览器内核 浏览器内核(Rendering Engine),常见的叫法如:排版引擎.解释引擎.渲染引擎,现在流行称为浏览器内核. 浏 ...

  5. 【Java集合框架002】原理层面:HashMap全解析

    一.前言 二.HashMap 2.1 HashMap数据结构 + HashMap线程不安全 + 哈希冲突 2.1.1 HashMap数据结构 学习的时候,先整体后细节,HashMap整体结构是 底层数 ...

  6. 《浅谈亚 log 数据结构在 OI 中的应用》阅读随笔

    这篇又长长长了! \(8435\to 8375\to 9729\) 早就馋这篇了!终于学了( 压位 Trie 确实很好写啊 但是总感觉使用范围不是很广的样子 似乎是见的题少 原文里都在用 \(\log ...

  7. 《HTTP权威指南》– 8.网关、Web机器人

    集成点:网关.隧道及中继 网关 网关(gateway): 资源和应用程序之间的粘合剂.应用程序可以(通过HTTP或其它已定义的接口)请求网关来处理某条请求,网关可以提供一条响应.网关可以向数据库发送查 ...

  8. django.db.migrations.exceptions.NodeNotFoundError: Migration apitest.0001_initial dependencies reference nonexistent parent node ('product', '0001_initial')

    执行python manage.py makemigrations时出现以下错误 D:\autotestplat>python manage.py makemigrations Tracebac ...

  9. Jmeter在结果树中查看响应数据为空

    今天遇到了一个比较尴尬的问题,吭哧吭哧了大半天,后来咨询了开发SO的一下解决了. 问题: 在调用接口时取样器结果中显示response code:200, response message:OK,但是 ...

  10. JavaScript:操作符:赋值运算符和空赋值(??=)

    =号是赋值运算,即返回符号右边的结果,同时将结果赋值给符号左边的变量,考虑下面代码的运行结果: 赋值运算b = 1 + 1,做了两件事,先返回符号右边的结果,即2,这个2将参与a = 1 + 2的计算 ...