saschawi82
Goto Top

Grafana IIS Reverse Proxy

Hallo zusammen,

vielleicht könnt ihr mir weiterhelfen.

Wir haben Grafana im Einsatz. Aktuell verteilt über 2 virtuelle Server. Einer für uns intern IT (Alerting & detail Monitoring) und einen öffentlichen für die Benutzer, damit sie sehen welche Dienste nicht gehen.

Seiter der aktuellen Version 10 gibt das Public Dashboard. Dies wollen nun auf einem Server zusammen fassen.

Wir haben über den internen IIS Proxy 2 URLS mit internen Zertifikaten erstellt (monitoring.xxx.loc & status.xxx.loc)

Der reverse Proxy für monitoring geht problemlos. Wenn den für status jetzt auf das public Dashboard ändern geht dies nicht.

Die URL sieht wie folgt aus: http://xxx.xxx.xxx.xxx:3000/public-dashboards/6abb9a87f6ba42439c1e99a18 ...{R:1}

Da kommt im Browser folgende Meldung im angehängten Bild.

Welche Einstellung muss ich machen?

Danke für eure Hilfe.

VG
iis error

Content-ID: 7619036622

Url: https://administrator.de/contentid/7619036622

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

Dani
Dani 22.06.2023 um 20:15:54 Uhr
Goto Top
Moin,


Gruß,
Dani
saschawi82
saschawi82 23.06.2023 um 07:18:19 Uhr
Goto Top
Moin, ja habe ich gelesen und ist so konfiguriert.

Anbei die IIS Konfigs der Seiten:

Monitoring (geht)
<?xml version="1.0" encoding="UTF-8"?>  
<configuration>
    <system.webServer>
        <rewrite>
            <outboundRules>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">  
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />  
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
                <clear />
                <rule name="RedirectToHTTPS" stopProcessing="true">  
                    <match url="(.*)" />  
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">  
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />  
                    </conditions>
                    <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />  
                </rule>
                <rule name="ReverseProxyInboundRule" enabled="true" stopProcessing="true">  
                    <match url="(.*)" />  
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />  
                    <action type="Rewrite" url="http://172.19.10.86:3000/{R:1}" />  
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Status alte Server geht:
<?xml version="1.0" encoding="UTF-8"?>  
<configuration>
    <system.webServer>
        <rewrite>
            <outboundRules>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">  
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />  
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
		<rule name="RedirectToHTTPS" enabled="false" stopProcessing="true">  
  			<match url="(.*)" />  
  			<conditions>
    			<add input="{HTTPS}" pattern="off" ignoreCase="true" />  
  			</conditions>
  			<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />  
		</rule>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">  
                    	<match url="(.*)" />  
                    	<action type="Rewrite" url="http://172.19.10.79:3000/{R:1}" logRewrittenUrl="false" />  
		</rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Status neu Public Dashboard (geht nicht)
<?xml version="1.0" encoding="UTF-8"?>  
<configuration>
    <system.webServer>
        <rewrite>
            <outboundRules>
                <preConditions>
                    <preCondition name="ResponseIsHtml1">  
                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />  
                    </preCondition>
                </preConditions>
            </outboundRules>
            <rules>
		<rule name="RedirectToHTTPS" enabled="false" stopProcessing="true">  
  			<match url="(.*)" />  
  			<conditions>
    			<add input="{HTTPS}" pattern="off" ignoreCase="true" />  
  			</conditions>
  			<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />  
		</rule>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">  
                    	<match url="(.*)" />  
                    	<action type="Rewrite" url="http://172.19.10.86:3000//public-dashboards/6abb9a87f6ba42439c1e99a18ffa4c76/{R:1}" logRewrittenUrl="false" />  
		</rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
7426148943
7426148943 23.06.2023 aktualisiert um 08:14:53 Uhr
Goto Top
172.19.10.86:3000//public-dashboards/6abb9a87f6ba42439c1e99a18ffa4c76/{R:1
Doppelter slash ...

Auch wenn von dem Dashboard Daten von höherliegenden URLs abgefragt werden dann schlägt das hier natürlich fehl wenn du nur auf den Unterpfad verweist.
saschawi82
saschawi82 23.06.2023 um 08:50:00 Uhr
Goto Top
Danke für die Hilfe, leider bekomme ich denn Fehler ERR_TOO_MANY_REDIRECTS face-sad
proxy error
7426148943
7426148943 23.06.2023 aktualisiert um 09:17:23 Uhr
Goto Top
Hast du meinen Text nicht vollständig gelesen?
Cleanairs
Cleanairs 23.06.2023 aktualisiert um 09:23:49 Uhr
Goto Top
Hi.
Was sagen denn Grafana Log und Log auf dem Reverse Proxy Server zu dem Redirect Thema?
Zur Not mal mit dem DrahtHai oder tcpdump zwischen Reverse Proxy und Grafana lauschen?
Was steht in der /etc/grafana/grafana.ini bei root_url?
saschawi82
saschawi82 23.06.2023 um 10:45:44 Uhr
Goto Top
Hi,

die root_url lautet: https://monitoring.xxx.loc
Cleanairs
Cleanairs 23.06.2023 um 10:56:22 Uhr
Goto Top
Ok passt. Hm...
saschawi82
saschawi82 23.06.2023 um 11:00:16 Uhr
Goto Top
Ja, deswegen bin ich auch ein wenig ratlos
Cleanairs
Cleanairs 23.06.2023 um 11:06:28 Uhr
Goto Top
was sagt denn

curl -i -k https://<Reverse-Proxy-IP>:<Reverse-Proxy-Port>/public-dashboards/6abb9a87f6ba42439c1e99a18ffa4c76
-v für mehr details.
saschawi82
saschawi82 23.06.2023 um 11:30:03 Uhr
Goto Top
Anbei die Infos. Das Dashboard ist auf dem IIS Proxy nicht. Dieser soll status.xxx.loc auf das Grafana Public Dashboard umleiten.

IP vom Grafana https
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

IP vom Grafana http
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0HTTP/1.1 200 OK
Cache-Control: no-store
Content-Type: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
Date: Fri, 23 Jun 2023 09:23:05 GMT
Transfer-Encoding: chunked

<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="viewport" content="width=device-width"/><meta name="theme-color" content="#000"/><title>Grafana</title><base href="/"/><link rel="icon" type="image/png" href="public/img/fav32.png"/><link rel="apple-touch-icon" sizes="180x180" href="public/img/apple-touch-icon.png"/><link rel="mask-icon" href="public/img/grafana_mask_icon.svg" color="#F05A28"/><link rel="stylesheet" href="public/build/grafana.light.413b89ab61c5f32bbc49.css"/><script nonce="">performance.mark('frontend_boot_css_time_seconds');</script><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><meta name="msapplication-TileColor" content="#2b5797"/><meta name="msapplication-config" content="public/img/browserconfig.xml"/></head><body class="theme-light app-grafana"><style>.preloader {  
        height: 100%;
        flex-direction: column;
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .preloader__enter {
        opacity: 0;
        animation-name: preloader-fade-in;
        animation-iteration-count: 1;
        animation-duration: 0.9s;
        animation-delay: 1.35s;
        animation-fill-mode: forwards;
      }

      .preloader__bounce {
        text-align: center;
        animation-name: preloader-bounce;
        animation-duration: 0.9s;
        animation-iteration-count: infinite;
      }

      .preloader__logo {
        display: inline-block;
        animation-name: preloader-squash;
        animation-duration: 0.9s;
        animation-iteration-count: infinite;
        width: 60px;
        height: 60px;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url('public/img/grafana_icon.svg');  
      }

      .preloader__text {
        margin-top: 16px;
        font-weight: 500;
        font-size: 14px;
        font-family: Sans-serif;
        opacity: 0;
        animation-name: preloader-fade-in;
        animation-duration: 0.9s;
        animation-delay: 1.8s;
        animation-fill-mode: forwards;
      }

      .theme-light .preloader__text {
        color: #52545c;
      }

      .theme-dark .preloader__text {
        color: #d8d9da;
      }

      @keyframes preloader-fade-in {
        0% {
          opacity: 0;
           
          animation-timing-function: cubic-bezier(0, 0, 0.5, 1);
        }
        100% {
          opacity: 1;
        }
      }

      @keyframes preloader-bounce {
        from,
        to {
          transform: translateY(0px);
          animation-timing-function: cubic-bezier(0.3, 0, 0.1, 1);
        }
        50% {
          transform: translateY(-50px);
          animation-timing-function: cubic-bezier(0.9, 0, 0.7, 1);
        }
      }

      @keyframes preloader-squash {
        0% {
          transform: scaleX(1.3) scaleY(0.8);
          animation-timing-function: cubic-bezier(0.3, 0, 0.1, 1);
          transform-origin: bottom center;
        }
        15% {
          transform: scaleX(0.75) scaleY(1.25);
          animation-timing-function: cubic-bezier(0, 0, 0.7, 0.75);
          transform-origin: bottom center;
        }
        55% {
          transform: scaleX(1.05) scaleY(0.95);
          animation-timing-function: cubic-bezier(0.9, 0, 1, 1);
          transform-origin: top center;
        }
        95% {
          transform: scaleX(0.75) scaleY(1.25);
          animation-timing-function: cubic-bezier(0, 0, 0, 1);
          transform-origin: bottom center;
        }
        100% {
          transform: scaleX(1.3) scaleY(0.8);
          transform-origin: bottom center;
          animation-timing-function: cubic-bezier(0, 0, 0.7, 1);
        }
      }

       
      .preloader__text--fail {
        display: none;
      }

       
      .preloader--done .preloader__bounce,
      .preloader--done .preloader__logo {
        animation-name: none;
        display: none;
      }

      .preloader--done .preloader__logo,
      .preloader--done .preloader__text {
        display: none;
        color: #ff5705 !important;
        font-size: 15px;
      }

      .preloader--done .preloader__text--fail {
        display: block;
      }

      [ng\:cloak],
      [ng-cloak],
      .ng-cloak {
        display: none !important;
      }</style><div class="preloader"><div class="preloader__enter"><div class="preloader__bounce"><div class="preloader__logo"></div></div></div><div class="preloader__text">Loading Grafana</div><div class="preloader__text preloader__text--fail"><p><strong>If you're seeing this Grafana has failed to load its application files</strong><br/><br/></p><p>1. This could be caused by your reverse proxy settings.<br/><br/>2. If you host grafana under subpath make sure your grafana.ini root_url setting includes subpath. If not using a reverse proxy make sure to set serve_from_sub_path to true.<br/><br/>3. If you have a local dev build make sure you build frontend using: yarn start, or yarn build<br/><br/>4. Sometimes restarting grafana-server can help<br/><br/>5. Check if you are using a non-supported browser. For more information, refer to the list of <a href="https://grafana.com/docs/grafana/latest/installation/requirements/#supported-web-browsers">supported browsers</a>.</p></div><script nonce="">  
        
        function checkBrowserCompatibility() {
          var isIE = navigator.userAgent.indexOf('MSIE') > -1;  
          var isEdge = navigator.userAgent.indexOf('Edge/') > -1 || navigator.userAgent.indexOf('Edg/') > -1;  
          var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;  
          var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);

          

          var isEdgeVersion = /Edge\/([0-9.]+)/.exec(navigator.userAgent);

          if (isIE && parseFloat(/Trident\/([0-9.]+)/.exec(navigator.userAgent)[1]) <= 7) {
            return false;
          } else if (
            isEdge &&
            ((isEdgeVersion && parseFloat(isEdgeVersion[1]) <= 16) ||
              parseFloat(/Edg\/([0-9.]+)/.exec(navigator.userAgent)[1]) <= 16)
          ) {
            return false;
          } else if (isFirefox && parseFloat(/Firefox\/([0-9.]+)/.exec(navigator.userAgent)[1]) <= 64) {
            return false;
          } else if (isChrome && parseFloat(/Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1]) <= 54) {
            return false;
          }

          return true;
        }

        if (!checkBrowserCompatibility()) {
          alert('Your browser is not fully supported, please try newer version.');  
        }</script></div><div id="reactRoot"></div><script nonce="">window.grafanaBootData = {  
        user: {"isSignedIn":false,"id":0,"externalUserId":"","login":"","email":"","name":"","theme":"light","lightTheme":true,"orgCount":0,"orgId":1,"orgName":"","orgRole":"","isGrafanaAdmin":false,"gravatarUrl":"","timezone":"browser","weekStart":"browser","locale":"en-US","language":"en-US","helpFlags1":0,"hasEditPermissionInFolders":false,"analytics":{"identifier":""}},  
        settings: {"defaultDatasource":"Prometheus","datasources":{"-- Dashboard --":{"type":"datasource","name":"-- Dashboard --","meta":{"id":"dashboard","type":"datasource","name":"-- Dashboard --","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Uses the result set from another panel in the same dashboard","links":null,"logos":{"small":"public/app/plugins/datasource/dashboard/img/icn-reusequeries.svg","large":"public/app/plugins/datasource/dashboard/img/icn-reusequeries.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":null,"category":"","preload":false,"backend":false,"routes":null,"skipDataQuery":false,"autoEnabled":false,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"streaming":false,"signature":"internal","module":"app/plugins/datasource/dashboard/module","baseUrl":"public/app/plugins/datasource/dashboard"},"isDefault":false,"preload":false,"jsonData":{},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0}},"-- Grafana --":{"id":-1,"uid":"grafana","type":"datasource","name":"-- Grafana --","meta":{"id":"grafana","type":"datasource","name":"-- Grafana --","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"A built-in data source that generates random walk data and can poll the Testdata data source. This helps you test visualizations and run experiments.","links":null,"logos":{"small":"public/app/plugins/datasource/grafana/img/icn-grafanadb.svg","large":"public/app/plugins/datasource/grafana/img/icn-grafanadb.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":null,"category":"","preload":false,"backend":true,"routes":null,"skipDataQuery":false,"autoEnabled":false,"annotations":true,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"streaming":false,"signature":"internal","module":"app/plugins/datasource/grafana/module","baseUrl":"public/app/plugins/datasource/grafana"},"isDefault":false,"preload":false,"jsonData":{},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0}},"-- Mixed --":{"type":"datasource","name":"-- Mixed --","meta":{"id":"mixed","type":"datasource","name":"-- Mixed --","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Lets you query multiple data sources in the same panel.","links":null,"logos":{"small":"public/app/plugins/datasource/mixed/img/icn-mixeddatasources.svg","large":"public/app/plugins/datasource/mixed/img/icn-mixeddatasources.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":null,"category":"","preload":false,"backend":false,"routes":null,"skipDataQuery":false,"autoEnabled":false,"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"queryOptions":{"minInterval":true},"builtIn":true,"mixed":true,"streaming":false,"signature":"internal","module":"app/plugins/datasource/mixed/module","baseUrl":"public/app/plugins/datasource/mixed"},"isDefault":false,"preload":false,"jsonData":{},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0}},"InfluxDB":{"id":2,"uid":"000000002","type":"influxdb","name":"InfluxDB","meta":{"id":"influxdb","type":"datasource","name":"InfluxDB","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Open source time series database","links":null,"logos":{"small":"public/app/plugins/datasource/influxdb/img/influxdb_logo.svg","large":"public/app/plugins/datasource/influxdb/img/influxdb_logo.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":null,"category":"tsdb","preload":false,"backend":true,"routes":null,"skipDataQuery":false,"autoEnabled":false,"annotations":true,"metrics":true,"alerting":true,"explore":false,"tables":false,"logs":true,"tracing":false,"queryOptions":{"minInterval":true},"streaming":false,"signature":"internal","module":"app/plugins/datasource/influxdb/module","baseUrl":"public/app/plugins/datasource/influxdb"},"url":"/api/datasources/proxy/uid/000000002","isDefault":false,"access":"proxy","preload":false,"module":"app/plugins/datasource/influxdb/module","jsonData":{"httpMode":"GET","keepCookies":[],"tlsSkipVerify":true},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0},"database":"influxDB"},"Prometheus":{"id":1,"uid":"000000001","type":"prometheus","name":"Prometheus","meta":{"id":"prometheus","type":"datasource","name":"Prometheus","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Open source time series database \u0026 alerting","links":[{"name":"Learn more","url":"https://prometheus.io/"}],"logos":{"small":"public/app/plugins/datasource/prometheus/img/prometheus_logo.svg","large":"public/app/plugins/datasource/prometheus/img/prometheus_logo.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":[{"name":"Prometheus Stats","path":"dashboards/prometheus_stats.json","type":"dashboard","component":"","role":"Viewer","addToNav":false,"defaultNav":false,"slug":"","icon":"","uid":""},{"name":"Prometheus 2.0 Stats","path":"dashboards/prometheus_2_stats.json","type":"dashboard","component":"","role":"Viewer","addToNav":false,"defaultNav":false,"slug":"","icon":"","uid":""},{"name":"Grafana Stats","path":"dashboards/grafana_stats.json","type":"dashboard","component":"","role":"Viewer","addToNav":false,"defaultNav":false,"slug":"","icon":"","uid":""}],"category":"tsdb","preload":false,"backend":true,"routes":[{"path":"api/v1/query","method":"POST","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"api/v1/query_range","method":"POST","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"api/v1/series","method":"POST","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"api/v1/labels","method":"POST","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"api/v1/query_exemplars","method":"POST","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"/rules","method":"GET","reqRole":"Viewer","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"/rules","method":"POST","reqRole":"Editor","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"/rules","method":"DELETE","reqRole":"Editor","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"/config/v1/rules","method":"DELETE","reqRole":"Editor","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null},{"path":"/config/v1/rules","method":"POST","reqRole":"Editor","url":"","urlParams":null,"headers":null,"authType":"","tokenAuth":null,"jwtTokenAuth":null,"body":null}],"skipDataQuery":false,"autoEnabled":false,"annotations":true,"metrics":true,"alerting":true,"explore":false,"tables":false,"logs":false,"tracing":false,"queryOptions":{"minInterval":true},"streaming":false,"signature":"internal","module":"app/plugins/datasource/prometheus/module","baseUrl":"public/app/plugins/datasource/prometheus"},"url":"/api/datasources/proxy/uid/000000001","isDefault":true,"access":"proxy","preload":false,"module":"app/plugins/datasource/prometheus/module","jsonData":{"directUrl":"http://172.19.10.82:9090","httpMethod":"GET","keepCookies":[]},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0}},"influx-ZAP-OPNsense":{"id":6,"uid":"000000006","type":"influxdb","name":"influx-ZAP-OPNsense","meta":{"id":"influxdb","type":"datasource","name":"InfluxDB","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Open source time series database","links":null,"logos":{"small":"public/app/plugins/datasource/influxdb/img/influxdb_logo.svg","large":"public/app/plugins/datasource/influxdb/img/influxdb_logo.svg"},"build":{},"screenshots":null,"version":"","updated":""},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[]},"includes":null,"category":"tsdb","preload":false,"backend":true,"routes":null,"skipDataQuery":false,"autoEnabled":false,"annotations":true,"metrics":true,"alerting":true,"explore":false,"tables":false,"logs":true,"tracing":false,"queryOptions":{"minInterval":true},"streaming":false,"signature":"internal","module":"app/plugins/datasource/influxdb/module","baseUrl":"public/app/plugins/datasource/influxdb"},"url":"/api/datasources/proxy/uid/000000006","isDefault":false,"access":"proxy","preload":false,"module":"app/plugins/datasource/influxdb/module","jsonData":{"httpMode":"GET","tlsAuth":false,"tlsAuthWithCACert":false,"tlsSkipVerify":true},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0},"database":"OPNsense-ZAP"}},"minRefreshInterval":"5s","panels":{"alertlist":{"id":"alertlist","name":"Alert list","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Shows list of alerts and their current status","links":null,"logos":{"small":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/alertlist/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":15,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/alertlist","signature":"internal","module":"app/plugins/panel/alertlist/module"},"annolist":{"id":"annolist","name":"Annotations list","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"List annotations","links":null,"logos":{"small":"public/app/plugins/panel/annolist/img/icn-annolist-panel.svg","large":"public/app/plugins/panel/annolist/img/icn-annolist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/annolist","signature":"internal","module":"app/plugins/panel/annolist/module"},"barchart":{"id":"barchart","name":"Bar chart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Categorical charts with group support","links":null,"logos":{"small":"public/app/plugins/panel/barchart/img/barchart.svg","large":"public/app/plugins/panel/barchart/img/barchart.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":2,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/barchart","signature":"internal","module":"app/plugins/panel/barchart/module"},"bargauge":{"id":"bargauge","name":"Bar gauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Horizontal and vertical gauges","links":null,"logos":{"small":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg","large":"public/app/plugins/panel/bargauge/img/icon_bar_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":5,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/bargauge","signature":"internal","module":"app/plugins/panel/bargauge/module"},"candlestick":{"id":"candlestick","name":"Candlestick","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/candlestick/img/candlestick.svg","large":"public/app/plugins/panel/candlestick/img/candlestick.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/candlestick","signature":"internal","module":"app/plugins/panel/candlestick/module"},"canvas":{"id":"canvas","name":"Canvas","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Explicit element placement","links":null,"logos":{"small":"public/app/plugins/panel/canvas/img/icn-canvas.svg","large":"public/app/plugins/panel/canvas/img/icn-canvas.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/canvas","signature":"internal","module":"app/plugins/panel/canvas/module"},"dashlist":{"id":"dashlist","name":"Dashboard list","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"List of dynamic links to other dashboards","links":null,"logos":{"small":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/dashlist/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":16,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/dashlist","signature":"internal","module":"app/plugins/panel/dashlist/module"},"flamegraph":{"id":"flamegraph","name":"Flame Graph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/flamegraph/img/icn-flamegraph.svg","large":"public/app/plugins/panel/flamegraph/img/icn-flamegraph.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/flamegraph","signature":"internal","module":"app/plugins/panel/flamegraph/module"},"gauge":{"id":"gauge","name":"Gauge","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Standard gauge visualization","links":null,"logos":{"small":"public/app/plugins/panel/gauge/img/icon_gauge.svg","large":"public/app/plugins/panel/gauge/img/icon_gauge.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":4,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/gauge","signature":"internal","module":"app/plugins/panel/gauge/module"},"geomap":{"id":"geomap","name":"Geomap","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Geomap panel","links":null,"logos":{"small":"public/app/plugins/panel/geomap/img/icn-geomap.svg","large":"public/app/plugins/panel/geomap/img/icn-geomap.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/geomap","signature":"internal","module":"app/plugins/panel/geomap/module"},"gettingstarted":{"id":"gettingstarted","name":"Getting Started","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/gettingstarted/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":true,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/gettingstarted","signature":"internal","module":"app/plugins/panel/gettingstarted/module"},"graph":{"id":"graph","name":"Graph (old)","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"The old default graph panel","links":null,"logos":{"small":"public/app/plugins/panel/graph/img/icn-graph-panel.svg","large":"public/app/plugins/panel/graph/img/icn-graph-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":13,"skipDataQuery":false,"state":"deprecated","baseUrl":"public/app/plugins/panel/graph","signature":"internal","module":"app/plugins/panel/graph/module"},"heatmap":{"id":"heatmap","name":"Heatmap","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Like a histogram over time","links":null,"logos":{"small":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg","large":"public/app/plugins/panel/heatmap/img/icn-heatmap-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":10,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/heatmap","signature":"internal","module":"app/plugins/panel/heatmap/module"},"histogram":{"id":"histogram","name":"Histogram","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/histogram/img/histogram.svg","large":"public/app/plugins/panel/histogram/img/histogram.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":12,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/histogram","signature":"internal","module":"app/plugins/panel/histogram/module"},"logs":{"id":"logs","name":"Logs","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/logs/img/icn-logs-panel.svg","large":"public/app/plugins/panel/logs/img/icn-logs-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/logs","signature":"internal","module":"app/plugins/panel/logs/module"},"news":{"id":"news","name":"News","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"RSS feed reader","links":null,"logos":{"small":"public/app/plugins/panel/news/img/news.svg","large":"public/app/plugins/panel/news/img/news.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":17,"skipDataQuery":true,"state":"beta","baseUrl":"public/app/plugins/panel/news","signature":"internal","module":"app/plugins/panel/news/module"},"nodeGraph":{"id":"nodeGraph","name":"Node Graph","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg","large":"public/app/plugins/panel/nodeGraph/img/icn-node-graph.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/nodeGraph","signature":"internal","module":"app/plugins/panel/nodeGraph/module"},"piechart":{"id":"piechart","name":"Pie chart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"The new core pie chart visualization","links":null,"logos":{"small":"public/app/plugins/panel/piechart/img/icon_piechart.svg","large":"public/app/plugins/panel/piechart/img/icon_piechart.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":8,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/piechart","signature":"internal","module":"app/plugins/panel/piechart/module"},"stat":{"id":"stat","name":"Stat","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Big stat values \u0026 sparklines","links":null,"logos":{"small":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg","large":"public/app/plugins/panel/stat/img/icn-singlestat-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":3,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/stat","signature":"internal","module":"app/plugins/panel/stat/module"},"state-timeline":{"id":"state-timeline","name":"State timeline","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"State changes and durations","links":null,"logos":{"small":"public/app/plugins/panel/state-timeline/img/timeline.svg","large":"public/app/plugins/panel/state-timeline/img/timeline.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":9,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/state-timeline","signature":"internal","module":"app/plugins/panel/state-timeline/module"},"status-history":{"id":"status-history","name":"Status history","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Periodic status history","links":null,"logos":{"small":"public/app/plugins/panel/status-history/img/status.svg","large":"public/app/plugins/panel/status-history/img/status.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":11,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/status-history","signature":"internal","module":"app/plugins/panel/status-history/module"},"table":{"id":"table","name":"Table","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Supports many column styles","links":null,"logos":{"small":"public/app/plugins/panel/table/img/icn-table-panel.svg","large":"public/app/plugins/panel/table/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":6,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/table","signature":"internal","module":"app/plugins/panel/table/module"},"table-old":{"id":"table-old","name":"Table (old)","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Table Panel for Grafana","links":null,"logos":{"small":"public/app/plugins/panel/table-old/img/icn-table-panel.svg","large":"public/app/plugins/panel/table-old/img/icn-table-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"deprecated","baseUrl":"public/app/plugins/panel/table-old","signature":"internal","module":"app/plugins/panel/table-old/module"},"text":{"id":"text","name":"Text","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Supports markdown and html content","links":null,"logos":{"small":"public/app/plugins/panel/text/img/icn-text-panel.svg","large":"public/app/plugins/panel/text/img/icn-text-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":14,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/text","signature":"internal","module":"app/plugins/panel/text/module"},"timeseries":{"id":"timeseries","name":"Time series","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Time based line, area and bar charts","links":null,"logos":{"small":"public/app/plugins/panel/timeseries/img/icn-timeseries-panel.svg","large":"public/app/plugins/panel/timeseries/img/icn-timeseries-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":1,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/timeseries","signature":"internal","module":"app/plugins/panel/timeseries/module"},"traces":{"id":"traces","name":"Traces","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/traces/img/traces-panel.svg","large":"public/app/plugins/panel/traces/img/traces-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/traces","signature":"internal","module":"app/plugins/panel/traces/module"},"trend":{"id":"trend","name":"Trend","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Like timeseries, but when x != time","links":null,"logos":{"small":"public/app/plugins/panel/trend/img/trend.svg","large":"public/app/plugins/panel/trend/img/trend.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"beta","baseUrl":"public/app/plugins/panel/trend","signature":"internal","module":"app/plugins/panel/trend/module"},"vonage-status-panel":{"id":"vonage-status-panel","name":"Status Panel","info":{"author":{"name":"Tomer Amir","url":"https://github.com/Vonage"},"description":"Status Panel for Grafana","links":[{"name":"Github","url":"https://github.com/Vonage/Grafana_Status_panel"}],"logos":{"small":"public/plugins/vonage-status-panel/img/icon_status_panel.svg","large":"public/plugins/vonage-status-panel/img/icon_status_panel.svg"},"build":{},"screenshots":[{"name":"Environment Snapshot","path":"public/plugins/vonage-status-panel/img/environment_snapshot.png"},{"name":"Ok State","path":"public/plugins/vonage-status-panel/img/ok.png"},{"name":"Warning State","path":"public/plugins/vonage-status-panel/img/warning.png"},{"name":"Critical State","path":"public/plugins/vonage-status-panel/img/error.png"}],"version":"1.0.11","updated":"2020-09-03"},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/plugins/vonage-status-panel","signature":"valid","module":"plugins/vonage-status-panel/module"},"welcome":{"id":"welcome","name":"Welcome","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg","large":"public/app/plugins/panel/welcome/img/icn-dashlist-panel.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":true,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/welcome","signature":"internal","module":"app/plugins/panel/welcome/module"},"xychart":{"id":"xychart","name":"XY Chart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"","links":null,"logos":{"small":"public/app/plugins/panel/xychart/img/icn-xychart.svg","large":"public/app/plugins/panel/xychart/img/icn-xychart.svg"},"build":{},"screenshots":null,"version":"","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"beta","baseUrl":"public/app/plugins/panel/xychart","signature":"internal","module":"app/plugins/panel/xychart/module"},"yesoreyeram-boomtable-panel":{"id":"yesoreyeram-boomtable-panel","name":"Boom Table","info":{"author":{"name":"Sriramajeyam Sugumaran","url":"https://www.google.com/search?q=Sriramajeyam+Sugumaran"},"description":"Boom table panel for Graphite, InfluxDB, Prometheus","links":[{"name":"Github","url":"https://github.com/yesoreyeram/yesoreyeram-boomtable-panel"}],"logos":{"small":"public/img/icn-panel.svg","large":"public/img/icn-panel.svg"},"build":{},"screenshots":null,"version":"1.4.1","updated":""},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/plugins/yesoreyeram-boomtable-panel","signature":"valid","module":"plugins/yesoreyeram-boomtable-panel/module"}},"apps":{},"appUrl":"https://monitoring.xxx.loc/","appSubUrl":"","allowOrgCreate":false,"authProxyEnabled":false,"ldapEnabled":true,"jwtHeaderName":"","jwtUrlLogin":false,"alertingEnabled":false,"alertingErrorOrTimeout":"alerting","alertingNoDataOrNullValues":"no_data","alertingMinInterval":1,"liveEnabled":true,"autoAssignOrg":true,"verifyEmailEnabled":false,"sigV4AuthEnabled":false,"azureAuthEnabled":false,"rbacEnabled":true,"exploreEnabled":true,"helpEnabled":true,"profileEnabled":true,"queryHistoryEnabled":true,"googleAnalyticsId":"","googleAnalytics4Id":"","GoogleAnalytics4SendManualPageViews":false,"rudderstackWriteKey":"","rudderstackDataPlaneUrl":"","rudderstackSdkUrl":"","rudderstackConfigUrl":"","feedbackLinksEnabled":true,"applicationInsightsConnectionString":"","applicationInsightsEndpointUrl":"","disableLoginForm":false,"disableUserSignUp":true,"loginHint":"email or username","passwordHint":"password","externalUserMngInfo":"","externalUserMngLinkUrl":"","externalUserMngLinkName":"","viewersCanEdit":false,"angularSupportEnabled":true,"editorsCanAdmin":false,"disableSanitizeHtml":false,"trustedTypesDefaultPolicyEnabled":false,"cspReportOnlyEnabled":false,"auth":{"OAuthSkipOrgRoleUpdateSync":false,"SAMLSkipOrgRoleSync":false,"LDAPSkipOrgRoleSync":false,"GoogleSkipOrgRoleSync":false,"GenericOAuthSkipOrgRoleSync":false,"JWTAuthSkipOrgRoleSync":false,"GrafanaComSkipOrgRoleSync":false,"AzureADSkipOrgRoleSync":false,"GithubSkipOrgRoleSync":false,"GitLabSkipOrgRoleSync":false,"OktaSkipOrgRoleSync":false,"DisableSyncLock":false},"buildInfo":{"hideVersion":false,"version":"10.0.1","commit":"5a30620b85","buildstamp":1687248203,"edition":"Open Source","latestVersion":"10.0.1","hasUpdate":false,"env":"production"},"licenseInfo":{"expiry":0,"stateInfo":"","licenseUrl":"https://grafana.com/oss/grafana?utm_source=grafana_footer","edition":"Open Source","enabledFeatures":{}},"featureToggles":{"advancedDataSourcePicker":true,"authenticationConfigUI":true,"cloudWatchCrossAccountQuerying":true,"cloudWatchDynamicLabels":true,"dataConnectionsConsole":true,"dataplaneFrontendFallback":true,"emptyDashboardPage":true,"exploreMixedDatasource":true,"internationalization":true,"logsContextDatasourceUi":true,"logsSampleInExplore":true,"lokiMetricDataplane":true,"newPanelChromeUI":true,"prometheusDataplane":true,"publicDashboards":true,"topnav":true},"anonymousEnabled":false,"rendererAvailable":true,"rendererVersion":"3.0  
100 40593    0 40593    0     0  9910k      0 --:--:-- --:--:-- --:--:-- 9910k
.1","secretsManagerPluginEnabled":false,"http2Enabled":false,"sentry":{"enabled":false,"dsn":"","customEndpoint":"/log","sampleRate":1},"grafanaJavascriptAgent":{"enabled":false,"customEndpoint":"","errorInstrumentalizationEnabled":false,"consoleInstrumentalizationEnabled":false,"webVitalsInstrumentalizationEnabled":false,"apiKey":""},"pluginCatalogURL":"https://grafana.com/grafana/plugins/","pluginAdminEnabled":true,"pluginAdminExternalManageEnabled":false,"pluginCatalogHiddenPlugins":[""],"expressionsEnabled":true,"awsAllowedAuthProviders":["default","keys","credentials"],"awsAssumeRoleEnabled":true,"supportBundlesEnabled":true,"snapshotEnabled":true,"secureSocksDSProxyEnabled":false,"azure":{"cloud":"AzureCloud","managedIdentityEnabled":false},"caching":{"enabled":true},"recordedQueries":{"enabled":true},"reporting":{"enabled":true},"unifiedAlertingEnabled":true,"unifiedAlerting":{"minInterval":"10s","alertStateHistoryBackend":"annotations"},"oauth":{},"samlEnabled":false,"samlName":"SAML","tokenExpirationDayLimit":-1,"geomapDisableCustomBaseLayer":false,"isPublicDashboardView":true,"dateFormats":{"fullDate":"YYYY-MM-DD HH:mm:ss","useBrowserLocale":false,"interval":{"millisecond":"HH:mm:ss.SSS","second":"HH:mm:ss","minute":"HH:mm","hour":"MM/DD HH:mm","day":"MM/DD","month":"YYYY-MM","year":"YYYY"},"defaultTimezone":"browser","defaultWeekStart":"browser"},"sqlConnectionLimits":{"maxOpenConns":100,"maxIdleConns":100,"connMaxLifetime":14400}},  
        navTree: [{"id":"home","text":"Home","icon":"home-alt","url":"/login","sortWeight":-2000},{"id":"dashboards/browse","text":"Dashboards","subTitle":"Create and manage dashboards to visualize your data","icon":"apps","url":"/dashboards","sortWeight":-1700,"children":[{"id":"dashboards/playlists","text":"Playlists","subTitle":"Groups of dashboards that are displayed in a sequence","icon":"presentation-play","url":"/playlists"}]},{"id":"help","text":"Help","subTitle":"Grafana v10.0.1 (5a30620b85)","icon":"question-circle","url":"#","sortWeight":-600}],  
        themePaths: {
          light: 'public/build/grafana.light.413b89ab61c5f32bbc49.css',  
          dark: 'public/build/grafana.dark.bca9fb6d35faa9fadcdb.css'  
        }
      };

      
      
      if (window.grafanaBootData.user.theme === "system") {  
        document.body.classList.remove("theme-system");  
        var darkQuery = window.matchMedia("(prefers-color-scheme: dark)");  
        var cssLink = document.createElement("link");  
        cssLink.rel = 'stylesheet';  

        if (darkQuery.matches) {
          document.body.classList.add("theme-dark");  
          cssLink.href = window.grafanaBootData.themePaths.dark;
          window.grafanaBootData.user.lightTheme = false;
        } else {
          document.body.classList.add("theme-light");  
          cssLink.href = window.grafanaBootData.themePaths.light;
          window.grafanaBootData.user.lightTheme = true;
        }
        document.head.appendChild(cssLink);
      }

      window.__grafana_load_failed = function() {
        var preloader = document.getElementsByClassName("preloader");  
        if (preloader.length) {
          preloader[0].className = "preloader preloader--done";  
        }
      }

      
      window.onload = function() {
        if (window.__grafana_app_bundle_loaded) {
          return;
        }
        window.__grafana_load_failed();
      };

      
      </script><script nonce="" src="public/build/runtime.4a57dcdacc3a0361e8f8.js"></script><script nonce="" src="public/build/8683.9259ad853ca27103e2cc.js"></script><script nonce="" src="public/build/5226.48dbd59a341e1b9072d3.js"></script><script nonce="" src="public/build/5302.4d5cb84855a9594c7d9c.js"></script><script nonce="" src="public/build/2077.2b2e29da64666561c56b.js"></script><script nonce="" src="public/build/app.7885149575f6aa51eb86.js"></script><script nonce="">performance.mark('frontend_boot_js_done_time_seconds');</script></body></html>  
Cleanairs
Cleanairs 23.06.2023 um 11:51:59 Uhr
Goto Top
ah. Je nach SSL/TLS-Version vom Zielserver kann das kommen.

curl --tlsv1.2 -i https://<Reverse-Proxy-IP>:<Reverse-Proxy-Port>/public-dashboards/6abb9a87f6ba42439c1e99a18ffa4c76

oder

curl --tlsv1.3 -i https://<Reverse-Proxy-IP>:<Reverse-Proxy-Port>/public-dashboards/6abb9a87f6ba42439c1e99a18ffa4c76

mal testen.
7426148943
7426148943 23.06.2023 aktualisiert um 11:56:27 Uhr
Goto Top
Wie oben bereits geschrieben, du leitest in einen Subordner der Grafana-Installation, was bedeutet das sämtliche Ressourcen in den Parent-Ordnern auf die diese Seite verweist am Client ins Leere laufen was das Laden dann unmöglich macht.
saschawi82
saschawi82 23.06.2023 um 12:02:45 Uhr
Goto Top
Ist es möglich, das so zum laufen zu bekommen?
7426148943
7426148943 23.06.2023 um 12:13:30 Uhr
Goto Top
Müsste man mal die Seite anaylsieren was von wo nachgeladen wird (Browser developer Tools F12) und mit Rewrites arbeiten.
saschawi82
saschawi82 23.06.2023 um 14:08:55 Uhr
Goto Top
Hier ein Screenshot. Hilft der weiter?
iis log
7426148943
7426148943 23.06.2023 um 15:00:21 Uhr
Goto Top
Nein.
saschawi82
saschawi82 25.06.2023 um 12:08:35 Uhr
Goto Top
Ok, hast du Beispiele wie ich es machen kann? Bin für jede Hilfe sehr dankbar.
7426148943
7426148943 25.06.2023 aktualisiert um 17:38:13 Uhr
Goto Top
Habe mir das ganze nun mal im Lab mit einer Test-Installation von Grafana angesehen. Einerseits muss man noch das Verzeichnis "/public" und "/api" an den Proxy weiterleiten , das selbst ist kein Problem. Das Problem liegt hier am Aufbau der Grafana-Authentifizierung der Public URL. Es gibt hier JavaScripts im Dashboard die anhand der URL das Token für die öffentliche Auth setzen so dass man die Seite ohne Authentifizierung ansehen kann. Da hier durch den Proxy die URL nun ganz anders lautet, wird dieses Token nicht weitergeleitet und der Zugriff auf die Daten schlägt fehl.
Man wird hier wohl mit dem Bereitstellen des Roots der Grafana Installation und einer Rewrite-Rule , in nginx sähe das etwa so aus (ohne Gewähr)
	server {
		listen	80;
		server_name	my.domain.tld;
		root	/usr/share/nginx/html/grafana;
		location / {
			return 301 /public-dashboards/bb3bd51803c9449a86104a91a2d27965; 
		}
		location ~* ^/(public-dashboards|public|api) {
			proxy_set_header Host	$http_host;
			proxy_set_header X-Real-IP	$remote_addr;
			proxy_set_header X-Forwarded-For	$proxy_add_x_forwarded_for;
    		        proxy_set_header X-Forwarded-Proto	$scheme;
			proxy_pass http:// localhost:3000;
		}
	}

Oder alternativ mit folgender Methode arbeiten müssen
https://community.grafana.com/t/how-to-make-one-live-dashboard-public/12 ...