Files
wbsong111 6290322f1b Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster,
  victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics,
  prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready)
- ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays
- doc/victoria-metrics-architecture.md, define-chart-resources updates
- includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 11:10:51 +09:00

13 lines
24 KiB
YAML

apiVersion: v1
data:
dashboard-k8s-nodes.json: "{\n \"kind\": \"Dashboard\",\n \"metadata\": {\"name\": \"k8s-node-overview\", \"project\": \"monitoring\"},\n \"spec\": {\n \"display\": {\"name\": \"Kubernetes Node Overview\"},\n \"duration\": \"1h\",\n \"refreshInterval\": \"30s\",\n \"variables\": [\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"instance\",\n \"display\": {\"name\": \"Node\"},\n \"allowAllValue\": true,\n \"defaultValue\": \"$__all\",\n \"plugin\": {\n \"kind\": \"PrometheusLabelValuesVariable\",\n \"spec\": {\n \"labelName\": \"instance\",\n \"matchers\": [\"node_uname_info\"]\n }\n }\n }\n }\n ],\n \"panels\": {\n \"cpu-usage\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"CPU 사용률 (%)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"percent\"}, \"max\": 100}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"100 - (avg by(instance) (rate(node_cpu_seconds_total{mode=\\\"idle\\\",instance=~\\\"$instance\\\"}[5m])) * 100)\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"memory-usage\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"메모리 사용률 (%)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"percent\"}, \"max\": 100}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"(1 - (node_memory_MemAvailable_bytes{instance=~\\\"$instance\\\"} / node_memory_MemTotal_bytes{instance=~\\\"$instance\\\"})) * 100\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"disk-io-read\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"디스크 읽기\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"bytes/sec\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by(instance) (rate(node_disk_read_bytes_total{instance=~\\\"$instance\\\",device!~\\\"dm-.*\\\"}[5m]))\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"disk-io-write\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"디스크 쓰기\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"bytes/sec\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by(instance) (rate(node_disk_written_bytes_total{instance=~\\\"$instance\\\",device!~\\\"dm-.*\\\"}[5m]))\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"network-rx\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"네트워크 수신\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"bytes/sec\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by(instance) (rate(node_network_receive_bytes_total{instance=~\\\"$instance\\\",device!~\\\"lo|docker.*|veth.*|cni.*\\\"}[5m]))\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"network-tx\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"네트워크 송신\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"bytes/sec\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by(instance) (rate(node_network_transmit_bytes_total{instance=~\\\"$instance\\\",device!~\\\"lo|docker.*|veth.*|cni.*\\\"}[5m]))\",\n \"seriesNameFormat\": \"{{instance}}\"\n }\n }\n }\n }\n ]\n }\n }\n },\n \"layouts\": [\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"CPU / Memory\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/cpu-usage\"}},\n {\"x\": 12, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/memory-usage\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Disk / Network\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/disk-io-read\"}},\n {\"x\": 12, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/disk-io-write\"}},\n {\"x\": 0, \"y\": 8, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/network-rx\"}},\n {\"x\": 12, \"y\": 8, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/network-tx\"}}\n ]\n }\n }\n ]\n }\n}\n"
dashboard-k8s-pod-diagnostics.json: "{\n \"kind\": \"Dashboard\",\n \"metadata\": {\"name\": \"k8s-pod-diagnostics\", \"project\": \"monitoring\"},\n \"spec\": {\n \"display\": {\"name\": \"Kubernetes Pod 진단\"},\n \"duration\": \"1h\",\n \"refreshInterval\": \"30s\",\n \"variables\": [\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"namespace\",\n \"display\": {\"name\": \"Namespace\"},\n \"allowAllValue\": false,\n \"plugin\": {\n \"kind\": \"VictoriaLogsFieldValuesVariable\",\n \"spec\": {\n \"field\": \"namespace\",\n \"query\": \"*\",\n \"datasource\": {\"kind\": \"VictoriaLogsDatasource\", \"name\": \"victorialogs\"}\n }\n }\n }\n },\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"pod\",\n \"display\": {\"name\": \"Pod\"},\n \"allowAllValue\": false,\n \"plugin\": {\n \"kind\": \"VictoriaLogsFieldValuesVariable\",\n \"spec\": {\n \"field\": \"pod_name\",\n \"query\": \"namespace:$namespace\",\n \"datasource\": {\"kind\": \"VictoriaLogsDatasource\", \"name\": \"victorialogs\"}\n }\n }\n }\n }\n ],\n \"panels\": {\n \"pod-logs\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Pod 로그\"},\n \"plugin\": {\"kind\": \"LogsTable\", \"spec\": {}},\n \"queries\": [\n {\n \"kind\": \"LogQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"VictoriaLogsLogQuery\",\n \"spec\": {\n \"query\": \"namespace:$namespace pod_name:$pod\",\n \"datasource\": {\"kind\": \"VictoriaLogsDatasource\", \"name\": \"victorialogs\"}\n }\n }\n }\n }\n ]\n }\n },\n \"pod-events\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Pod 이벤트\"},\n \"plugin\": {\"kind\": \"LogsTable\", \"spec\": {}},\n \"queries\": [\n {\n \"kind\": \"LogQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"VictoriaLogsLogQuery\",\n \"spec\": {\n \"query\": \"k8s.namespace.name:$namespace object.involvedObject.name:$pod !type:DELETED | copy object.message _msg\",\n \"datasource\": {\"kind\": \"VictoriaLogsDatasource\", \"name\": \"victorialogs\"}\n }\n }\n }\n }\n ]\n }\n }\n },\n \"layouts\": [\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Pod 로그\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 24, \"height\": 16, \"content\": {\"$ref\": \"#/spec/panels/pod-logs\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Pod 이벤트\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 24, \"height\": 12, \"content\": {\"$ref\": \"#/spec/panels/pod-events\"}}\n ]\n }\n }\n ]\n }\n}\n"
dashboard-k8s-pod-history.json: "{\n \"kind\": \"Dashboard\",\n \"metadata\": {\"name\": \"k8s-pod-history\", \"project\": \"monitoring\"},\n \"spec\": {\n \"display\": {\"name\": \"Kubernetes Pod 재배포 이력\"},\n \"duration\": \"24h\",\n \"refreshInterval\": \"60s\",\n \"variables\": [\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"namespace\",\n \"display\": {\"name\": \"Namespace\"},\n \"allowAllValue\": false,\n \"plugin\": {\n \"kind\": \"PrometheusLabelValuesVariable\",\n \"spec\": {\n \"labelName\": \"namespace\",\n \"matchers\": [\"kube_pod_info\"]\n }\n }\n }\n },\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"workload\",\n \"display\": {\"name\": \"Deployment\"},\n \"allowAllValue\": false,\n \"plugin\": {\n \"kind\": \"PrometheusLabelValuesVariable\",\n \"spec\": {\n \"labelName\": \"deployment\",\n \"matchers\": [\"kube_deployment_spec_replicas{namespace=\\\"$namespace\\\"}\"]\n }\n }\n }\n }\n ],\n \"panels\": {\n \"pod-running-history\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Pod 실행 이력 (1 = 실행 중, 선 끊김 = 삭제됨)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"decimal\"}, \"min\": 0, \"max\": 1.2}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"kube_pod_status_phase{namespace=\\\"$namespace\\\",phase=\\\"Running\\\",pod=~\\\"$workload-.*\\\"}\",\n \"seriesNameFormat\": \"{{pod}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"pod-restarts\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"컨테이너 재시작 횟수\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"decimal\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by (pod) (kube_pod_container_status_restarts_total{namespace=\\\"$namespace\\\",pod=~\\\"$workload-.*\\\",container!=\\\"POD\\\"})\",\n \"seriesNameFormat\": \"{{pod}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"pod-events\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"배포 관련 이벤트 (Deployment / ReplicaSet / Pod)\"},\n \"plugin\": {\"kind\": \"LogsTable\", \"spec\": {}},\n \"queries\": [\n {\n \"kind\": \"LogQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"VictoriaLogsLogQuery\",\n \"spec\": {\n \"query\": \"k8s.namespace.name:$namespace object.involvedObject.name:~\\\"^$workload\\\" !type:DELETED | copy object.message _msg\",\n \"datasource\": {\"kind\": \"VictoriaLogsDatasource\", \"name\": \"victorialogs\"}\n }\n }\n }\n }\n ]\n }\n }\n },\n \"layouts\": [\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Pod 실행 이력\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 24, \"height\": 10, \"content\": {\"$ref\": \"#/spec/panels/pod-running-history\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"재시작 이력\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 24, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/pod-restarts\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"배포 관련 이벤트\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 24, \"height\": 14, \"content\": {\"$ref\": \"#/spec/panels/pod-events\"}}\n ]\n }\n }\n ]\n }\n}\n"
dashboard-k8s-workloads.json: "{\n \"kind\": \"Dashboard\",\n \"metadata\": {\"name\": \"k8s-workloads\", \"project\": \"monitoring\"},\n \"spec\": {\n \"display\": {\"name\": \"Kubernetes Workloads\"},\n \"duration\": \"1h\",\n \"refreshInterval\": \"30s\",\n \"variables\": [\n {\n \"kind\": \"ListVariable\",\n \"spec\": {\n \"name\": \"namespace\",\n \"display\": {\"name\": \"Namespace\"},\n \"allowAllValue\": true,\n \"defaultValue\": \"$__all\",\n \"plugin\": {\n \"kind\": \"PrometheusLabelValuesVariable\",\n \"spec\": {\n \"labelName\": \"namespace\",\n \"matchers\": [\"kube_pod_info\"]\n }\n }\n }\n }\n ],\n \"panels\": {\n \"pod-count\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Running Pod 수\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"decimal\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"count by(namespace) (kube_pod_status_phase{phase=\\\"Running\\\",namespace=~\\\"$namespace\\\"})\",\n \"seriesNameFormat\": \"{{namespace}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"pod-restarts\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"컨테이너 재시작 (1h)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"decimal\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"sum by(namespace, pod) (increase(kube_pod_container_status_restarts_total{namespace=~\\\"$namespace\\\"}[1h])) > 0\",\n \"seriesNameFormat\": \"{{namespace}}/{{pod}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"cpu-usage\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Pod CPU 사용량 (상위 10)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"decimal\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"topk(10, sum by(namespace, pod) (rate(container_cpu_usage_seconds_total{container!=\\\"\\\",namespace=~\\\"$namespace\\\"}[5m])))\",\n \"seriesNameFormat\": \"{{namespace}}/{{pod}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"memory-usage\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Pod 메모리 사용량 (상위 10)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"bytes\"}}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"topk(10, sum by(namespace, pod) (container_memory_working_set_bytes{container!=\\\"\\\",namespace=~\\\"$namespace\\\"}))\",\n \"seriesNameFormat\": \"{{namespace}}/{{pod}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"deployment-ready\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"Deployment 준비 비율 (%)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"percent\"}, \"max\": 100}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"kube_deployment_status_replicas_ready{namespace=~\\\"$namespace\\\"} / kube_deployment_spec_replicas{namespace=~\\\"$namespace\\\"} * 100\",\n \"seriesNameFormat\": \"{{namespace}}/{{deployment}}\"\n }\n }\n }\n }\n ]\n }\n },\n \"pvc-usage\": {\n \"kind\": \"Panel\",\n \"spec\": {\n \"display\": {\"name\": \"PVC 사용률 (%)\"},\n \"plugin\": {\n \"kind\": \"TimeSeriesChart\",\n \"spec\": {\n \"legend\": {\"position\": \"bottom\", \"mode\": \"list\"},\n \"yAxis\": {\"format\": {\"unit\": \"percent\"}, \"max\": 100}\n }\n },\n \"queries\": [\n {\n \"kind\": \"TimeSeriesQuery\",\n \"spec\": {\n \"plugin\": {\n \"kind\": \"PrometheusTimeSeriesQuery\",\n \"spec\": {\n \"query\": \"(1 - (kubelet_volume_stats_available_bytes{namespace=~\\\"$namespace\\\"} / kubelet_volume_stats_capacity_bytes{namespace=~\\\"$namespace\\\"})) * 100\",\n \"seriesNameFormat\": \"{{namespace}}/{{persistentvolumeclaim}}\"\n }\n }\n }\n }\n ]\n }\n }\n },\n \"layouts\": [\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Pod 현황\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/pod-count\"}},\n {\"x\": 12, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/pod-restarts\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"리소스 사용량\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/cpu-usage\"}},\n {\"x\": 12, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/memory-usage\"}}\n ]\n }\n },\n {\n \"kind\": \"Grid\",\n \"spec\": {\n \"display\": {\"title\": \"Deployment / PVC\", \"collapse\": {\"open\": true}},\n \"items\": [\n {\"x\": 0, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/deployment-ready\"}},\n {\"x\": 12, \"y\": 0, \"width\": 12, \"height\": 8, \"content\": {\"$ref\": \"#/spec/panels/pvc-usage\"}}\n ]\n }\n }\n ]\n }\n}\n"
kind: ConfigMap
metadata:
labels:
perses.dev/resource: 'true'
name: perses-dashboards
namespace: monitoring