Skip to content

Commit b50840f

Browse files
authored
Merge branch 'aws-cwa-dev' into dricross/golangcilint
2 parents 60e2d5e + 4b445b9 commit b50840f

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

receiver/awscontainerinsightskueuereceiver/internal/kueuescraper/kueue_prometheus_scraper.go

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"errors"
99
"fmt"
10+
"os"
1011
"strings"
1112
"time"
1213

@@ -30,10 +31,9 @@ const (
3031
// kmJobName needs to be "containerInsightsKueueMetricsScraper" so metric translator tags the source as the container insights receiver
3132
kmJobName = "containerInsightsKueueMetricsScraper"
3233
kueueNamespace = "kueue-system"
34+
kueueService = "kueue-controller-manager-metrics-service"
3335
kueueNameLabelSelector = "app.kubernetes.io/name=kueue"
3436
kueueComponentLabelSelector = "app.kubernetes.io/component=controller"
35-
kueueServiceFieldSelector = "metadata.name=kueue-controller-manager-metrics-service"
36-
kueueMetricsLogStream = "kubernetes-kueue"
3737

3838
serviceAccountTokenDefaultPath = "/var/run/secrets/kubernetes.io/serviceaccount/token" // #nosec
3939
)
@@ -104,20 +104,20 @@ func NewKueuePrometheusScraper(opts KueuePrometheusScraperOpts) (*KueuePrometheu
104104
MetricsPath: "/metrics",
105105
ServiceDiscoveryConfigs: discovery.Configs{
106106
&kubernetes.SDConfig{
107-
Role: kubernetes.RoleService,
107+
Role: kubernetes.RoleEndpointSlice,
108108
NamespaceDiscovery: kubernetes.NamespaceDiscovery{
109109
Names: []string{kueueNamespace},
110110
},
111111
Selectors: []kubernetes.SelectorConfig{
112112
{
113-
Role: kubernetes.RoleService,
113+
Role: kubernetes.RoleEndpointSlice,
114114
Label: fmt.Sprintf("%s,%s", kueueNameLabelSelector, kueueComponentLabelSelector),
115-
Field: kueueServiceFieldSelector,
116115
},
117116
},
118117
},
119118
},
120-
MetricRelabelConfigs: GetKueueRelabelConfigs(opts.ClusterName),
119+
RelabelConfigs: GetKueueRelabelConfigs(),
120+
MetricRelabelConfigs: GetKueueMetricRelabelConfigs(opts.ClusterName),
121121
}
122122

123123
promConfig := prometheusreceiver.Config{
@@ -146,7 +146,23 @@ func NewKueuePrometheusScraper(opts KueuePrometheusScraperOpts) (*KueuePrometheu
146146
}, nil
147147
}
148148

149-
func GetKueueRelabelConfigs(clusterName string) []*relabel.Config {
149+
func GetKueueRelabelConfigs() []*relabel.Config {
150+
relabelConfigs := []*relabel.Config{
151+
{ // Limit scraping to the kueue controller manager service
152+
Action: relabel.Keep,
153+
Regex: relabel.MustNewRegexp(fmt.Sprintf("^%s.*", kueueService)),
154+
SourceLabels: model.LabelNames{"__meta_kubernetes_endpointslice_name"},
155+
},
156+
{ // Limit scraping to only the collector running on the same node as the kueue controller manager
157+
Action: relabel.Keep,
158+
Regex: relabel.MustNewRegexp(os.Getenv("HOST_NAME")),
159+
SourceLabels: model.LabelNames{"__meta_kubernetes_endpointslice_endpoint_node_name"},
160+
},
161+
}
162+
return relabelConfigs
163+
}
164+
165+
func GetKueueMetricRelabelConfigs(clusterName string) []*relabel.Config {
150166
relabelConfigs := []*relabel.Config{
151167
{ // filter by metric name: keep only the Kueue metrics specified via regex in `kueueMetricAllowList`
152168
Action: relabel.Keep,

0 commit comments

Comments
 (0)