grafana面板一般是无法被直接iframe嵌套的
下列是iframe的嵌套状态表
page | iframe | status
http | http | allowed
http | https | allowed
https | http | not allowed
如果不满足上述内容,第一步iframe都不支持,也就是比如你的grafana是http,但是你嵌套在了https页面上则无法成功,如上表所示。
满足上述情况后我们还需要grafana配置 allow_embedding=true
,以支持被嵌套:
- 通过pod env 环境变量方式修改:
– name: GF_ALLOW_EMBEDDING
value: “true”
– name: GF_SERVER_ROOT_URL
value: https://ltopaejahmkl.hzh.sealos.run/sealos-yewu
– name: GF_SERVER_SERVE_FROM_SUB_PATH
value: “true” - 以文件方式修改,添加security.allow_embedding=true,例如通过configmap 挂载配置:
kubectl edit cm -n grafana grafana-ini -o yaml
apiVersion: v1
data:
grafana.ini: |
[auth]
disable_login_form = false
[dashboards]
versions_to_keep = 20
[log]
mode = console
[paths]
data = /var/lib/grafana
logs = /var/log/grafana
plugins = /var/lib/grafana/plugins
provisioning = /etc/grafana/provisioning/
[security]
## 添加支持嵌套
allow_embedding = true
现在就可以通过iframe来套入grafana了:
<iframe id=”dashboard” src=”your-grafana-dashboard”></iframe>