diff options
| author | Avi-Robusta <97387909+Avi-Robusta@users.noreply.github.com> | 2023-06-29 16:08:37 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-29 16:08:37 +0300 |
| commit | 87afa696b8fcd4dd9beb55df2e99f5e97e986300 (patch) | |
| tree | a0fc73d3a8d332750176f3db85e1539c506647e0 | |
| parent | 4415367af4b1587306258b1e741553f7bd188fb8 (diff) | |
| parent | 77fb7edef8ecef5c48b4c23703e815be292aa7c8 (diff) | |
Merge pull request #73 from robusta-dev/fix_multi_cluster_label
added cluster label for kube_pod_owner
| -rw-r--r-- | robusta_krr/core/integrations/prometheus/metrics_service/base_metric_service.py | 11 | ||||
| -rw-r--r-- | robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py | 4 |
2 files changed, 14 insertions, 1 deletions
diff --git a/robusta_krr/core/integrations/prometheus/metrics_service/base_metric_service.py b/robusta_krr/core/integrations/prometheus/metrics_service/base_metric_service.py index e869ab0..4337e5e 100644 --- a/robusta_krr/core/integrations/prometheus/metrics_service/base_metric_service.py +++ b/robusta_krr/core/integrations/prometheus/metrics_service/base_metric_service.py @@ -55,3 +55,14 @@ class MetricsService(Configurable, abc.ABC): step: datetime.timedelta = datetime.timedelta(minutes=30), ) -> ResourceHistoryData: ... + + def get_prometheus_cluster_label(self) -> str: + """ + Generates the cluster label for querying a centralized Prometheus + + Returns: + str: a promql safe label string for querying the cluster. + """ + if self.config.prometheus_cluster_label is None: + return "" + return f', {self.config.prometheus_label}="{self.config.prometheus_cluster_label}"' diff --git a/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py b/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py index 8213607..896387f 100644 --- a/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py +++ b/robusta_krr/core/integrations/prometheus/metrics_service/prometheus_metrics_service.py @@ -195,13 +195,14 @@ class PrometheusMetricsService(MetricsService): period_literal = f"{days_literal}d" pod_owners: list[str] pod_owner_kind: str - + cluster_label = self.get_prometheus_cluster_label() if object.kind == "Deployment": replicasets = await self.query( "kube_replicaset_owner{" f'owner_name="{object.name}", ' f'owner_kind="Deployment", ' f'namespace="{object.namespace}"' + f'{cluster_label}' "}" f"[{period_literal}]" ) @@ -217,6 +218,7 @@ class PrometheusMetricsService(MetricsService): f'owner_name=~"{owners_regex}", ' f'owner_kind="{pod_owner_kind}", ' f'namespace="{object.namespace}"' + f'{cluster_label}' "}" f"[{period_literal}]" ) |
