From 10da3c817362c732a071db5b2494f5d954283799 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:48:40 +0200 Subject: [PATCH 01/14] Fix tempo config --- .../conf/tempo-config.yaml | 48 +++++++++++++++++ .../grafana-monitoring-otel/conf/tempo.yaml | 53 ------------------- 2 files changed, 48 insertions(+), 53 deletions(-) create mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/tempo-config.yaml delete mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/tempo.yaml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/tempo-config.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/tempo-config.yaml new file mode 100644 index 0000000..ff670ce --- /dev/null +++ b/docker-compose-examples/grafana-monitoring-otel/conf/tempo-config.yaml @@ -0,0 +1,48 @@ +stream_over_http_enabled: true + +server: + http_listen_port: 3200 + log_level: info + +distributor: + receivers: + otlp: + protocols: + http: + endpoint: 0.0.0.0:4318 + grpc: + endpoint: 0.0.0.0:4317 + +ingester: + max_block_duration: 5m + +compactor: + compaction: + block_retention: 24h + +metrics_generator: + registry: + external_labels: + source: tempo + cluster: docker-compose + storage: + path: /var/tempo/generator/wal + remote_write: + - url: http://prometheus:9090/api/v1/write + send_exemplars: true + traces_storage: + path: /var/tempo/generator/traces + +storage: + trace: + backend: local + wal: + path: /var/tempo/wal + local: + path: /var/tempo/blocks + +overrides: + defaults: + metrics_generator: + processors: [service-graphs, span-metrics, local-blocks] + generate_native_histograms: both \ No newline at end of file diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/tempo.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/tempo.yaml deleted file mode 100644 index e7b21bb..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/tempo.yaml +++ /dev/null @@ -1,53 +0,0 @@ -stream_over_http_enabled: true -server: - http_listen_port: 3200 - log_level: info - -query_frontend: - search: - duration_slo: 5s - throughput_bytes_slo: 1.073741824e+09 - trace_by_id: - duration_slo: 5s - -distributor: - receivers: # this configuration will listen on all ports and protocols that tempo is capable of. - otlp: - protocols: - http: - endpoint: "0.0.0.0:4318" - -ingester: - max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally - -compactor: - compaction: - block_retention: 1h # overall Tempo trace retention. set for demo purposes - -metrics_generator: - registry: - external_labels: - source: tempo - cluster: docker-compose - storage: - path: /var/tempo/generator/wal - remote_write: - - url: http://prometheus:9090/api/v1/write - send_exemplars: true - traces_storage: - path: /var/tempo/generator/traces - -storage: - trace: - backend: local # backend configuration to use - wal: - path: /var/tempo/wal # where to store the wal locally - local: - path: /var/tempo/blocks - -overrides: - defaults: - metrics_generator: - processors: [service-graphs, span-metrics, local-blocks] # enables metrics generator - generate_native_histograms: both - From 9050c0b4919c0c1175a4df5cd35391c9548202d6 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:49:02 +0200 Subject: [PATCH 02/14] I don't think we need a Promtail config --- .../grafana-monitoring-otel/conf/promtail-config.yaml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/promtail-config.yaml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/promtail-config.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/promtail-config.yaml deleted file mode 100644 index d54095b..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/promtail-config.yaml +++ /dev/null @@ -1,2 +0,0 @@ -clients: - - url: http://loki:3100/loki/api/v1/push From 6a2b37200243ca7ecc122ef3d9378c44532e266a Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:49:30 +0200 Subject: [PATCH 03/14] Fix Prometheus config --- .../conf/prometheus.yaml | 26 +++++++++++++ .../conf/prometheus.yml | 37 ------------------- 2 files changed, 26 insertions(+), 37 deletions(-) create mode 100755 docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yaml delete mode 100755 docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yaml new file mode 100755 index 0000000..86f9b9b --- /dev/null +++ b/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yaml @@ -0,0 +1,26 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +otlp: + promote_resource_attributes: + - service.name + - service.namespace + - service.instance.id + - deployment.environment + - k8s.cluster.name + - k8s.namespace.name + - k8s.pod.name + +storage: + tsdb: + out_of_order_time_window: 30m + +scrape_configs: + - job_name: prometheus + static_configs: + - targets: ["localhost:9090"] + + - job_name: otel-collector + static_configs: + - targets: ["otel-collector:8888"] \ No newline at end of file diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yml b/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yml deleted file mode 100755 index 5301915..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/prometheus.yml +++ /dev/null @@ -1,37 +0,0 @@ -global: - scrape_interval: 5s # Set the scrape interval to every 15 seconds. Default is every 1 minute. - -# define which exporters to scrape -scrape_configs: - - job_name: varnish - # 'exporter' is our exporter container in `docker-compose.yml` - # metrics_path defaults to '/metrics', scheme to 'http' - static_configs: - - targets: ["exporter:9131"] - -storage: - tsdb: - out_of_order_time_window: 30m - -otlp: - # Recommended attributes to be promoted to labels. - promote_resource_attributes: - - service.instance.id - - service.name - - service.namespace - - service.version - - cloud.availability_zone - - cloud.region - - container.name - - deployment.environment - - deployment.environment.name - - k8s.cluster.name - - k8s.container.name - - k8s.cronjob.name - - k8s.daemonset.name - - k8s.deployment.name - - k8s.job.name - - k8s.namespace.name - - k8s.pod.name - - k8s.replicaset.name - - k8s.statefulset.name From 65242b6f4a3f126f4735e17b110b96ad4d686934 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:50:14 +0200 Subject: [PATCH 04/14] Add Loki config --- .../conf/loki-config.yaml | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/loki-config.yaml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/loki-config.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/loki-config.yaml new file mode 100644 index 0000000..d766f58 --- /dev/null +++ b/docker-compose-examples/grafana-monitoring-otel/conf/loki-config.yaml @@ -0,0 +1,44 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + grpc_listen_port: 9096 + log_level: info + +common: + instance_addr: 127.0.0.1 + path_prefix: /tmp/loki + storage: + filesystem: + chunks_directory: /tmp/loki/chunks + rules_directory: /tmp/loki/rules + replication_factor: 1 + ring: + kvstore: + store: inmemory + +schema_config: + configs: + - from: 2024-01-01 + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + +limits_config: + metric_aggregation_enabled: true + allow_structured_metadata: true + volume_enabled: true + otlp_config: + resource_attributes: + attributes_config: + - action: index_label + attributes: + - service.name + - service.namespace + - deployment.environment + +ruler: + alertmanager_url: http://localhost:9093 \ No newline at end of file From 79af29d303c9d587b8a14375d5f5142bc991a3fe Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:50:27 +0200 Subject: [PATCH 05/14] Add OTel Collector config --- .../conf/otel-collector-config.yaml | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/otel-collector-config.yaml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/otel-collector-config.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/otel-collector-config.yaml new file mode 100644 index 0000000..b2a0189 --- /dev/null +++ b/docker-compose-examples/grafana-monitoring-otel/conf/otel-collector-config.yaml @@ -0,0 +1,66 @@ +receivers: + otlp: + protocols: + http: + endpoint: 0.0.0.0:4318 + grpc: + endpoint: 0.0.0.0:4317 + +processors: + batch: + timeout: 5s + send_batch_size: 1024 + memory_limiter: + check_interval: 1s + limit_percentage: 80 + spike_limit_percentage: 25 + +exporters: + # Metrics -> Prometheus (native OTLP receiver) + otlphttp/prometheus: + endpoint: http://prometheus:9090/api/v1/otlp + tls: + insecure: true + + # Logs -> Loki (native OTLP receiver) + otlphttp/loki: + endpoint: http://loki:3100/otlp + tls: + insecure: true + + # Traces -> Tempo (native OTLP receiver) + otlp/tempo: + endpoint: tempo:4317 + tls: + insecure: true + + debug: + verbosity: basic + +extensions: + health_check: + endpoint: 0.0.0.0:13133 + +service: + extensions: [health_check] + telemetry: + metrics: + readers: + - pull: + exporter: + prometheus: + host: 0.0.0.0 + port: 8888 + pipelines: + metrics: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlphttp/prometheus, debug] + logs: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlphttp/loki, debug] + traces: + receivers: [otlp] + processors: [memory_limiter, batch] + exporters: [otlp/tempo, debug] From 2d683558e41d928b3c3d37e4ac58676bf5e4b7cd Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:50:57 +0200 Subject: [PATCH 06/14] Rename plus to enterprise --- .../conf/{default-plus.vcl => default-enterprise.vcl} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docker-compose-examples/grafana-monitoring-otel/conf/{default-plus.vcl => default-enterprise.vcl} (100%) diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/default-plus.vcl b/docker-compose-examples/grafana-monitoring-otel/conf/default-enterprise.vcl similarity index 100% rename from docker-compose-examples/grafana-monitoring-otel/conf/default-plus.vcl rename to docker-compose-examples/grafana-monitoring-otel/conf/default-enterprise.vcl From 13e7c65c6d7f14fc0fe9f44a1c00bbd7ceb2dfd4 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:52:43 +0200 Subject: [PATCH 07/14] Fix Grafana datasources --- .../provisioning/datasources/datasources.yaml | 65 +++++++++++++++++++ .../provisioning/datasources/loki.yaml | 21 ------ .../provisioning/datasources/prometheus.yaml | 9 --- .../provisioning/datasources/tempo.yaml | 30 --------- 4 files changed, 65 insertions(+), 60 deletions(-) create mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/datasources.yaml delete mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/loki.yaml delete mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/prometheus.yaml delete mode 100644 docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/tempo.yaml diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/datasources.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/datasources.yaml new file mode 100644 index 0000000..e7f38b5 --- /dev/null +++ b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/datasources.yaml @@ -0,0 +1,65 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + uid: prometheus + isDefault: true + jsonData: + httpMethod: POST + timeInterval: 15s + exemplarTraceIdDestinations: + - name: trace_id + datasourceUid: tempo + + - name: Loki + type: loki + access: proxy + url: http://loki:3100 + uid: loki + jsonData: + derivedFields: + - name: TraceID + matcherRegex: "trace_id=(\\w+)" + url: "$${__value.raw}" + datasourceUid: tempo + - name: SpanId + matcherRegex: SpanId + matcherType: label + url: "{ span:id = \"$${__value.raw}\" }" + datasourceUid: tempo + + - name: Tempo + type: tempo + access: proxy + url: http://tempo:3200 + uid: tempo + jsonData: + httpMethod: GET + tracesToLogsV2: + datasourceUid: loki + spanStartTimeShift: -1m + spanEndTimeShift: 1m + filterByTraceID: true + filterBySpanID: true + tracesToMetrics: + datasourceUid: prometheus + serviceMap: + datasourceUid: prometheus + nodeGraph: + enabled: true + search: + hide: false + filters: + - id: service-name + operator: '=' + scope: resource + tag: service.name + - id: span-name + operator: '=' + scope: span + tag: name + lokiSearch: + datasourceUid: loki diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/loki.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/loki.yaml deleted file mode 100644 index ab08759..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/loki.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: 1 - -datasources: - - name: loki - type: loki - uid: lokiUID - access: proxy - url: http://loki:3100 - jsonData: - derivedFields: - - datasourceUid: tempoUID - matcherRegex: SpanId - matcherType: label - name: SpanId - url: "{ span:id = \"$${__value.raw}\" }" - - datasourceUid: tempoUID - matcherRegex: TraceId - matcherType: label - name: TraceId -# url: "{ trace:id = \"$${__value.raw}\" }" - url : "$${__value.raw}" diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/prometheus.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/prometheus.yaml deleted file mode 100644 index c1bebba..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/prometheus.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: 1 - -datasources: - - name: Prometheus - type: prometheus - access: proxy - isDefault: true - uid: prometheusUID - url: http://prometheus:9090 diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/tempo.yaml b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/tempo.yaml deleted file mode 100644 index 169d91e..0000000 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/datasources/tempo.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: 1 - -datasources: -- name: Tempo - type: tempo - access: proxy - url: http://tempo:3200 - uid: tempoUID - jsonData: - httpMethod: GET - tracesToLogsV2: - datasourceUid: lokiUID - filterBySpanID: true - filterByTraceID: true - spanEndTimeShift: 1m - spanStartTimeShift: -1m - nodeGraph: - enabled: true - search: - filters: - - id: service-name - operator: '=' - scope: resource - tag: service.name - - id: span-name - operator: '=' - scope: span - tag: name - serviceMap: - datasourceUid: prometheusUID From 401f30040611b522440a4ad3d3d361fa896168f2 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:53:17 +0200 Subject: [PATCH 08/14] Fix datasource references in dashboards --- .../provisioning/dashboards/varnish_logs.json | 10 +- .../dashboards/varnish_metrics.json | 176 +++++------ .../dashboards/varnish_metrics_plus.json | 274 +++++++++--------- 3 files changed, 230 insertions(+), 230 deletions(-) diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_logs.json b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_logs.json index ce7f538..b6d7879 100644 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_logs.json +++ b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_logs.json @@ -90,7 +90,7 @@ "dashes": false, "datasource": { "type": "loki", - "uid": "lokiUID" + "uid": "loki" }, "fieldConfig": { "defaults": { @@ -136,7 +136,7 @@ { "datasource": { "type": "loki", - "uid": "lokiUID" + "uid": "loki" }, "expr": "sum(count_over_time({service_name=~\"$app\"} |= \"$search\" [$__interval]))", "legendFormat": "", @@ -177,7 +177,7 @@ { "datasource": { "type": "loki", - "uid": "lokiUID" + "uid": "loki" }, "gridPos": { "h": 25, @@ -201,7 +201,7 @@ { "datasource": { "type": "loki", - "uid": "lokiUID" + "uid": "loki" }, "expr": "{service_name=~\"$app\"} |= \"$search\" | logfmt", "hide": false, @@ -226,7 +226,7 @@ }, "datasource": { "type": "loki", - "uid": "lokiUID" + "uid": "loki" }, "definition": "label_values(service_name)", "hide": 0, diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics.json b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics.json index 470c754..c24e69d 100644 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics.json +++ b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics.json @@ -38,7 +38,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -91,7 +91,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "count(varnish_uptime{service_name=~\"$service\",instance=~\"$instance\"})", @@ -106,7 +106,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -158,7 +158,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -175,7 +175,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -227,7 +227,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum((rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -244,7 +244,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -296,7 +296,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -313,7 +313,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -365,7 +365,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / (sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))))", @@ -382,7 +382,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -437,7 +437,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -454,7 +454,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "Data transfer per second, which consists of headers and body bytes in the backend requests and backend responses.", "fieldConfig": { @@ -563,7 +563,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -576,7 +576,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -589,7 +589,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -603,7 +603,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -620,7 +620,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -723,7 +723,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_backend_connections{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -737,7 +737,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_sess{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -750,7 +750,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_backend_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -763,7 +763,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -780,7 +780,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -869,7 +869,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -880,7 +880,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - sum(rate(varnish_main_backend_connections{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_main_sess{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -893,7 +893,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -923,7 +923,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -1001,7 +1001,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1091,7 +1091,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum by (failure_type) (rate(varnish_main_session_failed{service_name=~\"$service\",instance=~\"$instance\",failure_type!=\"\"}[$__rate_interval]))", @@ -1108,7 +1108,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1214,7 +1214,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_purges{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1227,7 +1227,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_bans{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1240,7 +1240,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_req{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1257,7 +1257,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1347,7 +1347,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_ykey_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1360,7 +1360,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_ykey_slicer_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1373,7 +1373,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_obj_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1386,7 +1386,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_obj_killed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1399,7 +1399,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_lurker_obj_killed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1412,7 +1412,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_lurker_obj_killed_cutoff{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1425,7 +1425,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_mse3_store_ykey_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -1455,7 +1455,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1545,7 +1545,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_esi_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1561,7 +1561,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1651,7 +1651,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1664,7 +1664,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_backend_wait_failed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1677,7 +1677,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_bgfetch_no_thread{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1694,7 +1694,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1784,7 +1784,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1797,7 +1797,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_vdp_error{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1810,7 +1810,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_stream_failure{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1823,7 +1823,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_rapid_reset{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1836,7 +1836,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_esi_errors{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1849,7 +1849,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1863,7 +1863,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1877,7 +1877,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1891,7 +1891,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1905,7 +1905,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1919,7 +1919,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1933,7 +1933,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1947,7 +1947,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1961,7 +1961,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1975,7 +1975,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -1989,7 +1989,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2003,7 +2003,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2017,7 +2017,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2031,7 +2031,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2045,7 +2045,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2059,7 +2059,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2073,7 +2073,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_req_400{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2086,7 +2086,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_resp_500{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2103,7 +2103,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2193,7 +2193,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_errors{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2205,7 +2205,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_warnings{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2218,7 +2218,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_maxdepth{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2231,7 +2231,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_req_abort{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2261,7 +2261,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -2344,7 +2344,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum by (host_name) (varnish_main_thread_live{service_name=~\"$service\",instance=~\"$instance\"})", @@ -2359,7 +2359,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2444,7 +2444,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "varnish_main_object_count", @@ -2461,7 +2461,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2546,7 +2546,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_lru_nuked{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2559,7 +2559,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_liberated{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2572,7 +2572,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_pruned_objects{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2585,7 +2585,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_expired{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2602,7 +2602,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -2710,7 +2710,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -2788,7 +2788,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics_plus.json b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics_plus.json index 43b2862..a9e7bbd 100644 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics_plus.json +++ b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/provisioning/dashboards/varnish_metrics_plus.json @@ -38,7 +38,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -91,7 +91,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "count(varnish_uptime{service_name=~\"$service\",instance=~\"$instance\"})", @@ -106,7 +106,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -158,7 +158,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -175,7 +175,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -227,7 +227,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum((rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -244,7 +244,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -296,7 +296,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / (sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))))", @@ -313,7 +313,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -365,7 +365,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -382,7 +382,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -487,7 +487,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -505,7 +505,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -561,7 +561,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -579,7 +579,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -634,7 +634,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -651,7 +651,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "Data transfer per second, which consists of headers and body bytes in the backend requests and backend responses.", "fieldConfig": { @@ -760,7 +760,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -773,7 +773,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -786,7 +786,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -800,7 +800,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -817,7 +817,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -920,7 +920,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_backend_connections{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -934,7 +934,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_sess{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -947,7 +947,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_backend_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -960,7 +960,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -977,7 +977,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -1066,7 +1066,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_duration_total_seconds_count{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -1077,7 +1077,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - sum(rate(varnish_main_backend_connections{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_main_sess{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1090,7 +1090,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "1 - (sum(rate(varnish_backend_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])) / sum(rate(varnish_client_response_bytes_byte_sum{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])))", @@ -1120,7 +1120,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -1198,7 +1198,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1304,7 +1304,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_purges{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1317,7 +1317,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_bans{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1330,7 +1330,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ykey_purges{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1343,7 +1343,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_req{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1360,7 +1360,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1450,7 +1450,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_ykey_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1463,7 +1463,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_ykey_slicer_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1476,7 +1476,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_obj_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1489,7 +1489,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_obj_killed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1502,7 +1502,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_lurker_obj_killed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1515,7 +1515,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_ban_lurker_obj_killed_cutoff{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1528,7 +1528,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_mse3_store_ykey_purged{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -1545,7 +1545,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1635,7 +1635,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_esi_requests{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -1651,7 +1651,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1741,7 +1741,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_stale_fetch_delivers{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -1754,7 +1754,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_stale_fetch_rearms{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -1771,7 +1771,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "The number of backends that are marked as sick due to failing health probes or being manually set to sick via varnishadm.", "fieldConfig": { @@ -1861,7 +1861,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "count by (host_name) (varnish_backend_is_healthy{service_name=~\"$service\",instance=~\"$instance\"}) - sum by (host_name)(varnish_backend_is_healthy{service_name=~\"$service\",instance=~\"$instance\"})", @@ -1891,7 +1891,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -1984,7 +1984,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2024,7 +2024,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2114,7 +2114,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2127,7 +2127,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_backend_wait_failed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2140,7 +2140,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_bgfetch_no_thread{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2157,7 +2157,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2247,7 +2247,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum by (failure_type) (rate(varnish_main_session_failed{service_name=~\"$service\",instance=~\"$instance\",failure_type!=\"\"}[$__rate_interval]))", @@ -2264,7 +2264,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2349,7 +2349,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "count by (host_name) (varnish_mse4_book_online{service_name=~\"$service\",instance=~\"$instance\"}) - sum by (host_name) (varnish_mse4_book_online{service_name=~\"$service\",instance=~\"$instance\"})", @@ -2362,7 +2362,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "count by (host_name) (varnish_mse4_store_online{service_name=~\"$service\",instance=~\"$instance\"}) - sum by (host_name) (varnish_mse4_store_online{service_name=~\"$service\",instance=~\"$instance\"})", @@ -2379,7 +2379,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2469,7 +2469,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2482,7 +2482,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_vdp_error{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2495,7 +2495,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_stream_failure{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2508,7 +2508,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_rapid_reset{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2521,7 +2521,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_esi_errors{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2534,7 +2534,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2548,7 +2548,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2562,7 +2562,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2576,7 +2576,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2590,7 +2590,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2604,7 +2604,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2618,7 +2618,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2632,7 +2632,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2646,7 +2646,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2660,7 +2660,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2674,7 +2674,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2688,7 +2688,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2702,7 +2702,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2716,7 +2716,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2730,7 +2730,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2744,7 +2744,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, @@ -2758,7 +2758,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_req_400{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2771,7 +2771,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_client_resp_500{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -2788,7 +2788,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -2878,7 +2878,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_errors{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2890,7 +2890,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_warnings{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2903,7 +2903,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_maxdepth{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2916,7 +2916,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_main_esi_req_abort{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -2933,7 +2933,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3018,7 +3018,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_c_eviction_failure{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3031,7 +3031,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_c_allocation_failure{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3044,7 +3044,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_book_g_unreachable_objects{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3057,7 +3057,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_liberation_failed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3070,7 +3070,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_c_allocation_failure{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3083,7 +3083,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_c_allocation_failure_timeout{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3096,7 +3096,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_c_allocation_failure_noslot{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3109,7 +3109,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_remap_failed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3122,7 +3122,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_prune_failed{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3135,7 +3135,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_c_io_limited{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3148,7 +3148,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_g_io_blocked_read{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3161,7 +3161,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_g_io_blocked_write{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3178,7 +3178,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3268,7 +3268,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "disableTextWrap": false, "editorMode": "code", @@ -3285,7 +3285,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "disableTextWrap": false, "editorMode": "builder", @@ -3303,7 +3303,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "rate(varnish_brotli_decompression_fail{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval])", @@ -3333,7 +3333,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -3416,7 +3416,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum by (host_name) (varnish_main_thread_live{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3431,7 +3431,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3516,7 +3516,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_object_used{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3529,7 +3529,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "varnish_mse4_object_ephemeral{service_name=~\"$service\",instance=~\"$instance\"}", @@ -3542,7 +3542,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_object_persisted{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3559,7 +3559,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3644,7 +3644,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_main_mem_private{service_name=~\"$service\",instance=~\"$instance\"}) / count(varnish_main_mem_private{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3657,7 +3657,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_main_mem_rss{service_name=~\"$service\",instance=~\"$instance\"}) / count(varnish_main_mem_rss{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3670,7 +3670,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_main_mem_file{service_name=~\"$service\",instance=~\"$instance\"}) / count (varnish_main_mem_file{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3683,7 +3683,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_main_mem_swap{service_name=~\"$service\",instance=~\"$instance\"}) / count(varnish_main_mem_swap{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3700,7 +3700,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3785,7 +3785,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_lru_nuked{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3798,7 +3798,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_book_liberated{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3811,7 +3811,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_mse4_store_pruned_objects{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3824,7 +3824,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(rate(varnish_main_expired{service_name=~\"$service\",instance=~\"$instance\"}[$__rate_interval]))", @@ -3841,7 +3841,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -3926,7 +3926,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_book_slot_used{service_name=~\"$service\",instance=~\"$instance\"})/sum(varnish_mse4_book_slot_used{service_name=~\"$service\",instance=~\"$instance\"} + varnish_mse4_book_slot_unused{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3939,7 +3939,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_byte_used{service_name=~\"$service\",instance=~\"$instance\"})/sum(varnish_mse4_byte_used{service_name=~\"$service\",instance=~\"$instance\"} + varnish_mse4_byte_unused{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3952,7 +3952,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_store_bytes_used{service_name=~\"$service\",instance=~\"$instance\"})/sum(varnish_mse4_store_bytes_used{service_name=~\"$service\",instance=~\"$instance\"} + varnish_mse4_store_bytes_unused{service_name=~\"$service\",instance=~\"$instance\"})", @@ -3969,7 +3969,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -4054,7 +4054,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_g_ykey_keys{service_name=~\"$service\",instance=~\"$instance\"})", @@ -4067,7 +4067,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_book_ykey_keys{service_name=~\"$service\",instance=~\"$instance\"})", @@ -4084,7 +4084,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -4169,7 +4169,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "expr": "sum(varnish_mse4_book_varyspecs{service_name=~\"$service\",instance=~\"$instance\"})", @@ -4199,7 +4199,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -4277,7 +4277,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "fieldConfig": { "defaults": { @@ -4355,7 +4355,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "description": "", "fieldConfig": { @@ -4419,7 +4419,7 @@ { "datasource": { "type": "prometheus", - "uid": "prometheusUID" + "uid": "prometheus" }, "editorMode": "code", "exemplar": false, From a9eedd832fb83a5f92f12db3f6066bc8c5f99966 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:53:49 +0200 Subject: [PATCH 09/14] Add varnish profile, use otel-collector & other small fixes --- .../grafana-monitoring-otel/compose.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docker-compose-examples/grafana-monitoring-otel/compose.yaml b/docker-compose-examples/grafana-monitoring-otel/compose.yaml index ab7baa8..32e169c 100755 --- a/docker-compose-examples/grafana-monitoring-otel/compose.yaml +++ b/docker-compose-examples/grafana-monitoring-otel/compose.yaml @@ -4,10 +4,10 @@ include: services: varnish: image: varnish + profiles: [varnish] volumes: - workdir:/var/lib/varnish - ./conf/default.vcl:/etc/varnish/default.vcl - command: varnishd -F -a :80 -f /etc/varnish/default.vcl ports: - "8080:80" depends_on: @@ -18,6 +18,7 @@ services: varnish-otel: image: varnish + profiles: [varnish] command: varnish-otel volumes: - workdir:/var/lib/varnish @@ -25,19 +26,17 @@ services: - varnish environment: OTEL_RESOURCE_ATTRIBUTES: service.instance.id=varnish1 - OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: http://loki:3100/otlp/v1/logs - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: http://tempo:4318/v1/traces - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: http://prometheus:9090/api/v1/otlp/v1/metrics + OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf OTEL_SERVICE_NAME: varnish - #OTEL_VARNISH_WORKDIR: varnish + OTEL_VARNISH_WORKDIR: varnish build: dockerfile_inline: | FROM varnish USER root RUN set -ex; \ apt-get update; \ - apt-get install varnish-otel; \ + apt-get install -y varnish-otel; \ rm -rf /var/lib/apt/lists/* USER varnish From 352743ac9bbf9fa97a4efe38f62615003d5b67ba Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:54:56 +0200 Subject: [PATCH 10/14] Rename plus to enterprise, use otel-collector & add varnish profile --- .../{compose-plus.yaml => compose-enterprise.yaml} | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename docker-compose-examples/grafana-monitoring-otel/{compose-plus.yaml => compose-enterprise.yaml} (81%) diff --git a/docker-compose-examples/grafana-monitoring-otel/compose-plus.yaml b/docker-compose-examples/grafana-monitoring-otel/compose-enterprise.yaml similarity index 81% rename from docker-compose-examples/grafana-monitoring-otel/compose-plus.yaml rename to docker-compose-examples/grafana-monitoring-otel/compose-enterprise.yaml index 2b3f20c..3fa85d4 100755 --- a/docker-compose-examples/grafana-monitoring-otel/compose-plus.yaml +++ b/docker-compose-examples/grafana-monitoring-otel/compose-enterprise.yaml @@ -16,7 +16,7 @@ services: - ./data/mse/disk:/var/lib/mse/disk - workdir:/var/lib/varnish - ./conf/varnish-enterprise.lic:/etc/varnish/varnish-enterprise.lic - - ./conf/default-plus.vcl:/etc/varnish/default.vcl + - ./conf/default-enterprise.vcl:/etc/varnish/default.vcl command: varnishd -F -a :80 -f /etc/varnish/default.vcl -n varnish -p esi_limit=1 -s mse4,/etc/varnish/mse4.conf ports: - "8080:80" @@ -29,18 +29,18 @@ services: condition: service_completed_successfully image: varnish/varnish-enterprise user: root + profiles: [varnish] varnish-otel: image: varnish/varnish-enterprise + profiles: [varnish] command: varnish-otel volumes: - workdir:/var/lib/varnish depends_on: - varnish environment: - OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: http://loki:3100/otlp/v1/logs - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: http://tempo:4318/v1/traces - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: http://prometheus:9090/api/v1/otlp/v1/metrics + OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 OTEL_EXPORTER_OTLP_PROTOCOL: http/protobuf OTEL_SERVICE_NAME: varnish OTEL_VARNISH_WORKDIR: varnish From aeb0c324737cdea8093a7c495b5952858afe002d Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:55:30 +0200 Subject: [PATCH 11/14] Remove auth from grafana.ini --- .../grafana-monitoring-otel/conf/grafana/grafana.ini | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/grafana.ini b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/grafana.ini index ff161a5..10c09b1 100644 --- a/docker-compose-examples/grafana-monitoring-otel/conf/grafana/grafana.ini +++ b/docker-compose-examples/grafana-monitoring-otel/conf/grafana/grafana.ini @@ -1,14 +1,3 @@ -[security] -admin_user = admin -admin_password = password - -#[auth] -#disable_login_form = true -# -#[auth.anonymous] -#enabled = true -#org_role = Admin - [dashboards] min_refresh_interval = 10s default_home_dashboard_path = /etc/grafana/provisioning/dashboards/varnish_metrics.json From fefb3c936e246ef63f96fe761f510c30ea567c8d Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:56:14 +0200 Subject: [PATCH 12/14] Add otel-collector service, introduce varnish profile & other fixes --- .../compose-common.yaml | 70 +++++++++++++++---- 1 file changed, 55 insertions(+), 15 deletions(-) diff --git a/docker-compose-examples/grafana-monitoring-otel/compose-common.yaml b/docker-compose-examples/grafana-monitoring-otel/compose-common.yaml index 48d2f8d..9942559 100755 --- a/docker-compose-examples/grafana-monitoring-otel/compose-common.yaml +++ b/docker-compose-examples/grafana-monitoring-otel/compose-common.yaml @@ -1,6 +1,7 @@ services: load_generator: image: curlimages/curl + profiles: [varnish] volumes: - ./src/load_generator.sh:/usr/bin/load_generator command: /usr/bin/load_generator @@ -9,12 +10,11 @@ services: origin-files: &origin command: /app/main origin-files + profiles: [varnish] volumes: - ./data:/orig_data environment: &otel_env - OTEL_EXPORTER_OTLP_LOGS_ENDPOINT: http://loki:3100/otlp/v1/logs - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: http://tempo:4318/v1/traces - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: http://prometheus:9090/api/v1/otlp/v1/metrics + OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 build: dockerfile_inline: | FROM golang @@ -28,28 +28,68 @@ services: <<: *origin command: /app/main origin-esi + otel-collector: + image: otel/opentelemetry-collector-contrib:0.116.1 + container_name: otel-collector + command: ["--config=/etc/otelcol/otel-collector-config.yaml"] + volumes: + - ./conf/otel-collector-config.yaml:/etc/otelcol/otel-collector-config.yaml:ro + ports: + - "4318:4318" # OTLP HTTP receiver (exposed to host) + - "4317:4317" # OTLP gRPC receiver (also exposed for convenience) + - "8888:8888" # Collector self-metrics + depends_on: + - loki + - prometheus + - tempo + grafana: image: grafana/grafana-enterprise - ports: - - 3000:3000 + container_name: grafana environment: - - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor + - GF_AUTH_ANONYMOUS_ENABLED=true + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin + - GF_AUTH_DISABLE_LOGIN_FORM=true + - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor,metricsSummary + - GF_INSTALL_PLUGINS=grafana-exploretraces-app volumes: - ./conf/grafana/grafana.ini:/etc/grafana/grafana.ini - - ./conf/grafana/provisioning:/etc/grafana/provisioning/ + - ./conf/grafana/provisioning:/etc/grafana/provisioning:ro + ports: + - "3000:3000" + depends_on: + - loki + - prometheus + - tempo tempo: - image: grafana/tempo:latest - command: "-config.file=/etc/tempo.yaml" + image: grafana/tempo:2.7.0 + container_name: tempo + command: -config.file=/etc/tempo/tempo-config.yaml volumes: - - ./conf/tempo.yaml:/etc/tempo.yaml + - ./conf/tempo-config.yaml:/etc/tempo/tempo-config.yaml:ro + ports: + - "3200:3200" prometheus: - image: prom/prometheus:v3 + image: prom/prometheus:v3.1.0 + container_name: prometheus + command: + - --config.file=/etc/prometheus/prometheus.yaml + - --web.enable-otlp-receiver + - --web.enable-remote-write-receiver + - --enable-feature=native-histograms volumes: - - ./conf/prometheus.yml:/etc/prometheus/prometheus.yml - command: --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles --web.enable-otlp-receiver --web.enable-remote-write-receiver --enable-feature=native-histograms + - ./conf/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro + ports: + - "9090:9090" loki: - image: grafana/loki:3.1.0 - command: -config.file=/etc/loki/local-config.yaml + image: grafana/loki:3.3.2 + container_name: loki + command: -config.file=/etc/loki/loki-config.yaml + volumes: + - ./conf/loki-config.yaml:/etc/loki/loki-config.yaml:ro + ports: + - "3100:3100" + From 4ba09ab5dcdf2ada4ab7d20fcc7fb85171fbd2a0 Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:56:39 +0200 Subject: [PATCH 13/14] Introduce profiles & explain standalone version --- .../grafana-monitoring-otel/README.md | 110 ++++++++++++++++-- 1 file changed, 102 insertions(+), 8 deletions(-) diff --git a/docker-compose-examples/grafana-monitoring-otel/README.md b/docker-compose-examples/grafana-monitoring-otel/README.md index 79b86f3..f99e84c 100644 --- a/docker-compose-examples/grafana-monitoring-otel/README.md +++ b/docker-compose-examples/grafana-monitoring-otel/README.md @@ -3,22 +3,110 @@ Using `opentelemetry` simplifies the process quite a bit and notably introduces # Getting started +## Standalone OpenTelemetry & Grafana setup + +If you want to deploy a standalone OpenTelemetry stack you can point any OTLP-emitting workload at, simply run the following command: + +```sh +docker compose up -d +``` + +To tear down the environment, run the following command: + +```sh +docker compose down -v +``` + +### Accessing Grafana + +Once the containers are healthy, open Grafana at [http://localhost:3000](http://localhost:3000). No credentials are needed, and anonymous access is granted with admin privileges. The Prometheus, Loki and Tempo datasources are already configured under **Connections → Data sources**, and you can use the **Explore** tab to query each backend. + +### Sending telemetry data + +The following ports are published to the Docker host: + +| Service | Endpoint | Purpose | +| -------------- | -------------------------------------------------------------- | ------------------------ | +| Grafana | [http://localhost:3000](http://localhost:3000) | UI | +| OTel Collector | [http://localhost:4318](http://localhost:4318) | OTLP/HTTP receiver | +| OTel Collector | `localhost:4317` | OTLP/gRPC receiver | +| OTel Collector | [http://localhost:8888/metrics](http://localhost:8888/metrics) | Collector self-metrics | +| Prometheus | [http://localhost:9090](http://localhost:9090) | Prometheus UI / API | +| Loki | [http://localhost:3100](http://localhost:3100) | Loki HTTP API | +| Tempo | [http://localhost:3200](http://localhost:3200) | Tempo HTTP API | + +You can send telemetry data to the specific services (Prometheus, Loki & Tempo) by defining the individual `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT`, `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` & `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` environment variables. + +However, there's also an OTel Collector service that captures the different types of telemetry data and forwards that data to the corresponding service (Prometheus, Loki & Tempo). It only requires a single OTLP endpoint and can simply by configured through the `OTEL_EXPORTER_OTLP_ENDPOINT` environment variable. + +#### From a Docker container on the same compose network + +Within this compose network, services can address each other by container name on the internal ports: + +- `http://otel-collector:4318` (OTLP/HTTP) +- `otel-collector:4317` (OTLP/gRPC) +- `http://grafana:3000` +- `http://prometheus:9090` +- `http://loki:3100` +- `http://tempo:3200` + + +Here's an example: + +```sh +export OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318 +export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf +``` + +#### From your host system + +If you're sending telemetry data from your host system, the port forwarding ensures the exposed services are available via `localhost`. + +Here's an example: + +```sh +export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 +export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf +``` + +#### From another Docker container + +If your workload runs in a container that is not part of this compose project (for example, a separate `docker compose` stack or a one-off `docker run`), it cannot resolve `otel-collector` or use `localhost:4318` directly. + +Use `host.docker.internal` to reach the published ports on the host: + +```sh +export OTEL_EXPORTER_OTLP_ENDPOINT=http://host.docker.internal:4318 +export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf +``` + ## Varnish Cache -- run "docker compose up -d" -- go to http://localhost:3000 -- login with `admin:password` +If you want to use this OpenTelemetry stack in conjunction with Varnish and automatically generate telemetry data, run the following command: + +```sh +docker compose --profile varnish up -d +``` -You should see the main dashboard, and you can also use the `Explore` tab to discover more metrics, or check the `Varnish logs` dashboard. +The `load_generator` service will automatically send traffic to Varnish, which means logs, metrics and traces will be available in Grafana. + +You can access Grafana on [http://localhost:3000](http://localhost:3000) without the need for any credentials. You should see the main dashboard, and you can also use the `Explore` tab to discover more metrics, or check the `Varnish logs` dashboard. ![Main dashboard](../../.assets/vc-dashboard.png) ![Main dashboard](../../.assets/logs-dashboard.png) +To tear down the environment, run the following command: + +```sh +docker compose --profile varnish down -v +``` + ## Varnish Enterprise -- place the license file ( `varnish-enterprise.lic`, you can ask for one [here](https://www.varnish-software.com/contact-us/)) in `conf/`. The license should enable both `vmod-otel` and `mse4`. -- run "docker compose -f compose-plus.yaml up -d" -- go to http://localhost:3000 -- login with `admin:password` +If you want to use the OpenTelemetry stack with Varnish Enterprise instead, follow these instructions: + +- Place the license file ( `varnish-enterprise.lic`, you can ask for one [here](https://www.varnish-software.com/contact-us/)) in `conf/`. The license should enable both `vmod-otel` and `mse4`. +- Run `docker compose -f compose-enterprise.yaml --profile varnish up -d` +- Access Grafana via [http://localhost:3000](http://localhost:3000) As for the Cache option, you will land on the main dashboard, but you should check the `Varnish Enterprise Metrics` dashboard which offer more in-depth metrics and support for backend health. @@ -26,3 +114,9 @@ As for the Cache option, you will land on the main dashboard, but you should che ![Main dashboard](../../.assets/ve-trace.png) ![Main dashboard](../../.assets/ve-service-graph.png) The `Explore` tab will allow you to check on `Tempo` and traces, notably the service graph that gets generated automatically by the traces. + +To tear down the environment, run the following command: + +```sh +docker compose --profile varnish down -v +``` \ No newline at end of file From 6b26f6afc95324114f03ecbf57c1faef8948b33b Mon Sep 17 00:00:00 2001 From: ThijsFeryn Date: Tue, 12 May 2026 11:59:04 +0200 Subject: [PATCH 14/14] Ignore Varnish Enterprise license file --- docker-compose-examples/grafana-monitoring-otel/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose-examples/grafana-monitoring-otel/.gitignore b/docker-compose-examples/grafana-monitoring-otel/.gitignore index 8e8ca31..f4b31af 100644 --- a/docker-compose-examples/grafana-monitoring-otel/.gitignore +++ b/docker-compose-examples/grafana-monitoring-otel/.gitignore @@ -2,3 +2,4 @@ *.deb .env .DS_Store +varnish-enterprise.lic