nginx代理grafana配置

news/2025/2/13 14:58:12/文章来源:https://www.cnblogs.com/zyp87/p/18713166

环境背景:

  监控系统用的是Prometheus+altermanager+grafana+xxx-exporter实现的,现在业界内的夜莺监控系统已经非常的成熟了,使用夜莺管理配置监控相对比Prometheus+altermanager要友好很多,使用也方便,直接页面配置就好。但是相对图表化的监控信息,不想要重新配置,可以直接引用grafana的,当然夜莺也可以通过grafana的json面板迁移,直接嵌入到夜莺自己里面,只是开源免费版本的夜莺监控系统支持的数据源和插件有限,一些用mysql等其他的数据源没有办法使用,只能通过集成外部仪表盘来使用。另外夜莺监控系统需要集成的grafana是多个系统的,并且有需要做转发代理打通,有这些情况可以参考这个博客配置操作。

环境信息:

  夜莺系统v7.7.0+grafana-v11.1.3(grafana-8.3.3)。首先grafana是支持通过sos单点登录的,但是夜莺集成面板配置的url这个是没有办法配置header或者auth等认证参数配置,所以只能是通过修改grafana的配置,将auth.anonymous的配置开启,允许面板配置了viewer的角色能任意访问的。

操作配置:

 

  1. 修改grafana的任意访问配置
    修改grafana的defaults.ini配置中的auth.anonymous,将enabled = true开启,下面的配置anonymous可以访问的配置权限信息org_name = Main Org.  org_role = Viewer  
  2. 修改root_url
    由于是跨网络访问,所以对不同的grafana的访问localtion肯定是不一样的,所以需要根据localtion的配置去修改root_url的配置,这个也是在defaults.ini里面,我这里的访问是加了/grafana前缀,所以我现在的配置是root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana,如果这里不加上的话,后面做nginx的代理配置的时候,访问静态资源时候的url会缺失/grafana拼接,导致静态资源访问404的情况。当然这个有大神能在nginx层面去解决处理也可以的,同步欢迎指导一下哈~
  3. 配置nginx
      # 配置在http层级下面,跟server是同级的map $http_upgrade $connection_upgrade {default upgrade;'' close;}# 配置在http.server层级下面,其实也就是配置在端口里面location /grafana/ {proxy_set_header Host $host;proxy_pass http://192.168.0.2:3000/;rewrite  ^/grafana/(.*)  /$1 break;}# Proxy Grafana Live WebSocket connections.location /grafana/api/live/ {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;proxy_set_header Host $host;proxy_pass http://192.168.0.2:3000/;rewrite  ^/grafana/(.*)  /$1 break;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}

    完成后就可以通过nginx的代理后的端口和localtion访问自己的grafana,http://192.168.0.2:9011/grafana/ 去访问

  4. 配面板并集成到夜莺系统
    在dashboard面板中创建一个监控大屏,在设置权限中添加viewer的角色访问

  5. 解决跨域问题
    其实这个grafana已经可以通过url访问配置了,但是当我们通过夜莺去集成的时候会发现,主机拒绝了我们的访问,配置的url我直接在浏览器中,可以正常的访问,在抓包的过程中,发现这个respond中出现了这个“无法加载响应数据: No resource with given identifier found”,可以确定的是这个网络是没有问题的了,去看这个grafana的日志,有很多的403响应,要解决这个问题的话,需要在grafana中的defaults.ini将这个allow_embedding = true开启,同步可以指定allowedOrigins=http://xxxx:xxx的访问来源

     

     

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/883236.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPD流程管理之市场需求精准把握方法

IPD(Integrated Product Development)流程管理旨在通过整合产品开发的各个环节,实现高效、高质量的产品交付。在这一过程中,精准把握市场需求是成功的关键。只有深入了解市场需求,企业才能开发出符合客户期望的产品,从而在激烈的市场竞争中占据优势。本文将详细探讨IPD流…

VSCode 搭建 MySQL 源码调试环境

在使用MySQL数据库的过程中,如果遇到一些复杂的问题,可以通过GDB进行调试,本篇将演示如何在Win 10环境基于VSCode搭建MySQL源码调试环境。 一、调试环境 本次调试需要用到的软件和环境为:Red Hat Enterprise Linux release 8.10 (Ootpa) MySQL 8.0.40 VSCode 1.96.4二、编译…

MAC鼠标滚轮反向问题

找系统设置中 --》鼠标--〉关闭自然滚动设置博客园地址:https://www.cnblogs.com/lixiuming521125/

开发者福音!TinyEngine服务端Java版本正式开源

本次 TinyEngine 低代码引擎服务端 Java 版本代码的开源,让开发者能够深入了解 TinyEngine 低代码引擎的前后端运行机制。摘要:本次 TinyEngine 低代码引擎服务端 Java 版本代码的开源,让开发者能够深入了解 TinyEngine 低代码引擎的前后端运行机制。本文分享自华为云社区《…

ZeRO, ZeRO-Offload, ZeRO-Infinite, ZeRO++

目录概MotivationZeROZeRO-OffloadZeRO-InfiniteZeRO++代码Rajbhandari S., Rasley J., Ruwase O. and He Y. ZeRO: Memory optimizations toward training trillion parameter models. InSC, 2020.Ren J., Rajbhandari S., Aminabadi R. Y., Ruwase O., Yang S., Zhang M., Li…

IPD流程如何推动企业数字化转型

企业数字化转型已成为当下众多企业寻求突破与发展的关键战略方向。在这一进程中,集成产品开发(IPD)流程发挥着不可忽视的重要作用。IPD流程并非简单的产品开发流程,它涵盖了从产品战略规划、概念设计、详细设计、开发、测试到上市等一系列环节,是一个系统性的、端到端的流…

清华大学:《DeepSeek从入门到精通(第二版)》- 《DeepSeek赋能职场应用--从提示语技巧到多场景应用》 - PDF免费下载

全网疯传的《DeepSeek从入门到精通》的第二弹:《DeepSeek如何赋能职场应用:从提示语技巧到多场景应用》。下载地址:https://pdfs.top/book/DeepSeek如何赋能职场应用:从提示语技巧到多场景应用.html。《DeepSeek赋能职场应用--从提示语技巧到多场景应用》 - PDF免费下载 全…

万灵齐聚,山海相遇,万灵山海手游详细图文架设教程

本文讲解万灵山海手游架设教程,万灵齐聚,山海相遇!开启你的奇幻冒险之旅吧,希望你也喜欢这款游戏~前言 这次给大家带来的是准备了好久的精品仙侠神话回合制手游,万灵山海之万物归元,安卓苹果双端,绝对是难得的精品,游戏精美绝伦,基本无 BUG,快来试试吧~本文讲解万灵山…

组件快速查找工具思路分享

前言 在日常开发中,我们经常需要查找某个组件的字段被使用的情况。如果是代码引用,借助编译器可以轻松定位所有引用。但如果组件是直接挂载在GameObject上,就难以追踪其使用情况。为了解决这个问题,我开发了一个小工具,方便快速查找资源对组件的引用详情。 这个工具目前支…

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-14- iframe操作-下篇(详细教程)

1.简介 通过前边两篇的学习,想必大家已经对iframe有了一定的认识和了解,是不是感觉和Python语言中的差不了多少,大同小异,最多就是不同开发语言的一些语法差异。今天这一篇主要是对iframe做一个总结,主要从iframe的操作(输入框、点击等等)和定位两个方面进行总结。 2.if…

谷歌地图案例|利用 Google 地图平台提供美味又环保的餐食

Frichti是法国食品配送初创公司,提供健康美味实惠餐食,并注重环保。利用Google地图和大数据工具优化配送和减少浪费,实现30分钟内送达,提升顾客满意度和回头率。Frichti 的使命是在 30 分钟内送达健康、美味、实惠的餐食,并已筹集了 4600 多万美元的资金。其环保理念包括尽…

P3919 【模板】可持久化线段树 1(可持久化数组)(主席树)

这道题要注意空间不能开太小,还有我第一次是build函数忘写return了,我很奇怪,结构体数组开小后,有一个报错和tle,不知道tle是怎么来的#include<iostream> #include<set> #include<map> #include<algorithm> #include<vector> #include<c…