{{- $Values := (.helm).Values | default .Values }} {{- $clusterLabel := ($Values.global).clusterLabel | default "cluster" }} {{- $multicluster := ((($Values.grafana).sidecar).dashboards).multicluster | default false }} {{- $defaultDatasource := "prometheus" -}} {{- range (((($Values.grafana).sidecar).datasources).victoriametrics | default list) }} {{- if and .isDefault .type }}{{ $defaultDatasource = .type }}{{- end }} {{- end }} condition: {{ $Values.kubeProxy.enabled }} editable: false links: - asDropdown: true includeVars: true keepTime: true tags: - kubernetes-mixin targetBlank: false title: Kubernetes type: dashboards panels: - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: unit: none gridPos: h: 7 w: 4 x: 0 'y': 0 id: 1 interval: 1m options: colorMode: none pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(up{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy"}) instant: true title: Up type: stat - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: ops gridPos: h: 7 w: 10 x: 4 'y': 0 id: 2 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(kubeproxy_sync_proxy_rules_duration_seconds_count{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy", instance=~"$instance"}[$__rate_interval])) legendFormat: rate title: Rules Sync Rate type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: s gridPos: h: 7 w: 10 x: 14 'y': 0 id: 3 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: histogram_quantile(0.99,rate(kubeproxy_sync_proxy_rules_duration_seconds_bucket{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy", instance=~"$instance"}[$__rate_interval])) legendFormat: '{{`{{`}}instance{{`}}`}}' title: Rules Sync Latency 99th Quantile type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: ops gridPos: h: 7 w: 12 x: 0 'y': 7 id: 4 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(kubeproxy_network_programming_duration_seconds_count{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy", instance=~"$instance"}[$__rate_interval])) legendFormat: rate title: Network Programming Rate type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: s gridPos: h: 7 w: 12 x: 12 'y': 7 id: 5 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: histogram_quantile(0.99, sum(rate(kubeproxy_network_programming_duration_seconds_bucket{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy", instance=~"$instance"}[$__rate_interval])) by (instance, le)) legendFormat: '{{`{{`}}instance{{`}}`}}' title: Network Programming Latency 99th Quantile type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: ops gridPos: h: 7 w: 8 x: 0 'y': 14 id: 6 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(rest_client_requests_total{ {{ $clusterLabel }}=~"$cluster",job="kube-proxy", instance=~"$instance",code=~"2.."}[$__rate_interval])) legendFormat: 2xx - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(rest_client_requests_total{ {{ $clusterLabel }}=~"$cluster",job="kube-proxy", instance=~"$instance",code=~"3.."}[$__rate_interval])) legendFormat: 3xx - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(rest_client_requests_total{ {{ $clusterLabel }}=~"$cluster",job="kube-proxy", instance=~"$instance",code=~"4.."}[$__rate_interval])) legendFormat: 4xx - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: sum(rate(rest_client_requests_total{ {{ $clusterLabel }}=~"$cluster",job="kube-proxy", instance=~"$instance",code=~"5.."}[$__rate_interval])) legendFormat: 5xx title: Kube API Request Rate type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: ops gridPos: h: 7 w: 16 x: 8 'y': 14 id: 7 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy",instance=~"$instance",verb="POST"}[$__rate_interval])) by (verb, le)) legendFormat: '{{`{{`}}verb{{`}}`}}' title: Post Request Latency 99th Quantile type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: s gridPos: h: 7 w: 24 x: 0 'y': 21 id: 8 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy", instance=~"$instance", verb="GET"}[$__rate_interval])) by (verb, le)) legendFormat: '{{`{{`}}verb{{`}}`}}' title: Get Request Latency 99th Quantile type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: bytes gridPos: h: 7 w: 8 x: 0 'y': 28 id: 9 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: process_resident_memory_bytes{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy",instance=~"$instance"} legendFormat: '{{`{{`}}instance{{`}}`}}' title: Memory type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: short gridPos: h: 7 w: 8 x: 8 'y': 28 id: 10 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: rate(process_cpu_seconds_total{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy",instance=~"$instance"}[$__rate_interval]) legendFormat: '{{`{{`}}instance{{`}}`}}' title: CPU usage type: timeseries - datasource: type: {{ $defaultDatasource }} uid: -- Mixed -- fieldConfig: defaults: custom: fillOpacity: 10 showPoints: never spanNulls: true unit: short gridPos: h: 7 w: 8 x: 16 'y': 28 id: 11 interval: 1m options: legend: asTable: true calcs: - lastNotNull displayMode: table placement: right showLegend: true tooltip: mode: single pluginVersion: v11.4.0 targets: - datasource: type: {{ $defaultDatasource }} uid: ${datasource} expr: go_goroutines{ {{ $clusterLabel }}=~"$cluster", job="kube-proxy",instance=~"$instance"} legendFormat: '{{`{{`}}instance{{`}}`}}' title: Goroutines type: timeseries refresh: 10s schemaVersion: 39 tags: - kubernetes-mixin - vm-k8s-stack templating: list: - current: selected: true text: default value: default hide: 0 label: Data source name: datasource query: {{ $defaultDatasource }} regex: '' type: datasource - datasource: type: prometheus uid: ${datasource} hide: {{ ternary 0 2 $multicluster }} label: cluster name: cluster query: {{ ternary (b64dec "ImxhYmVsX3ZhbHVlcyh1cHtqb2I9XCJrdWJlLXByb3h5XCJ9LCBjbHVzdGVyKSI=" | replace "cluster" $clusterLabel) ".*" $multicluster }} refresh: 2 sort: 1 type: {{ ternary "query" "constant" $multicluster }} - allValue: .+ datasource: type: prometheus uid: ${datasource} hide: 0 includeAll: true label: instance name: instance query: label_values(up{job="kube-proxy", {{ $clusterLabel }}=~"$cluster", job="kube-proxy"}, instance) refresh: 2 type: query time: from: now-1h to: now timezone: {{ default "UTC" ($Values.defaultDashboards).defaultTimezone }} title: Kubernetes / Proxy uid: 632e265de029684c40b21cb76bca4f94