Files
wonderwall/hack/dashboard.yaml
Morten Lied Johansen 43dd8d7926 More, correct, metrics
Co-authored-by: Trong Huu Nguyen <trong.huu.nguyen@nav.no>
Co-authored-by: Sindre Rødseth Hansen <sindre.rodseth.hansen@nav.no>
2021-10-01 10:28:44 +02:00

120 lines
3.8 KiB
YAML

title: Wonderwall
editable: true
tags: [generated, yaml]
auto_refresh: 1m
time: ["now-24h", "now"]
timezone: default # valid values are: utc, browser, default
# Render to JSON using https://github.com/K-Phoen/grabana v0.17.0 or newer
# Import into Grafana using UI (remember to select folder)
variables:
- custom:
name: env
default: dev
values_map:
dev: dev
prod: prod
- query:
name: namespace
label: Namespace
datasource: $env-gcp
request: "label_values(kube_pod_container_info{container=\"wonderwall\"}, namespace)"
include_all: true
default_all: true
all_value: ".*"
- datasource:
name: ds
type: prometheus
regex: $env-gcp
include_all: true
hide: variable
- query:
name: redis_op
label: Redis Operation
datasource: $env-gcp
request: "label_values(wonderwall_redis_latency_bucket, operation)"
include_all: true
default_all: true
hide: variable
rows:
- name: Versions
collapse: false
panels:
- single_stat:
title: Sidecar versions in use
datasource: $ds
transparent: true
span: 12
targets:
- prometheus:
query: count(label_replace(kube_pod_container_info{container="wonderwall",namespace=~"$namespace"}, "version", "$1", "image", ".*:(.*)")) by (version)
legend: "{{ version }}"
instant: true
- name: Resource usage
collapse: false
panels:
- graph:
title: Memory usage - $ds
datasource: $ds
transparent: true
targets:
- prometheus:
query: sum(container_memory_working_set_bytes{container="wonderwall",namespace=~"$namespace"}) by (pod, namespace)
legend: "working set {{ pod }} in {{ namespace }}"
- prometheus:
query: sum(container_memory_usage_bytes{container="wonderwall",namespace=~"$namespace"}) by (pod, namespace)
legend: "Resident set size {{ pod }} in {{ namespace }}"
- graph:
title: CPU usage - $ds
datasource: $ds
transparent: true
targets:
- prometheus:
query: sum(irate(container_cpu_usage_seconds_total{container="wonderwall",namespace=~"$namespace"}[2m])) by (pod, namespace)
legend: "{{ pod }} in {{ namespace }}"
- name: HTTP
collapse: false
panels:
- graph:
title: HTTP requests
datasource: $ds
transparent: true
targets:
- prometheus:
query: sum(rate(requests_total{job="wonderwall",namespace=~"$namespace"}[5m])) by (code)
legend: "{{ code }}"
- graph:
title: HTTP latency
datasource: $ds
transparent: true
targets:
- prometheus:
query: sum(irate(request_duration_seconds_sum{job="wonderwall",namespace=~"$namespace"}[2m])) by (path)
legend: "{{ path }}"
- name: Redis Latency
collapse: false
panels:
- heatmap:
# Must be done manually in Grafana after import: Set max datapoints to 25
title: $redis_op
datasource: $ds
repeat: redis_op
data_format: time_series_buckets
hide_zero_buckets: true
transparent: true
span: 4
tooltip:
show: true
showhistogram: false
decimals: 0
yaxis:
unit: "dtdurations"
decimals: 0
targets:
- prometheus:
query: sum(increase(wonderwall_redis_latency_bucket{operation="$redis_op",namespace=~"$namespace"}[$__interval])) by (le)
legend: "{{ le }}"
format: heatmap