How to properly handle custom status after phase 3, 4 interception
ModSecurity version (and connector): ModSecurity v3.0.13 with nginx-connector v1.0.3 WebServer: nginx-1.27.2 OS (and distro): alpine:3.20.3
Description
I am trying to implement custom HTTP status codes for deny actions across all phases.
When setting the default action for phase 1 and 2 using the following configuration:
SecDefaultAction "phase:1,nolog,auditlog,deny,status:419"
SecDefaultAction "phase:2,nolog,auditlog,deny,status:419"
ModSecurity correctly intercepts the request and responds with HTTP 419 as expected.
However, when I do not define default actions for phase 3 and 4, triggering rules in these phases only results in audit logs being generated, and the request is not blocked — the response is HTTP 200.
When I then add default actions for phase 3 and 4:
SecDefaultAction "phase:3,nolog,auditlog,deny,status:419"
SecDefaultAction "phase:4,nolog,auditlog,deny,status:419"
I see the audit log reporting http_code: 419, but the actual response received by the client is HTTP 502.
My Goal
I want to enforce a custom status code (e.g., 419) for phase 3 and 4 deny actions, just like in phase 1 and 2.
Questions
I want to enforce custom status codes (such as 419) in the reject operations of stages 3 and 4, just like in stages 1 and 2. How specifically do I need to modify the configuration?
Test Rule
SecRule RESPONSE_BODY "@pmFromFile php-errors.data" \
"id:953100,\
phase:4,\
block,\
capture,\
t:none,\
msg:'PHP Information Leakage',\
logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}',\
tag:'application-multi',\
tag:'language-php',\
tag:'platform-multi',\
tag:'attack-disclosure',\
tag:'paranoia-level/1',\
tag:'OWASP_CRS',\
tag:'capec/1000/118/116',\
tag:'PCI/6.5.6',\
ver:'OWASP_CRS/4.10.0',\
severity:'ERROR',\
setvar:'tx.outbound_anomaly_score_pl1=+%{tx.error_anomaly_score}'"
Hi @meguoe,
what rules you see in error.log or audit.log, in section H? And how can I check that behavior? I mean could you show a curl example?
This log file is generated when the default action for phase 3, 4 is not set. 20250408-083841-103-http-4583487f032fb629c6b7b080e570a8f8.log
This log file was generated after setting the default values for stages 3 and 4. 20250408-084305-103-http-b8da840929afc1b0bf2078b9f3b7d145.log
But in fact, the client browser displayed a 502 error.
There is an alert in the nginx error.log
2025/04/08 08:43:05 [alert] 215041#215041: *4878 header already sent while sending to client, client: 123.125.95.99, server: duandongdong.cn, request: "GET /login HTTP/1.1", upstream: "http://103.41.165.188:3000/login", host: "103.41.165.142", referrer: "http://103.41.165.142/d/cdo0ho86aayo0b/blackbox-exporter-icmp-e890ac-e9be8d?from=now-5m&to=now&var-instance=$__all"
This is the result printed by curl, which has some differences from the browser. The audit log shows http_code: 419, while curl displays HTTP/1.1 200 OK.
20250408-090049-103-http-d5b286a078b3f090fa04cb18e32d3fcf.log
curl -i http://103.41.165.142/login
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 08 Apr 2025 00:59:34 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: no-store
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-Xss-Protection: 1; mode=block
<!DOCTYPE html>
<html lang="en-US">
<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.dark.722d809dba5a31f57d49.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-dark app-grafana">
<style>
.preloader {
height: 100%;
flex-direction: column;
display: flex;
justify-content: center;
align-items: center;
margin: 0 32px;
}
.preloader__enter {
opacity: 0;
animation-name: preloader-fade-in;
animation-iteration-count: 1;
animation-duration: 0.9s;
animation-delay: 0.5s;
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: 0.5s;
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);
}
15% {
transform: scaleX(0.75) scaleY(1.25);
animation-timing-function: cubic-bezier(0, 0, 0.7, 0.75);
}
55% {
transform: scaleX(1.05) scaleY(0.95);
animation-timing-function: cubic-bezier(0.9, 0, 1, 1);
}
95% {
transform: scaleX(0.75) scaleY(1.25);
animation-timing-function: cubic-bezier(0, 0, 0, 1);
}
100% {
transform: scaleX(1.3) scaleY(0.8);
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;
}
.theme-light .preloader--done .preloader__text {
color: #52545c !important;
}
.preloader--done .preloader__text--fail {
display: block;
}
.preloader--done .preloader__text--fail a {
color: white;
}
.theme-light .preloader--done .preloader__text--fail a {
color: rgb(31, 98, 224);
}
.preloader--done code {
white-space: nowrap;
padding: 2px 5px;
margin: 0px 2px;
font-size: 0.8rem;
background-color: rgb(24, 27, 31);
color: rgb(204, 204, 220);
border: 1px solid rgba(204, 204, 220, 0.2);
border-radius: 4px;
}
.preloader__error-list li {
margin-bottom: 8px;
}
[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" aria-live="polite" role="status" aria-label="Loading Grafana"></div>
</div>
</div>
<div class="preloader__text preloader__text--fail">
<main>
<h1>If you're seeing this Grafana has failed to load its application files</h1>
<ol class="preloader__error-list">
<li>This could be caused by your reverse proxy settings.</li>
<li>If you host grafana under a subpath make sure your <code>grafana.ini</code> <code>root_url</code> setting
includes subpath. If not using a reverse proxy make sure to set <code>serve_from_sub_path</code> to true.</li>
<li>If you have a local dev build make sure you build frontend using: <code>yarn start</code>, or
<code>yarn build</code>.</li>
<li>Sometimes restarting <code>grafana-server</code> can help.</li>
<li>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
>.</li>
</ol>
</main>
</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,"uid":"","login":"","email":"","name":"","theme":"dark","lightTheme":false,"orgCount":1,"orgId":0,"orgName":"","orgRole":"","isGrafanaAdmin":false,"gravatarUrl":"","timezone":"browser","weekStart":"browser","locale":"en-US","language":"en-US","helpFlags1":0,"hasEditPermissionInFolders":false,"authenticatedBy":"","permissions":{"folders:read":true},"analytics":{"identifier":"@http://localhost:3000/"}},
settings: {"defaultDatasource":"-- Grafana --","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":"","keywords":null},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[],"extensions":{"exposedComponents":[]}},"includes":null,"category":"","preload":false,"backend":false,"routes":null,"skipDataQuery":false,"autoEnabled":false,"extensions":{"addedLinks":[],"addedComponents":[],"exposedComponents":[],"extensionPoints":[]},"annotations":false,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"streaming":false,"signature":"internal","module":"core:plugin/dashboard","baseUrl":"public/app/plugins/datasource/dashboard","angular":{"detected":false,"hideDeprecation":false},"multiValueFilterOperators":false,"loadingStrategy":""},"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":"","keywords":null},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[],"extensions":{"exposedComponents":[]}},"includes":null,"category":"","preload":false,"backend":true,"routes":null,"skipDataQuery":false,"autoEnabled":false,"extensions":{"addedLinks":[],"addedComponents":[],"exposedComponents":[],"extensionPoints":[]},"annotations":true,"metrics":true,"alerting":false,"explore":false,"tables":false,"logs":false,"tracing":false,"builtIn":true,"streaming":false,"signature":"internal","module":"core:plugin/grafana","baseUrl":"public/app/plugins/datasource/grafana","angular":{"detected":false,"hideDeprecation":false},"multiValueFilterOperators":false,"loadingStrategy":""},"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":"","keywords":null},"dependencies":{"grafanaDependency":"","grafanaVersion":"*","plugins":[],"extensions":{"exposedComponents":[]}},"includes":null,"category":"","preload":false,"backend":false,"routes":null,"skipDataQuery":false,"autoEnabled":false,"extensions":{"addedLinks":[],"addedComponents":[],"exposedComponents":[],"extensionPoints":[]},"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":"core:plugin/mixed","baseUrl":"public/app/plugins/datasource/mixed","angular":{"detected":false,"hideDeprecation":false},"multiValueFilterOperators":false,"loadingStrategy":""},"isDefault":false,"preload":false,"jsonData":{},"readOnly":false,"cachingConfig":{"enabled":false,"TTLMs":0}}},"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":"","keywords":null},"hideFromList":false,"sort":15,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/alertlist","signature":"internal","module":"core:plugin/alertlist","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"annolist":{"id":"annolist","name":"Annotations list","aliasIds":["ryantxu-annolist-panel"],"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/annolist","signature":"internal","module":"core:plugin/annolist","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":2,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/barchart","signature":"internal","module":"core:plugin/barchart","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":5,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/bargauge","signature":"internal","module":"core:plugin/bargauge","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"candlestick":{"id":"candlestick","name":"Candlestick","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Graphical representation of price movements of a security, derivative, or currency.","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":"","keywords":["financial","price","currency","k-line"]},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/candlestick","signature":"internal","module":"core:plugin/candlestick","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/canvas","signature":"internal","module":"core:plugin/canvas","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":16,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/dashlist","signature":"internal","module":"core:plugin/dashlist","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/flamegraph","signature":"internal","module":"core:plugin/flamegraph","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":4,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/gauge","signature":"internal","module":"core:plugin/gauge","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/geomap","signature":"internal","module":"core:plugin/geomap","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":true,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/gettingstarted","signature":"internal","module":"core:plugin/gettingstarted","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":13,"skipDataQuery":false,"state":"deprecated","baseUrl":"public/app/plugins/panel/graph","signature":"internal","module":"core:plugin/graph","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":10,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/heatmap","signature":"internal","module":"core:plugin/heatmap","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"histogram":{"id":"histogram","name":"Histogram","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Distribution of values presented as a bar chart.","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":"","keywords":["distribution","bar chart","frequency","proportional"]},"hideFromList":false,"sort":12,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/histogram","signature":"internal","module":"core:plugin/histogram","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/logs","signature":"internal","module":"core:plugin/logs","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":17,"skipDataQuery":true,"state":"beta","baseUrl":"public/app/plugins/panel/news","signature":"internal","module":"core:plugin/news","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/nodeGraph","signature":"internal","module":"core:plugin/nodeGraph","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":8,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/piechart","signature":"internal","module":"core:plugin/piechart","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":3,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/stat","signature":"internal","module":"core:plugin/stat","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":9,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/state-timeline","signature":"internal","module":"core:plugin/state-timeline","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":11,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/status-history","signature":"internal","module":"core:plugin/status-history","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":6,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/table","signature":"internal","module":"core:plugin/table","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"deprecated","baseUrl":"public/app/plugins/panel/table-old","signature":"internal","module":"core:plugin/table-old","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":14,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/text","signature":"internal","module":"core:plugin/text","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":1,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/timeseries","signature":"internal","module":"core:plugin/timeseries","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"","baseUrl":"public/app/plugins/panel/traces","signature":"internal","module":"core:plugin/traces","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"beta","baseUrl":"public/app/plugins/panel/trend","signature":"internal","module":"core:plugin/trend","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"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":"","keywords":null},"hideFromList":true,"sort":100,"skipDataQuery":true,"state":"","baseUrl":"public/app/plugins/panel/welcome","signature":"internal","module":"core:plugin/welcome","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"},"xychart":{"id":"xychart","name":"XY Chart","info":{"author":{"name":"Grafana Labs","url":"https://grafana.com"},"description":"Supports arbitrary X vs Y in a graph to visualize the relationship between two variables.","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":"","keywords":["scatter","plot"]},"hideFromList":false,"sort":100,"skipDataQuery":false,"state":"beta","baseUrl":"public/app/plugins/panel/xychart","signature":"internal","module":"core:plugin/xychart","angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script"}},"apps":{"grafana-lokiexplore-app":{"id":"grafana-lokiexplore-app","path":"public/plugins/grafana-lokiexplore-app/module.js","version":"1.0.2","preload":true,"angular":{"detected":false,"hideDeprecation":false},"loadingStrategy":"script","extensions":{"addedLinks":[{"targets":["grafana/dashboard/panel/menu","grafana/explore/toolbar/action"],"title":"Open in Explore Logs","description":"Open current query in the Explore Logs view"}],"addedComponents":[],"exposedComponents":[],"extensionPoints":[]},"dependencies":{"grafanaDependency":"\u003e=11.3.0","grafanaVersion":"*","plugins":[],"extensions":{"exposedComponents":[]}}}},"appUrl":"http://localhost:3000/","appSubUrl":"","allowOrgCreate":false,"authProxyEnabled":false,"ldapEnabled":false,"jwtHeaderName":"","jwtUrlLogin":false,"liveEnabled":true,"autoAssignOrg":true,"verifyEmailEnabled":false,"sigV4AuthEnabled":false,"azureAuthEnabled":false,"rbacEnabled":true,"exploreEnabled":true,"helpEnabled":true,"profileEnabled":true,"newsFeedEnabled":true,"queryHistoryEnabled":true,"googleAnalyticsId":"","googleAnalytics4Id":"","GoogleAnalytics4SendManualPageViews":false,"rudderstackWriteKey":"","rudderstackDataPlaneUrl":"","rudderstackSdkUrl":"","rudderstackConfigUrl":"","rudderstackIntegrationsUrl":"","feedbackLinksEnabled":true,"applicationInsightsConnectionString":"","applicationInsightsEndpointUrl":"","disableLoginForm":false,"disableUserSignUp":true,"loginHint":"","passwordHint":"","externalUserMngInfo":"","externalUserMngLinkUrl":"","externalUserMngLinkName":"","viewersCanEdit":false,"angularSupportEnabled":false,"editorsCanAdmin":false,"disableSanitizeHtml":false,"trustedTypesDefaultPolicyEnabled":false,"cspReportOnlyEnabled":false,"disableFrontendSandboxForPlugins":["grafana-incident-app"],"exploreDefaultTimeOffset":"1h","auth":{"AuthProxyEnableLoginToken":false,"OAuthSkipOrgRoleUpdateSync":false,"SAMLSkipOrgRoleSync":false,"LDAPSkipOrgRoleSync":false,"GoogleSkipOrgRoleSync":false,"GenericOAuthSkipOrgRoleSync":false,"JWTAuthSkipOrgRoleSync":false,"GrafanaComSkipOrgRoleSync":false,"AzureADSkipOrgRoleSync":false,"GithubSkipOrgRoleSync":false,"GitLabSkipOrgRoleSync":false,"OktaSkipOrgRoleSync":false,"disableLogin":false,"basicAuthStrongPasswordPolicy":false},"buildInfo":{"hideVersion":false,"version":"11.3.0","versionString":"Grafana v11.3.0 (d9455ff7db)","commit":"d9455ff7db73b694db7d412e49a68bec767f2b5a","commitShort":"d9455ff7db","buildstamp":1730260196,"edition":"Enterprise","latestVersion":"11.6.0","hasUpdate":true,"env":"production"},"licenseInfo":{"expiry":0,"stateInfo":"Free \u0026 unlicensed","licenseUrl":"https://grafana.com/products/enterprise/?utm_source=grafana_footer","edition":"Enterprise","enabledFeatures":{},"trialExpiry":0,"appUrl":"http://localhost:3000/"},"featureToggles":{"accessControlOnCall":true,"addFieldFromCalculationStatFunctions":true,"alertingInsights":true,"alertingNoDataErrorExecution":true,"alertingSimplifiedRouting":true,"angularDeprecationUI":true,"annotationPermissionUpdate":true,"autoMigrateXYChartPanel":true,"awsAsyncQueryCaching":true,"cloudWatchCrossAccountQuerying":true,"cloudWatchNewLabelParsing":true,"cloudWatchRoundUpEndTime":true,"correlations":true,"dashboardScene":true,"dashboardSceneForViewers":true,"dashboardSceneSolo":true,"dashgpt":true,"dataplaneFrontendFallback":true,"exploreMetrics":true,"formatString":true,"groupToNestedTableTransformation":true,"influxdbBackendMigration":true,"kubernetesPlaylists":true,"logRowsPopoverMenu":true,"logsContextDatasourceUi":true,"logsExploreTableVisualisation":true,"logsInfiniteScrolling":true,"lokiMetricDataplane":true,"lokiQueryHints":true,"lokiQuerySplitting":true,"lokiStructuredMetadata":true,"managedPluginsInstall":true,"nestedFolders":true,"notificationBanner":true,"openSearchBackendFlowEnabled":true,"panelMonitoring":true,"pinNavItems":true,"promQLScope":true,"prometheusAzureOverrideAudience":true,"prometheusConfigOverhaulAuth":true,"prometheusMetricEncyclopedia":true,"publicDashboards":true,"publicDashboardsScene":true,"recordedQueriesMulti":true,"recoveryThreshold":true,"ssoSettingsApi":true,"tlsMemcached":true,"topnav":true,"transformationsRedesign":true,"transformationsVariableSupport":true},"anonymousEnabled":false,"anonymousDeviceLimit":0,"rendererAvailable":false,"rendererVersion":"","rendererDefaultImageWidth":1000,"rendererDefaultImageHeight":500,"rendererDefaultImageScale":1,"secretsManagerPluginEnabled":false,"http2Enabled":false,"grafanaJavascriptAgent":{"enabled":false,"customEndpoint":"/log-grafana-javascript-agent","errorInstrumentalizationEnabled":true,"consoleInstrumentalizationEnabled":false,"webVitalsInstrumentalizationEnabled":false,"tracingInstrumentalizationEnabled":false,"internalLoggerLevel":0,"apiKey":""},"pluginCatalogURL":"https://grafana.com/grafana/plugins/","pluginAdminEnabled":true,"pluginAdminExternalManageEnabled":false,"pluginCatalogHiddenPlugins":[],"pluginCatalogManagedPlugins":[],"pluginCatalogPreinstalledPlugins":[{"id":"grafana-lokiexplore-app","version":""}],"expressionsEnabled":true,"awsAllowedAuthProviders":["default","keys","credentials"],"awsAssumeRoleEnabled":true,"supportBundlesEnabled":true,"snapshotEnabled":true,"secureSocksDSProxyEnabled":false,"reportingStaticContext":{},"azure":{"cloud":"AzureCloud"},"caching":{"enabled":true},"recordedQueries":{"enabled":true},"reporting":{"enabled":true},"analytics":{"enabled":true},"unifiedAlertingEnabled":true,"unifiedAlerting":{"minInterval":"10s","alertStateHistoryBackend":"annotations"},"oauth":{},"samlEnabled":false,"samlName":"SAML","tokenExpirationDayLimit":-1,"sharedWithMeFolderUID":"sharedwithme","rootFolderUID":"general","geomapDisableCustomBaseLayer":false,"publicDashboardAccessToken":"","publicDashboardsEnabled":true,"cloudMigrationIsTarget":false,"cloudMigrationFeedbackURL":"https://docs.google.com/forms/d/e/1FAIpQLSeEE33vhbSpR8A8S1A1ocZ1ByVRRwiRl1GZr2FSrEer_tSa8w/viewform?usp=sf_link","cloudMigrationPollIntervalMs":2000,"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"},"namespace":"org-0","sqlConnectionLimits":{"maxOpenConns":100,"maxIdleConns":100,"connMaxLifetime":14400},"licensing":{},"localFileSystemAvailable":true,"listScopesEndpoint":"","listDashboardScopesEndpoint":""},
navTree: [{"id":"home","text":"Home","icon":"home-alt","url":"/login","sortWeight":-2000},{"id":"bookmarks","text":"Bookmarks","icon":"bookmark","url":"/bookmarks","sortWeight":-1900,"emptyMessageId":"bookmarks-empty"},{"id":"help","text":"Help","subTitle":"Grafana v11.3.0 (d9455ff7db)","icon":"question-circle","url":"#","sortWeight":-100}],
assets: {"jsFiles":[{"filePath":"public/build/runtime.a6a987c09fbbee179944.js","integrity":"sha256-u0serXNVwUqfdOMDfzNA7PKGnNfMKMMtxxsYifjphtA= sha384-A9elU4WVGWBEdkTJri+F3UI/pDcdmlxAdqWR+bWSOc1+Kt3W44WJiWDuVpPPVWLi sha512-NN8dD5kplPddMd+LVTSZW5GUP68X3PvV7pmWM78e6UTswaLoRbSJ88Jm3Btx8SN3hiG3Wi6f6yOd2As70MYSmQ=="},{"filePath":"public/build/6029.0549a3fcb50e73c4b256.js","integrity":"sha256-z40zPoeFjJLRgwDGeCC0rqEAPnaHNnzfrgSXI5H/5Rs= sha384-Otd1wLPciZ+tOJke2wbZQse4pmXNMdivu6XYXws1Z9H7Iy5TXpsS6Ja0Ke6p5Ti0 sha512-LFZ8zOE5Cke3SRGx5a2NMChf1LtQ1oTins3n4XA0/w9Wpn7cBzJpSGzuLUtN3pAOtDsZmQp0+CPdOdS/v/E44A=="},{"filePath":"public/build/4239.c2eca2b0222ddf40980b.js","integrity":"sha256-vM85CwS+yfb1xs9Kzt6Ohr6kwzzfMkbEZJoQCaXfF1U= sha384-IPFOKRyRR6vk0S/1ZzJrxem12kSfn6znO8EgxXW4s4nY6jnlaU3/nwXvqO4c50AJ sha512-es2q5xabx50+97AOIh0tDTPiBUaLtsSuw3i8kqBpO2sjtAcOvzPgBZA1vJnOft6kNfZFbc3v09hYlUUj2ciWdA=="},{"filePath":"public/build/3379.f0abbaaa1bab7514daec.js","integrity":"sha256-EvtITYIZ3D9gdBrJt8NWN21Eo1XGFWA3ox34/qMhdgQ= sha384-gptZlKljVSGw36+4wchwxvH0iz7V0i3pk/jy0ugbEmHm6iyu/MGG4/1SQVR6v5uY sha512-qnqdRNiRr+wh8bGOtDrnXd8F8TabN9PkXXZJt5ngbiiHjBCkprR1Ok8CIJ/71Gd6U/gixjTZr7S2CkgvVHzQPw=="},{"filePath":"public/build/3719.c065b2e146c4c8347d51.js","integrity":"sha256-gnZd0yEx4akP7KWxlf8gjHvRyxIRHDnw0Wk8HanqsVM= sha384-XQ3n1cvu5gdhM/v0Csmal1BEl6kLyQ0M2lsptGBlcQrqDFZUyfDhULVEmt3TrW7E sha512-2djd8etpos0ym/6aTKwKcCk7ziDEJy3E7LfN5BI3M7eg/Zq6Cs0zLTexoiCmDEm3Jq4pofRE568czKYVwNd/hg=="},{"filePath":"public/build/8078.a4260b06f1454becf5c9.js","integrity":"sha256-VQDNrXUTqN5fuYOb7Z815RGGMz1zc+ip29LjRBduPm8= sha384-VNt9N0eW6NbK92eA+hcChLLpVLEAiyAOT5bXWIpC8MZ2foFw6WT0Fb9XuvJVAryJ sha512-SRgoyk1Y6DsXRbtu87lGGMXo+MsJjYJzLwuBoybiu1qQUoK2xmZFQ76W76/klEMzKXXGcYtaUSUEHx5vVKlwSA=="},{"filePath":"public/build/7462.d83af2435fe93a4c1754.js","integrity":"sha256-Y+XsSjkbvXerF20UIgbzQtCgpKIRQ/bAf7TFxiBo8lk= sha384-sEKnv2sPXCPAtWGREzBip/Yjdvfc0aTqzfBMkjZvhoMt1ZNkqJzj8RdeH//DIiL4 sha512-H3MEi9LcZysv+GIow4g7JQvXfwKQdEtOEqwunBnsyp4P9HyjR60hfccvm/vW9tEJJE9eRqSZXDVCFEVwlEkLyg=="},{"filePath":"public/build/app.86953ada7cc7df706145.js","integrity":"sha256-4AhNc21suJpijrwsWCHk9JszysTav+gi2xDtmw5Etcw= sha384-5RtvQcUiqUaDLLsQ64f7mLdFcNx8qO1Y1LWMHMAiCdYcFiLFMBKf9iSC19YZQdab sha512-7eiz3mdf+6W6QzgO/dVrmjH0q1c/Or3LjO2jr1Hrg1DHAwpopGUDEsC8eXNtPduxDUztKydCXcm/2KRKAnoEoA=="}],"dark":"public/build/grafana.dark.722d809dba5a31f57d49.css","light":"public/build/grafana.light.2fbd901d840329c18394.css","swagger":[{"filePath":"public/build/runtime.a6a987c09fbbee179944.js","integrity":"sha256-u0serXNVwUqfdOMDfzNA7PKGnNfMKMMtxxsYifjphtA= sha384-A9elU4WVGWBEdkTJri+F3UI/pDcdmlxAdqWR+bWSOc1+Kt3W44WJiWDuVpPPVWLi sha512-NN8dD5kplPddMd+LVTSZW5GUP68X3PvV7pmWM78e6UTswaLoRbSJ88Jm3Btx8SN3hiG3Wi6f6yOd2As70MYSmQ=="},{"filePath":"public/build/6029.0549a3fcb50e73c4b256.js","integrity":"sha256-z40zPoeFjJLRgwDGeCC0rqEAPnaHNnzfrgSXI5H/5Rs= sha384-Otd1wLPciZ+tOJke2wbZQse4pmXNMdivu6XYXws1Z9H7Iy5TXpsS6Ja0Ke6p5Ti0 sha512-LFZ8zOE5Cke3SRGx5a2NMChf1LtQ1oTins3n4XA0/w9Wpn7cBzJpSGzuLUtN3pAOtDsZmQp0+CPdOdS/v/E44A=="},{"filePath":"public/build/4239.c2eca2b0222ddf40980b.js","integrity":"sha256-vM85CwS+yfb1xs9Kzt6Ohr6kwzzfMkbEZJoQCaXfF1U= sha384-IPFOKRyRR6vk0S/1ZzJrxem12kSfn6znO8EgxXW4s4nY6jnlaU3/nwXvqO4c50AJ sha512-es2q5xabx50+97AOIh0tDTPiBUaLtsSuw3i8kqBpO2sjtAcOvzPgBZA1vJnOft6kNfZFbc3v09hYlUUj2ciWdA=="},{"filePath":"public/build/3656.23d9c8c3b6478b585ee7.js","integrity":"sha256-lynlJeLNmhUg5cxxv4CYP5GOCTeWzpW12hNlFrvfelE= sha384-pT7/0HIaT2Kfo4hEuDBZiEZYVKSpNGdN29Qp/H12myXIgo6sQy7TpBOyN5p60rlp sha512-ZrhDRs9bdxiMmoJN31HxUHYN9XkvaJs9OS25blfKKr6gCW5lsEL3hoM1yagbuPDbVRJurGmECcxZQ1vsOeHaXg=="},{"filePath":"public/build/3719.c065b2e146c4c8347d51.js","integrity":"sha256-gnZd0yEx4akP7KWxlf8gjHvRyxIRHDnw0Wk8HanqsVM= sha384-XQ3n1cvu5gdhM/v0Csmal1BEl6kLyQ0M2lsptGBlcQrqDFZUyfDhULVEmt3TrW7E sha512-2djd8etpos0ym/6aTKwKcCk7ziDEJy3E7LfN5BI3M7eg/Zq6Cs0zLTexoiCmDEm3Jq4pofRE568czKYVwNd/hg=="},{"filePath":"public/build/swagger.a8acf398fb1dff7765e0.js","integrity":"sha256-ZOwdY7j2uNYdbgp6YKXzXBqVjGiY4nDBA6sFRgTJFLU= sha384-jBIagz98CkfYKMTGW1FxOtPi0Q0smDvb6BQK4Nb/2wbaDf7uIZPcMIyYHmj0OsVw sha512-w2zOf05AP2CUZv+Ux8bvf8tV0kRcyGPVfB/KJ5CxIYWI3Io5PYG6EbzcKNY6r7+dmfyL7HieDLWqc1IrDIcMkw=="}]}
};
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.assets.dark;
window.grafanaBootData.user.lightTheme = false;
} else {
document.body.classList.add("theme-light");
cssLink.href = window.grafanaBootData.assets.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.a6a987c09fbbee179944.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/6029.0549a3fcb50e73c4b256.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/4239.c2eca2b0222ddf40980b.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/3379.f0abbaaa1bab7514daec.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/3719.c065b2e146c4c8347d51.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/8078.a4260b06f1454becf5c9.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/7462.d83af2435fe93a4c1754.js"
type="text/javascript"
defer
></script>
<script
nonce=""
src="public/build/app.86953ada7cc7df706145.js"
type="text/javascript"
defer
></script>
<script nonce="">
performance.mark('frontend_boot_js_done_time_seconds');
</script>
</body>
</html>
curl: (18) transfer closed with outstanding read data remaining