diff --git a/dashboards/cost-reporter/opencost-cost-reporter-basic-overview.json b/dashboards/cost-reporter/opencost-cost-reporter-basic-overview.json index 970195c..b47108a 100644 --- a/dashboards/cost-reporter/opencost-cost-reporter-basic-overview.json +++ b/dashboards/cost-reporter/opencost-cost-reporter-basic-overview.json @@ -81,7 +81,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on the average node_total_hourly_cost in the last 30d", "fieldConfig": { @@ -132,7 +132,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "sum(avg by (instance) (node_total_hourly_cost)) * 24", @@ -150,7 +150,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on total node price", "fieldConfig": { @@ -228,7 +228,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "sum(node_total_hourly_cost)", @@ -244,7 +244,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on the average total hourly node cost from the last 30d", "fieldConfig": { @@ -295,7 +295,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "sum(avg by (instance) (node_total_hourly_cost)) * 24 * 30", @@ -313,7 +313,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on total node price over 7d and 1d", "fieldConfig": { @@ -392,7 +392,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "1 - (\n avg_over_time(\n sum(node_total_hourly_cost) [1d:1h]\n )\n/\n avg_over_time(\n sum(node_total_hourly_cost) [7d:1h]\n )\n)", @@ -404,7 +404,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "1 - (\n avg(sum(node_total_hourly_cost))\n/\n avg_over_time(\n sum(node_total_hourly_cost) [1d:1h]\n )\n)", @@ -422,7 +422,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on total node price over 7d and 1d", "fieldConfig": { @@ -501,7 +501,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "expr": "stdvar_over_time( sum(node_total_hourly_cost) by (instance_type) [7d:1d] )", @@ -518,7 +518,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "", "fieldConfig": { @@ -594,11 +594,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) \n by (namespace,instance)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n\n +\n\n sum(container_cpu_allocation) \n by (namespace,instance)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n ) by (namespace)\n)", + "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) \n by (namespace,instance)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n\n +\n\n sum(container_cpu_allocation) \n by (namespace,instance)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n ) by (namespace)\n)", "format": "table", "hide": false, "instant": true, @@ -630,7 +630,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -700,11 +700,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) by (namespace,instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n +\n sum(container_cpu_allocation) by (namespace,instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n ) by (namespace, container)\n)", + "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) by (namespace,instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n +\n sum(container_cpu_allocation) by (namespace,instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n ) by (namespace, container)\n)", "format": "table", "instant": true, "legendFormat": "__auto", @@ -741,7 +741,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -810,11 +810,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) by (namespace,instance, pod)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n +\n sum(container_cpu_allocation) by (namespace,instance, pod)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n ) by (pod)\n)", + "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes) by (namespace,instance, pod)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n +\n sum(container_cpu_allocation) by (namespace,instance, pod)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n ) by (pod)\n)", "format": "table", "instant": true, "legendFormat": "__auto", @@ -846,7 +846,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "", "fieldConfig": { @@ -928,11 +928,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace)", + "expr": "sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace)", "instant": false, "legendFormat": "{{namespace}}", "range": true, @@ -945,7 +945,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "", "fieldConfig": { @@ -1029,11 +1029,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(sum(container_memory_allocation_bytes) by (container,namespace, instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,namespace, instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace, container)", + "expr": "sum(sum(container_memory_allocation_bytes) by (container,namespace, instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,namespace, instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace, container)", "instant": false, "legendFormat": "{{namespace}} / {{container}}", "range": true, @@ -1059,7 +1059,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1129,11 +1129,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n ) by (container)\n)", + "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n ) by (container)\n)", "format": "table", "instant": true, "legendFormat": "__auto", @@ -1170,7 +1170,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1219,11 +1219,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n) * 720", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n) * 720", "instant": true, "legendFormat": "__auto", "range": false, @@ -1236,7 +1236,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1313,11 +1313,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n) * 720", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n) * 720", "instant": false, "legendFormat": "Costs", "range": true, @@ -1330,7 +1330,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1379,11 +1379,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n) * 24", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n) * 24", "instant": true, "legendFormat": "__auto", "range": false, @@ -1396,7 +1396,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1473,11 +1473,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n) * 24", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n) * 24", "instant": false, "legendFormat": "Costs", "range": true, @@ -1490,7 +1490,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1539,11 +1539,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n)", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n)", "instant": true, "legendFormat": "__auto", "range": false, @@ -1556,7 +1556,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "Based on current usage", "fieldConfig": { @@ -1633,11 +1633,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n label_replace\n (\n kube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n ) * 0\n ) \n)", + "expr": "sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_ram_hourly_cost / 1024 / 1024 / 1024\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n )\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance)\n * on(instance) group_left() (\n node_cpu_hourly_cost{}\n + on(node,instance_type) group_left()\n kube_node_info{} * 0\n ) \n)", "instant": false, "legendFormat": "Costs", "range": true, @@ -1650,7 +1650,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "description": "", "fieldConfig": { @@ -1732,11 +1732,11 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", "exemplar": false, - "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tlabel_replace\n\t\t\t(\n\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t) * 0\n\t\t)\n ) by (container)\n)", + "expr": "topk(20,\n sum(\n sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_ram_hourly_cost / 1024 / 1024 / 1024 * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n +\n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (instance, container)\n * on(instance) group_left() (\n\t\t\tnode_cpu_hourly_cost{} * 720\n\t\t\t+ on(node,instance_type) group_left()\n\t\t\tkube_node_info{} * 0\n\t\t)\n ) by (container)\n)", "instant": false, "legendFormat": "{{namespace}}", "range": true, @@ -1775,18 +1775,18 @@ "current": {}, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, - "definition": "label_values(kube_namespace_labels,namespace)", + "definition": "label_values(kube_namespace_created,namespace)", "hide": 0, - "includeAll": false, + "includeAll": true, "label": "Namespace", - "multi": false, + "multi": true, "name": "namespace", "options": [], "query": { "qryType": 1, - "query": "label_values(kube_namespace_labels,namespace)", + "query": "label_values(kube_namespace_created,namespace)", "refId": "PrometheusVariableQueryEditor-VariableQuery" }, "refresh": 2, @@ -1807,4 +1807,4 @@ "uid": "a5ed0a39-7b30-42c0-ba9a-be80b336372f", "version": 52, "weekStart": "" -} \ No newline at end of file +} diff --git a/dashboards/cost-reporter/opencost-cost-reporter-detailed-overview.json b/dashboards/cost-reporter/opencost-cost-reporter-detailed-overview.json index caa6a54..cbed22d 100644 --- a/dashboards/cost-reporter/opencost-cost-reporter-detailed-overview.json +++ b/dashboards/cost-reporter/opencost-cost-reporter-detailed-overview.json @@ -108,7 +108,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -174,7 +174,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "sum(node_total_hourly_cost * 24)", "hide": false, @@ -186,7 +186,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "avg_over_time(\n sum(node_total_hourly_cost) [30d:1d]\n)", "hide": true, @@ -197,7 +197,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "1 - (\n avg_over_time(\n sum(node_total_hourly_cost) [1d:1h]\n )\n/\n avg_over_time(\n sum(node_total_hourly_cost) [7d:1h]\n )\n)", "hide": true, @@ -212,7 +212,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -293,7 +293,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "sum(node_total_hourly_cost)", "hide": false, @@ -310,7 +310,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -373,7 +373,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "sum(node_total_hourly_cost * 720)", "hide": false, @@ -394,7 +394,7 @@ "dashes": false, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fill": 0, "fillGradient": 0, @@ -434,7 +434,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "1 - (\n avg_over_time(\n sum(node_total_hourly_cost) [1d:1h]\n )\n/\n avg_over_time(\n sum(node_total_hourly_cost) [7d:1h]\n )\n)", "interval": "1h", @@ -444,7 +444,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "1 - (\n avg(sum(node_total_hourly_cost))\n/\n avg_over_time(\n sum(node_total_hourly_cost) [1d:1h]\n )\n)", "hide": false, @@ -495,7 +495,7 @@ "dashes": false, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fill": 0, "fillGradient": 0, @@ -535,7 +535,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "stdvar_over_time( sum(node_total_hourly_cost) by (instance_type) [7d:1d] ) > 0", "instant": false, @@ -580,7 +580,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -673,10 +673,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 730\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t) * 730) by (namespace)\n)", + "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 730\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t) * 730) by (namespace)\n)", "format": "table", "instant": true, "interval": "", @@ -691,7 +691,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -822,10 +822,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 730\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)\n)", + "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024 * 730\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)\n)", "instant": true, "interval": "", "legendFormat": "{{container}}", @@ -850,7 +850,7 @@ "dashes": false, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -896,9 +896,9 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, - "expr": "sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace)", + "expr": "sum(sum(container_memory_allocation_bytes) by (namespace,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (namespace,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace)", "interval": "", "legendFormat": "{{namespace}}", "refId": "A" @@ -937,7 +937,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1021,10 +1021,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(sum(container_memory_allocation_bytes) by (container,namespace, instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,namespace, instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace, container)", + "expr": "sum(sum(container_memory_allocation_bytes) by (container,namespace, instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation) by (container,namespace, instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace, container)", "interval": "", "legendFormat": "{{namespace}} / {{container}}", "range": true, @@ -1063,7 +1063,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1182,10 +1182,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container, instance, namespace) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container, instance, namespace) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)\n)", + "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container, instance, namespace) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container, instance, namespace) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)\n)", "format": "time_series", "instant": true, "interval": "", @@ -1207,7 +1207,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1271,10 +1271,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) * 720", + "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) * 720", "instant": true, "interval": "", "legendFormat": "Month estimative", @@ -1287,7 +1287,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1370,10 +1370,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) * 720", + "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) * 720", "instant": false, "interval": "", "legendFormat": "Month estimative", @@ -1386,7 +1386,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1450,10 +1450,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) * 24 * 7", + "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) * 24 * 7", "instant": true, "interval": "", "legendFormat": "", @@ -1467,7 +1467,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1548,10 +1548,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace)\n)", + "expr": "topk( 20, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace)\n)", "interval": "", "legendFormat": "{{namespace}}", "range": true, @@ -1564,7 +1564,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1627,10 +1627,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t))", + "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t))", "instant": true, "interval": "", "legendFormat": "", @@ -1644,7 +1644,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1756,10 +1756,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "1 - (\n\navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace, container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace) [1d:1h]\n )\n \n /\n \navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace) [7d:1h]\n )\n )", + "expr": "1 - (\n\navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace, container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace) [1d:1h]\n )\n \n /\n \navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace) [7d:1h]\n )\n )", "interval": "", "legendFormat": "Relative price now vs 7d ago (Hour Price)", "range": true, @@ -1768,10 +1768,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "1 - (\n\navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace) [1d:1h]\n )\n \n /\n \navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (namespace) [14d:1h]\n )\n )", + "expr": "1 - (\n\navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace) [1d:1h]\n )\n \n /\n \navg_over_time(\n\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (namespace,container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (namespace) [14d:1h]\n )\n )", "interval": "", "legendFormat": "Relative price now vs 14d ago (Hour Price)", "range": true, @@ -1784,7 +1784,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1865,10 +1865,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "topk( 30, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)\n)", + "expr": "topk( 30, \n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)\n)", "interval": "", "legendFormat": "{{container}}", "range": true, @@ -1907,7 +1907,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -1970,10 +1970,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t))", + "expr": "\n sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t))", "instant": true, "interval": "", "legendFormat": "", @@ -1987,7 +1987,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2067,10 +2067,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container))", + "expr": "sum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container))", "interval": "", "legendFormat": "Hour Cost", "range": true, @@ -2083,7 +2083,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2146,10 +2146,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n (sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t))) * 24", + "expr": "\n (sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t))) * 24", "instant": true, "interval": "", "legendFormat": "", @@ -2163,7 +2163,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2261,10 +2261,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "1 - (\n\navg_over_time(\nsum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)) [1d:1h]\n\t\t\t\t\t)\n/\n\navg_over_time(\nsum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)) [7d:1h]\n\t\t\t\t\t)\n\t\t\t\t\t)", + "expr": "1 - (\n\navg_over_time(\nsum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)) [1d:1h]\n\t\t\t\t\t)\n/\n\navg_over_time(\nsum(sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)) [7d:1h]\n\t\t\t\t\t)\n\t\t\t\t\t)", "interval": "", "legendFormat": "Relative price now vs 7d ago (Hour Price)", "range": true, @@ -2277,7 +2277,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2340,10 +2340,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "\n (sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t))) * 24 * 30", + "expr": "\n (sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t)\n + \n sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (container,instance) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t))) * 24 * 30", "instant": true, "interval": "", "legendFormat": "", @@ -2357,7 +2357,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2437,10 +2437,10 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "editorMode": "code", - "expr": "sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tlabel_replace\n\t\t\t\t\t(\n\t\t\t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t\t\t\t) * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tlabel_replace\n\t\t \t\t\t(\n\t\t \t\t\t\tkube_node_labels{}, \"instance_type\", \"$1\", \"label_node_kubernetes_io_instance_type\", \"(.*)\"\n\t\t \t\t\t) * 0\n\t\t \t)) by (container)", + "expr": "sum(sum(container_memory_allocation_bytes{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t\t\t\tnode_ram_hourly_cost{} / 1024 / 1024 / 1024\n\t\t\t\t+ on(node,instance_type) group_left()\n\t\t\t\t\tkube_node_info{} * 0\n\t\t\t) + sum(container_cpu_allocation{namespace=~\"$namespace\", container=~\"$app.*\"}) by (namespace,instance,container) * on(instance) group_left() (\n\t \t\t\tnode_cpu_hourly_cost{} + on(node,instance_type) group_left()\n\t\t \t\t\tkube_node_info{} * 0\n\t\t \t)) by (container)", "interval": "", "legendFormat": "{{pod}}", "range": true, @@ -2467,7 +2467,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "fieldConfig": { "defaults": { @@ -2546,7 +2546,7 @@ { "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "expr": "sum(pv_hourly_cost) by (persistentvolume) * 24 * 100", "interval": "", @@ -2600,9 +2600,9 @@ "current": {}, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, - "definition": "label_values(kube_namespace_labels, namespace)", + "definition": "label_values(kube_namespace_created,namespace)", "hide": 0, "includeAll": true, "label": "Namespace", @@ -2610,7 +2610,7 @@ "name": "namespace", "options": [], "query": { - "query": "label_values(kube_namespace_labels, namespace)", + "query": "label_values(kube_namespace_created,namespace)", "refId": "Prometheus Datasource-namespace-Variable-Query" }, "refresh": 1, @@ -2626,7 +2626,7 @@ "current": {}, "datasource": { "type": "prometheus", - "uid": "${DS_PROMETHEUS_DATASOURCE}" + "uid": "${datasource}" }, "definition": "label_values(kube_pod_labels{namespace=~\"$namespace\"}, label_app)", "hide": 0,