Bootstrap

Python Django 嵌入 Grafana Dashboard(随手记)

作为一名网络工程师/运维工程师,现在都在往DevOps的方向发展。其中大家都不可避免的会往自己开发平台的方向发展。
那么如何将自己制作的 Grafana 面板 引入到自己的平台上?

一般来说,大家都会选择Python来作为自己开发的语言,并会选择Django作为Web应用的开发工具。
在Python中,引入Grafana面板只需要页面嵌入就可以了。

步骤

Grafana-Server端

  1. 查找grafana.ini文件
# find / -name "grafana.ini"
/etc/grafana/grafana.ini

  1. 编辑grafana.ini文件,设置Grafana游客允许访问(只读)

注意,这个操作不安全,但是很方便,作为个人展示demo可以,但不要用到暴露到公网的生产/测试环境中。

# vim /etc/grafana/grafana.ini

# 添加以下内容
[auth.anonymous]
# enable anonymous access
enabled = true
org_role = Viewer # 设定游客登录角色为只读
  1. 继续编辑grafana.ini文件,设置Grafana允许用于嵌入
# vim /etc/grafana/grafana.ini

# 添加以下内容
[security]
allow_embedding = true
  1. 重启Grafana进程

自己的Python Web项目端

在对应需要嵌入的页面html上,大概添加是以下这段内容:

# 具体的样式可以调整
<div class="panel panel-default" style="margin: 0; border: none; box-shadow: none;">
            <iframe src="http://x.x.x.x:3000/d/xxxxxxxxx(这个url是grafana dashboard的url,可以通过 分享 获取)" 
                    frameborder="0" 
                    width="100%" 
                    scrolling="No" 
                    height="800px" 
                    leftmargin="0" 
                    topmargin="0">
            </iframe>
        </div>

效果

在这里插入图片描述

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;