Panfactum / stack

The Panfactum Stack
https://panfactum.com
Other
16 stars 5 forks source link

[Bug|Feature]: kube_open_costs has no UI or dashboards #151

Closed mschnee closed 1 month ago

mschnee commented 1 month ago

Prior Search

What happened?

The OpenCost ui is explicitly disabled in the module source:

        ui = {
          enabled = false // We use grafana
        }

No grafana dashboards are provided. The OpenCost organization on github does have a couple of summary dashboards here, but they are mostly non-functional with the error:

Message: execution: found duplicate series for the match group {...long json}
many-to-many matching not allowed: matching labels must be unique on one side

Steps to Reproduce

Deploy and configure kube_open_cost and try to use opencost grafana dashboards

Relevant log output

Status: 422. Message: execution: found duplicate series for the match group {instance_type="m6i.metal", node="ip-10-0-130-76.us-west-2.compute.internal"} on the right hand-side of the operation: [{container="open-cost", endpoint="http", instance="10.0.112.168:9003", instance_type="m6i.metal", job="open-cost", label_beta_kubernetes_io_arch="amd64", label_beta_kubernetes_io_instance_type="m6i.metal", label_beta_kubernetes_io_os="linux", label_failure_domain_beta_kubernetes_io_region="us-west-2", label_failure_domain_beta_kubernetes_io_zone="us-west-2b", label_k8s_io_cloud_provider_aws="755524269923376f33a5502ad15fb0ce", label_karpenter_k8s_aws_instance_category="m", label_karpenter_k8s_aws_instance_cpu="128", label_karpenter_k8s_aws_instance_cpu_manufacturer="intel", label_karpenter_k8s_aws_instance_ebs_bandwidth="40000", label_karpenter_k8s_aws_instance_encryption_in_transit_supported="true", label_karpenter_k8s_aws_instance_family="m6i", label_karpenter_k8s_aws_instance_generation="6", label_karpenter_k8s_aws_instance_memory="524288", label_karpenter_k8s_aws_instance_network_bandwidth="50000", label_karpenter_k8s_aws_instance_size="metal", label_karpenter_sh_capacity_type="on-demand", label_karpenter_sh_nodepool="on-demand-63e457a8", label_karpenter_sh_registered="true", label_kubernetes_io_arch="amd64", label_kubernetes_io_hostname="ip-10-0-130-76.us-west-2.compute.internal", label_kubernetes_io_os="linux", label_node_kubernetes_io_instance_type="m6i.metal", label_panfactum_com_class="worker", label_topology_k8s_aws_zone_id="usw2-az2", label_topology_kubernetes_io_region="us-west-2", label_topology_kubernetes_io_zone="us-west-2b", namespace="open-cost", node="ip-10-0-130-76.us-west-2.compute.internal", pod="open-cost-7c87db76f4-p7t6b", prometheus="monitoring/monitoring", service="open-cost"}, {container="open-cost", endpoint="http", instance="10.0.112.168:9003", instance_type="m6i.metal", job="open-cost", label_beta_kubernetes_io_arch="amd64", label_beta_kubernetes_io_instance_type="m6i.metal", label_beta_kubernetes_io_os="linux", label_failure_domain_beta_kubernetes_io_region="us-west-2", label_failure_domain_beta_kubernetes_io_zone="us-west-2b", label_k8s_io_cloud_provider_aws="755524269923376f33a5502ad15fb0ce", label_karpenter_k8s_aws_instance_category="m", label_karpenter_k8s_aws_instance_cpu="128", label_karpenter_k8s_aws_instance_cpu_manufacturer="intel", label_karpenter_k8s_aws_instance_ebs_bandwidth="40000", label_karpenter_k8s_aws_instance_encryption_in_transit_supported="true", label_karpenter_k8s_aws_instance_family="m6i", label_karpenter_k8s_aws_instance_generation="6", label_karpenter_k8s_aws_instance_memory="524288", label_karpenter_k8s_aws_instance_network_bandwidth="50000", label_karpenter_k8s_aws_instance_size="metal", label_karpenter_sh_capacity_type="on-demand", label_karpenter_sh_nodepool="on-demand-63e457a8", label_karpenter_sh_registered="true", label_kubernetes_io_arch="amd64", label_kubernetes_io_hostname="ip-10-0-130-76.us-west-2.compute.internal", label_kubernetes_io_os="linux", label_node_kubernetes_io_exclude_from_external_load_balancers="karpenter", label_node_kubernetes_io_instance_type="m6i.metal", label_panfactum_com_class="worker", label_topology_k8s_aws_zone_id="usw2-az2", label_topology_kubernetes_io_region="us-west-2", label_topology_kubernetes_io_zone="us-west-2b", namespace="open-cost", node="ip-10-0-130-76.us-west-2.compute.internal", pod="open-cost-7c87db76f4-p7t6b", prometheus="monitoring/monitoring", service="open-cost"}];many-to-many matching not allowed: matching labels must be unique on one side
fullykubed commented 1 month ago

We are aware of this, but this is because neither monitoring nor open-cost are released in the Panfactum Stack as of yet. When they are, they will be listed as an addon on the website. Right now, we would not consider them safe to use unless you are working directly with us as an alpha user (which is just a handful of customers).