什么是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. JS 学习笔记 (七) 面向对象编程OOP

    1.前言 创建对象有很多种方法,最常见的是字面量创建和new Object()创建.但是在需要创建多个相同结构的对象时,这两种方法就不太方便了. 如:创建多个学生信息的对象 let tom = { n ...

  2. Excel中的VLOOKUP函数

    VLOOKUP函数是Excel中的一个纵向查找函数,功能是按列查找,最终返回该列所需查询序列所对应的值. 该函数的语法规则如下: VLOOKUP(lookup_value,table_array,co ...

  3. springcloud组件梳理之hystrix

    在微服务架构体系中,各服务中间的相互调用是常态,没有哪个服务能保证自身百分百不会出问题,然后再加上网络的波动以及环境等问题,服务间调用的稳定性无法保证,这时候就需要一个有容错能力的组件来介入,当调用出 ...

  4. ui自动化测试数据复原遇到的坑——1、hibernate输出完整sql

    公司老项目使用SSH+informix+weblogic+IE开发,我们要做ui自动化测试,其中的测试数据复原,我打算通过hibernate输出sql,然后把插入.更新的sql改为delete或upd ...

  5. Java:String、StringBuilder、StringJoiner学习笔记

    String创建的俩种方式 1.直接赋值 String str = "Hello World!"; 当使用直接赋值的方式去创建字符串的时候,虚拟机会去串池里去检查字符串是否存在,如 ...

  6. day01-Tomcat框架分析

    引入课程和Maven 1.Maven maven中央仓库:Maven Repository: Search/Browse/Explore (mvnrepository.com) maven仓库是国外的 ...

  7. 如何正确遵守 Python 代码规范

    前言 无规矩不成方圆,代码亦是如此,本篇文章将会介绍一些自己做项目时遵守的较为常用的 Python 代码规范. 命名 大小写 模块名写法: module_name 包名写法: package_name ...

  8. Go语言核心36讲36

    在前面,我几乎已经把Go语言自带的同步工具全盘托出了.你是否已经听懂了会用了呢? 无论怎样,我都希望你能够多多练习.多多使用.它们和Go语言独有的并发编程方式并不冲突,相反,配合起来使用,绝对能达到& ...

  9. i春秋Musee de X

    打开提示我们如果要操作就需要登录 题目也没有给出tips提示 /tmp/memes/wosun 注册成功后提示我们我们的文件被储存在了.....可能这道题会用到一句话木马,毕竟他目录都给我们了 然后去 ...

  10. C温故补缺(十):输入输出

    输入输出 printf()和scanf() 用来格式化输入输出,它们都是有返回值的 int printf()返回输出的内容的长度 #include<stdio.h> int main(){ ...