diff --git a/README.md b/README.md index 1f4af1d..0402c0e 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,18 @@ # Kubernetes Cost Report + ![gopherbadger-tag-do-not-edit](https://img.shields.io/badge/Go%20Coverage-76%25-brightgreen.svg?longCache=true&style=flat) [![Docker](https://github.com/empathyco/platform-cost-report/actions/workflows/docker.yml/badge.svg)](https://github.com/empathyco/platform-cost-report/actions/workflows/docker.yml) [![Gosec](https://github.com/empathyco/platform-cost-report/actions/workflows/gosec.yaml/badge.svg)](https://github.com/empathyco/platform-cost-report/actions/workflows/gosec.yaml) [![Reviewdog](https://github.com/empathyco/platform-cost-report/actions/workflows/reviewdog.yml/badge.svg)](https://github.com/empathyco/platform-cost-report/actions/workflows/reviewdog.yml) + ## Deep Dive Explanation + [Kubernetes Cost Report](https://medium.com/empathyco/cloud-finops-part-4-kubernetes-cost-report-b4964be02dc3) + ## Architecture + ![](docs/diagram.png) + ## Requirements ```sh @@ -40,6 +46,7 @@ To be able to query for prices you should have the following permissions: ] } ``` + You could run the terraform code to create it. set the following variables to be able to run the code: @@ -62,6 +69,7 @@ make build ## Docker make docker ``` + For those who wants keep it simple and avoid install a lot of things: ```sh @@ -87,7 +95,7 @@ go run main.go | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | vcpu | virtual cpu | | memory | memory | @@ -100,7 +108,7 @@ go run main.go | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | vcpu | virtual cpu | | memory | memory | @@ -108,20 +116,22 @@ go run main.go | Description | description | | label_topology_kubernetes_io_zone | availability zone | | region | region | + ### instance_mem_price | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | unit | unit | | label_topology_kubernetes_io_zone | availability zone | | region | region | ### instance_cpu_price + | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | unit | unit | | label_topology_kubernetes_io_zone | availability zone | @@ -131,7 +141,7 @@ go run main.go | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | unit | unit | | label_topology_kubernetes_io_zone | availability zone | @@ -141,7 +151,7 @@ go run main.go | Name | Description | |----------------------------------------|-------------------| -| label_beta_kubernetes_io_instance_type | machine type | +| label_node_kubernetes_io_instance_type | machine type | | label_eks_amazonaws_com_capacity_type | instance type | | unit | unit | | label_topology_kubernetes_io_zone | availability zone | diff --git a/charts/kubernetes-cost-report/dashboards/exec-kubernetes-cost-report.json b/charts/kubernetes-cost-report/dashboards/exec-kubernetes-cost-report.json index 93d26fe..734bc5f 100644 --- a/charts/kubernetes-cost-report/dashboards/exec-kubernetes-cost-report.json +++ b/charts/kubernetes-cost-report/dashboards/exec-kubernetes-cost-report.json @@ -700,7 +700,7 @@ "id": "organize", "options": { "excludeByName": { - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -1309,7 +1309,7 @@ "id": "organize", "options": { "excludeByName": { - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, diff --git a/charts/kubernetes-cost-report/dashboards/kubernetes-cost-report.json b/charts/kubernetes-cost-report/dashboards/kubernetes-cost-report.json index 533891e..effc93d 100644 --- a/charts/kubernetes-cost-report/dashboards/kubernetes-cost-report.json +++ b/charts/kubernetes-cost-report/dashboards/kubernetes-cost-report.json @@ -156,7 +156,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sort_desc (\n sum by (label_beta_kubernetes_io_instance_type) (kube_node_labels{label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\"})\n)", + "expr": "sort_desc (\n sum by (label_node_kubernetes_io_instance_type) (kube_node_labels{label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\"})\n)", "instant": false, "interval": "", "legendFormat": "", @@ -168,7 +168,7 @@ { "id": "labelsToFields", "options": { - "valueLabel": "label_beta_kubernetes_io_instance_type" + "valueLabel": "label_node_kubernetes_io_instance_type" } } ], @@ -250,7 +250,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sort_desc (\n sum by (label_beta_kubernetes_io_instance_type) (kube_node_labels{label_eks_amazonaws_com_capacity_type=\"SPOT\"})\n)", + "expr": "sort_desc (\n sum by (label_node_kubernetes_io_instance_type) (kube_node_labels{label_eks_amazonaws_com_capacity_type=\"SPOT\"})\n)", "instant": false, "interval": "", "legendFormat": "", @@ -262,7 +262,7 @@ { "id": "labelsToFields", "options": { - "valueLabel": "label_beta_kubernetes_io_instance_type" + "valueLabel": "label_node_kubernetes_io_instance_type" } } ], @@ -882,7 +882,7 @@ "format": "time_series", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" } ], @@ -974,7 +974,7 @@ "hide": false, "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" }, { @@ -1039,11 +1039,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:spot_idle_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:on_demand_idle_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:spot_idle_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:on_demand_idle_mem_cost\n )\n [1d:1h])\n)\n)", + "expr": "sort_desc(\n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:spot_idle_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:on_demand_idle_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:spot_idle_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:on_demand_idle_mem_cost\n )\n [1d:1h])\n)\n)", "format": "time_series", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" } ], @@ -1131,11 +1131,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:spot_idle_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:on_demand_idle_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:spot_idle_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:on_demand_idle_mem_cost\n )\n [1d:1h])\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:spot_idle_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:on_demand_idle_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:spot_idle_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:on_demand_idle_mem_cost\n )\n [1d:1h])\n)", "hide": false, "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" }, { @@ -1201,11 +1201,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc (\n sum_over_time(\n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n \n\t # See description for label_replace\n\t label_replace(\n\t ((\n\t zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost\n\t - \n\t zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost\n\t ) > 0)\n\t OR\n\t ((\n\t capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost\n\t -\n\t capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost\n\t ) > 0)\n\t , \"resource\", \"CPU\", \"\",\"\")\n\t \n\t OR \n\t \n\t label_replace(\n\t ((\n\t zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost\n\t -\n\t zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost\n\t ) > 0)\n\t OR\n\t ((\n\t capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n\t -\n\t capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n\t ) > 0)\n\t , \"resource\", \"memory\", \"\",\"\")\n\n )\n [1d:1h])\n)", + "expr": "sort_desc (\n sum_over_time(\n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n \n\t # See description for label_replace\n\t label_replace(\n\t ((\n\t zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost\n\t - \n\t zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost\n\t ) > 0)\n\t OR\n\t ((\n\t capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost\n\t -\n\t capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost\n\t ) > 0)\n\t , \"resource\", \"CPU\", \"\",\"\")\n\t \n\t OR \n\t \n\t label_replace(\n\t ((\n\t zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost\n\t -\n\t zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost\n\t ) > 0)\n\t OR\n\t ((\n\t capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n\t -\n\t capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n\t ) > 0)\n\t , \"resource\", \"memory\", \"\",\"\")\n\n )\n [1d:1h])\n)", "format": "time_series", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" } ], @@ -1293,11 +1293,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum_over_time(\n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n \n # See description for label_replace\n label_replace(\n ((\n zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost\n - \n zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost\n ) > 0)\n OR\n ((\n capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost\n -\n capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost\n ) > 0)\n , \"resource\", \"CPU\", \"\",\"\")\n \n OR \n \n label_replace(\n ((\n zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost\n -\n zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost\n ) > 0)\n OR\n ((\n capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n -\n capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n ) > 0)\n , \"resource\", \"memory\", \"\",\"\")\n\n)\n[1d:1h])", + "expr": "sum_over_time(\n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n \n # See description for label_replace\n label_replace(\n ((\n zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost\n - \n zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost\n ) > 0)\n OR\n ((\n capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost\n -\n capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost\n ) > 0)\n , \"resource\", \"CPU\", \"\",\"\")\n \n OR \n \n label_replace(\n ((\n zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost\n -\n zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost\n ) > 0)\n OR\n ((\n capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n -\n capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost\n ) > 0)\n , \"resource\", \"memory\", \"\",\"\")\n\n)\n[1d:1h])", "format": "time_series", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" }, { @@ -1362,11 +1362,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:spot_shared_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:on_demand_shared_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:spot_shared_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:on_demand_shared_mem_cost\n )\n [1d:1h])\n )\n)", + "expr": "sort_desc(\n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:spot_shared_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:on_demand_shared_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:spot_shared_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:on_demand_shared_mem_cost\n )\n [1d:1h])\n )\n)", "format": "time_series", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" } ], @@ -1454,11 +1454,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:spot_shared_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:on_demand_shared_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:spot_shared_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:on_demand_shared_mem_cost\n )\n [1d:1h])\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (\n sum_over_time(\n (\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:spot_shared_cpu_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:on_demand_shared_cpu_cost\n OR\n zone_capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:spot_shared_mem_cost\n OR\n capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:on_demand_shared_mem_cost\n )\n [1d:1h])\n)", "hide": false, "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}-{{label_eks_amazonaws_com_capacity_type}}", "refId": "A" }, { @@ -3103,7 +3103,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\"})\n -\n (capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\"})\n -\n (capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", "format": "table", "instant": true, "interval": "", @@ -3118,7 +3118,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3182,11 +3182,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", "format": "table", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" } ], @@ -3197,7 +3197,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3261,11 +3261,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", "format": "table", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" } ], @@ -3276,7 +3276,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3341,7 +3341,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\"})\n -\n (capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\"})\n -\n (capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", "format": "table", "instant": true, "interval": "", @@ -3356,7 +3356,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3420,11 +3420,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\nsum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", + "expr": "sort_desc(\nsum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", "format": "table", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}} ", "refId": "A" } ], @@ -3435,7 +3435,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3499,11 +3499,11 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": false, - "expr": "sort_desc(\nsum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", + "expr": "sort_desc(\nsum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\"}\n\n\t)\n[1d:1h])\n)", "format": "table", "instant": true, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}} ", "refId": "A" } ], @@ -3514,7 +3514,7 @@ "options": { "excludeByName": { "Time": true, - "label_beta_kubernetes_io_instance_type": true, + "label_node_kubernetes_io_instance_type": true, "label_eks_amazonaws_com_capacity_type": true }, "indexByName": {}, @@ -3600,7 +3600,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, pod) (\n sum by (pod, node) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=~\"$namespace\", pod=~\"$pod\"})\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, pod) (\n sum by (pod, node) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=~\"$namespace\", pod=~\"$pod\"})\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", "instant": false, "interval": "", "legendFormat": "CPU Usage - {{pod}}", @@ -3609,7 +3609,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, pod) (\n cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{namespace=~\"$namespace\", pod=~\"$pod\"}\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, pod) (\n cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{namespace=~\"$namespace\", pod=~\"$pod\"}\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", "hide": false, "interval": "", "legendFormat": "CPU Requests - {{pod}}", @@ -3693,7 +3693,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, pod) (\n sum by (pod, node) (container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", name!=\"\"})\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, pod) (\n sum by (pod, node) (container_memory_working_set_bytes{namespace=\"$namespace\", pod=~\"$pod\", name!=\"\"})\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", "instant": false, "interval": "", "legendFormat": "Memory Usage - {{pod}} ", @@ -3702,7 +3702,7 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, pod) (\n cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{namespace=~\"$namespace\", pod=~\"$pod\"}\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", + "expr": "sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, pod) (\n cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{namespace=~\"$namespace\", pod=~\"$pod\"}\n * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) \n sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job=\"kube-state-metrics\"})\n)", "hide": false, "interval": "", "legendFormat": "Memory Requests - {{pod}} ", @@ -3786,9 +3786,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { @@ -3877,9 +3877,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", + "expr": "sort_desc(\n sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n label_replace(((\n (zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"SPOT\", \"\",\"\")\n OR\n label_replace(((\n (capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n -\n (capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"})\n ) > 0), \"cap\", \"ON_DEMAND\", \"\",\"\")\n )[1d:1h])\n)", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { @@ -3968,9 +3968,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", + "expr": "sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { @@ -4059,9 +4059,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", + "expr": "sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { @@ -4150,9 +4150,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", + "expr": "sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { @@ -4241,9 +4241,9 @@ { "datasource": "${DS_PROMETHEUS}", "exemplar": true, - "expr": "sum_over_time(\n\tsum by (label_beta_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", + "expr": "sum_over_time(\n\tsum by (label_node_kubernetes_io_instance_type, label_eks_amazonaws_com_capacity_type, pod) (\n\n\t\tzone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\t\tOR\n\t\tcapacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost{namespace=\"$namespace\", pod=~\"$pod\"}\n\n\t)\n[1d:1h])", "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_eks_amazonaws_com_capacity_type}} - {{pod}}", "refId": "A" }, { diff --git a/charts/kubernetes-cost-report/templates/prometheusrules.yaml b/charts/kubernetes-cost-report/templates/prometheusrules.yaml index d687667..a69e2fc 100644 --- a/charts/kubernetes-cost-report/templates/prometheusrules.yaml +++ b/charts/kubernetes-cost-report/templates/prometheusrules.yaml @@ -15,126 +15,126 @@ spec: rules: - expr: |- ( - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (kube_node_labels{job="kube-state-metrics"}) - * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cost_all{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (kube_node_labels{job="kube-state-metrics"}) + * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cost_all{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance:spot_instance_cost:cost - expr: |- - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) ( zone_capacity_instance:spot_instance_cost:cost ) record: capacity_instance:spot_instance_cost:cost - expr: |- ( - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (kube_node_labels{job="kube-state-metrics"}) - * on (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cost_all{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (kube_node_labels{job="kube-state-metrics"}) + * on (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cost_all{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance:on_demand_instance_cost:cost - expr: |- ( ( (sum by(namespace, node, pod) (cluster:namespace:pod_memory:active:kube_pod_container_resource_requests) /1024/1024/1024) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:spot_pod_mem_requests_cost - expr: |- ( ( (sum by(namespace, node, pod) (cluster:namespace:pod_memory:active:kube_pod_container_resource_requests) /1024/1024/1024) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_namespace_node_pod:pod_memory_requests_instance_mem_price:on_demand_pod_mem_requests_cost - expr: |- ( ( sum by(namespace, node, pod) (cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{label_eks_amazonaws_com_capacity_type="SPOT"}) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:spot_pod_cpu_requests_cost - expr: |- ( ( sum by(namespace, node, pod) (cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_namespace_node_pod:pod_cpu_requests_instance_cpu_price:on_demand_pod_cpu_requests_cost - expr: |- ( ( (sum by (namespace, node, pod) (container_memory_working_set_bytes{name!=""}) /1024/1024/1024) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:spot_pod_mem_usage_cost - expr: |- ( ( (sum by (namespace, node, pod) (container_memory_working_set_bytes{name!=""}) /1024/1024/1024) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_namespace_node_pod:pod_memory_usage_instance_mem_price:on_demand_pod_mem_usage_cost - expr: |- ( ( sum by(namespace, node, pod) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:spot_pod_cpu_usage_cost - expr: |- ( ( sum by(namespace, node, pod) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(namespace, node, pod) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_namespace_node_pod:pod_cpu_usage_instance_cpu_price:on_demand_pod_cpu_usage_cost - expr: |- @@ -148,14 +148,14 @@ spec: ) ) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) * ignoring (node, resource) group_left - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:spot_idle_cpu_cost @@ -170,14 +170,14 @@ spec: ) ) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) * ignoring (node, resource) group_left - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_cpu_price:on_demand_idle_cpu_cost @@ -193,14 +193,14 @@ spec: /1024/1024/1024 ) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) * ignoring (node, resource) group_left - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:spot_idle_mem_cost @@ -216,14 +216,14 @@ spec: /1024/1024/1024 ) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) * ignoring (node, resource) group_left - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_node_resource:kube_node_status_allocatable_idle_instance_mem_price:on_demand_idle_mem_cost @@ -238,14 +238,14 @@ spec: ) ) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(node, resource) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(node, resource) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:spot_shared_cpu_cost - expr: |- @@ -259,14 +259,14 @@ spec: ) ) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(node, resource) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(node, resource) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cpu_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_node_resource:kube_node_status_shared_instance_cpu_price:on_demand_shared_cpu_cost - expr: |- @@ -280,14 +280,14 @@ spec: ) ) - * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="SPOT"}) ) - * ignoring(node, resource) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(node, resource) group_left(label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) + sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="SPOT"}) ) record: zone_capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:spot_shared_mem_cost - expr: |- @@ -301,14 +301,14 @@ spec: ) ) - * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * on (node) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type, node) (kube_node_labels{job="kube-state-metrics", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) - * ignoring(node, resource) group_left(label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) + * ignoring(node, resource) group_left(label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) - sum by (label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) + sum by (label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_mem_price{job="kubernetes-cost-report", label_eks_amazonaws_com_capacity_type="ON_DEMAND"}) ) record: capacity_instance_node_resource:kube_node_status_shared_instance_mem_price:on_demand_shared_mem_cost {{- end }} diff --git a/cloud/aws.go b/cloud/aws.go index 1de3894..8a587a2 100644 --- a/cloud/aws.go +++ b/cloud/aws.go @@ -52,7 +52,7 @@ type SpotUnitPrice struct { } const ( - instanceType = "label_beta_kubernetes_io_instance_type" + instanceType = "label_node_kubernetes_io_instance_type" instanceOption = "label_eks_amazonaws_com_capacity_type" // CPU label. CPU = "vcpu" diff --git a/dashboard.json b/dashboard.json index bf520b6..774b39c 100644 --- a/dashboard.json +++ b/dashboard.json @@ -113,7 +113,7 @@ "targets": [ { "exemplar": true, - "expr": "sum(kube_node_labels{label_eks_amazonaws_com_capacity_type=\"SPOT\"}) by (label_beta_kubernetes_io_instance_type)", + "expr": "sum(kube_node_labels{label_eks_amazonaws_com_capacity_type=\"SPOT\"}) by (label_node_kubernetes_io_instance_type)", "instant": false, "interval": "", "legendFormat": "", @@ -125,7 +125,7 @@ { "id": "labelsToFields", "options": { - "valueLabel": "label_beta_kubernetes_io_instance_type" + "valueLabel": "label_node_kubernetes_io_instance_type" } } ], @@ -212,11 +212,11 @@ "uid": "PBFA97CFB590B2093" }, "exemplar": true, - "expr": "sum_over_time((\n \n sum by (label_beta_kubernetes_io_instance_type) (sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (kube_node_labels{job=\"kube-state-metrics\"}) * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cost))\n\n)[1d:1h])", + "expr": "sum_over_time((\n \n sum by (label_node_kubernetes_io_instance_type) (sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (kube_node_labels{job=\"kube-state-metrics\"}) * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cost))\n\n)[1d:1h])", "hide": false, "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}}", "refId": "A" }, { @@ -225,7 +225,7 @@ "uid": "${promdatasource}" }, "exemplar": true, - "expr": "sum(\n sum_over_time((sum by (label_beta_kubernetes_io_instance_type) (sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (kube_node_labels{job=\"kube-state-metrics\"}) * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_beta_kubernetes_io_instance_type) (instance_cost))\n)[1d:1h])\n)", + "expr": "sum(\n sum_over_time((sum by (label_node_kubernetes_io_instance_type) (sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (kube_node_labels{job=\"kube-state-metrics\"}) * on (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) sum by (label_topology_kubernetes_io_zone, label_eks_amazonaws_com_capacity_type, label_node_kubernetes_io_instance_type) (instance_cost))\n)[1d:1h])\n)", "hide": false, "interval": "", "legendFormat": "Total", @@ -627,10 +627,10 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\"}) by (node)) * on (node ) group_left(label_beta_kubernetes_io_instance_type,label_topology_kubernetes_io_zone) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node, label_topology_kubernetes_io_zone))by (label_beta_kubernetes_io_instance_type,node,label_topology_kubernetes_io_zone)", + "expr": "sum ((sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\"}) by (node)) * on (node ) group_left(label_node_kubernetes_io_instance_type,label_topology_kubernetes_io_zone) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node, label_topology_kubernetes_io_zone))by (label_node_kubernetes_io_instance_type,node,label_topology_kubernetes_io_zone)", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{label_topology_kubernetes_io_zone}} - {{node}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{label_topology_kubernetes_io_zone}} - {{node}}", "refId": "A" } ], @@ -688,7 +688,7 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\"}) by (node)) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node) * ${cpu_cost}", + "expr": "sum ((sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\"}) by (node)) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node) * ${cpu_cost}", "interval": "", "legendFormat": "", "refId": "A" @@ -772,10 +772,10 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(container_memory_working_set_bytes{namespace=~\"$namespace\", name!=\"\"}) by (node) ) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node)", + "expr": "sum ((sum(container_memory_working_set_bytes{namespace=~\"$namespace\", name!=\"\"}) by (node) ) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node)", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{node}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{node}} ", "refId": "A" } ], @@ -836,10 +836,10 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(container_memory_working_set_bytes{namespace=~\"$namespace\", name!=\"\"}) by (node) ) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node)* ${memory_cost}", + "expr": "sum ((sum(container_memory_working_set_bytes{namespace=~\"$namespace\", name!=\"\"}) by (node) ) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node)* ${memory_cost}", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{node}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{node}} ", "refId": "A" } ], @@ -922,11 +922,11 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(irate(container_network_transmit_bytes_total{namespace=~\"argo\"}[30m])) by (node) ) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node)", + "expr": "sum ((sum(irate(container_network_transmit_bytes_total{namespace=~\"argo\"}[30m])) by (node) ) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node)", "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{node}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{node}} ", "refId": "A" } ], @@ -1172,10 +1172,10 @@ "targets": [ { "exemplar": true, - "expr": "sum (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=~\"argo\"}) by (pod,node) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,pod)", + "expr": "sum (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=~\"argo\"}) by (pod,node) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,pod)", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{pod}}", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{pod}}", "refId": "A" } ], @@ -1258,10 +1258,10 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(container_memory_working_set_bytes{namespace=\"$namespace\", name!=\"\"}) by (pod,node) ) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node,pod)", + "expr": "sum ((sum(container_memory_working_set_bytes{namespace=\"$namespace\", name!=\"\"}) by (pod,node) ) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node,pod)", "instant": false, "interval": "", - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{pod}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{pod}} ", "refId": "A" } ], @@ -1344,11 +1344,11 @@ "targets": [ { "exemplar": true, - "expr": "sum ((sum(irate(container_network_transmit_bytes_total{namespace=~\"$namespace\"}[30m])) by (pod,node) ) * on (node ) group_left(label_beta_kubernetes_io_instance_type) sum(kube_node_labels) by (label_beta_kubernetes_io_instance_type,node))by (label_beta_kubernetes_io_instance_type,node,pod)", + "expr": "sum ((sum(irate(container_network_transmit_bytes_total{namespace=~\"$namespace\"}[30m])) by (pod,node) ) * on (node ) group_left(label_node_kubernetes_io_instance_type) sum(kube_node_labels) by (label_node_kubernetes_io_instance_type,node))by (label_node_kubernetes_io_instance_type,node,pod)", "instant": false, "interval": "", "intervalFactor": 2, - "legendFormat": "{{label_beta_kubernetes_io_instance_type}} - {{pod}} ", + "legendFormat": "{{label_node_kubernetes_io_instance_type}} - {{pod}} ", "refId": "A" } ], @@ -1642,7 +1642,7 @@ "text": "None", "value": "" }, - "definition": "label_values(kube_node_labels, label_beta_kubernetes_io_instance_type) ", + "definition": "label_values(kube_node_labels, label_node_kubernetes_io_instance_type) ", "hide": 0, "includeAll": false, "label": "Instance Type", @@ -1650,7 +1650,7 @@ "name": "type", "options": [], "query": { - "query": "label_values(kube_node_labels, label_beta_kubernetes_io_instance_type) ", + "query": "label_values(kube_node_labels, label_node_kubernetes_io_instance_type) ", "refId": "StandardVariableQuery" }, "refresh": 1, diff --git a/docs/transformation.excalidraw b/docs/transformation.excalidraw index f34ac9c..a3a16e0 100644 --- a/docs/transformation.excalidraw +++ b/docs/transformation.excalidraw @@ -154,14 +154,14 @@ } ], "updated": 1642667519760, - "text": "instance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0019893973214285716\ninstance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0023477678571428573\ninstance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0017373511904761904", + "text": "instance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0019893973214285716\ninstance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0023477678571428573\ninstance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0017373511904761904", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 67, "containerId": null, - "originalText": "instance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0019893973214285716\ninstance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0023477678571428573\ninstance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0017373511904761904" + "originalText": "instance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0019893973214285716\ninstance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0023477678571428573\ninstance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.0017373511904761904" }, { "id": "yGyZsE3-jVvo98yBwyXeD", @@ -191,14 +191,14 @@ } ], "updated": 1642667524267, - "text": "instance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.014323660714285716\ninstance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.016903928571428573\ninstance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.012508928571428572", + "text": "instance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.014323660714285716\ninstance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.016903928571428573\ninstance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.012508928571428572", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 67, "containerId": null, - "originalText": "instance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.014323660714285716\ninstance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.016903928571428573\ninstance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.012508928571428572" + "originalText": "instance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",region=\"eu-west-1\",unit=\"Hrs\"} 0.014323660714285716\ninstance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",region=\"eu-west-1\",unit=\"Hrs\"} 0.016903928571428573\ninstance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",region=\"eu-west-1\",unit=\"Hrs\"} 0.012508928571428572" }, { "id": "zA3gYJnDKCQWEDGVY7OfX", @@ -228,14 +228,14 @@ } ], "updated": 1642667528891, - "text": "instance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.089125\ninstance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.10518000000000001\ninstance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.07783333333333332", + "text": "instance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.089125\ninstance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.10518000000000001\ninstance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.07783333333333332", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 67, "containerId": null, - "originalText": "instance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.089125\ninstance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.10518000000000001\ninstance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.07783333333333332" + "originalText": "instance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1a\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.089125\ninstance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1b\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.10518000000000001\ninstance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"SPOT\",label_topology_kubernetes_io_zone=\"eu-west-1c\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.07783333333333332" }, { "id": "FyDKRH4Q32xi7Uq_jMBAQ", @@ -265,14 +265,14 @@ } ], "updated": 1642667526359, - "text": "instance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.214", + "text": "instance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.214", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 19, "containerId": null, - "originalText": "instance_cost{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.214" + "originalText": "instance_cost{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",memory=\"16 GiB\",region=\"eu-west-1\",unit=\"Hrs\",vcpu=\"4\"} 0.214" }, { "id": "l_7B4zABkYsYpSAKOZjQE", @@ -302,14 +302,14 @@ } ], "updated": 1642667522029, - "text": "instance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.03439285714285714", + "text": "instance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.03439285714285714", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 19, "containerId": null, - "originalText": "instance_cpu_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.03439285714285714" + "originalText": "instance_cpu_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.03439285714285714" }, { "id": "XNyab4hZmXNep4ZL8zCcS", @@ -334,14 +334,14 @@ "isDeleted": false, "boundElements": null, "updated": 1642667494985, - "text": "instance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.004776785714285714", + "text": "instance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.004776785714285714", "fontSize": 20, "fontFamily": 3, "textAlign": "left", "verticalAlign": "top", "baseline": 19, "containerId": null, - "originalText": "instance_mem_price{label_beta_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.004776785714285714" + "originalText": "instance_mem_price{label_node_kubernetes_io_instance_type=\"m6i.xlarge\",label_eks_amazonaws_com_capacity_type=\"ON_DEMAND\",label_topology_kubernetes_io_zone=\"\",region=\"eu-west-1\",unit=\"Hrs\"} 0.004776785714285714" }, { "id": "X5EEdO3lxyk4ladCNZRQ1",