github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/orbiter/servicemonitor.go (about) 1 package orbiter 2 3 import ( 4 "github.com/caos/orbos/internal/operator/boom/application/applications/metricspersisting/servicemonitor" 5 deprecatedlabels "github.com/caos/orbos/internal/operator/boom/labels" 6 "github.com/caos/orbos/internal/operator/boom/name" 7 "github.com/caos/orbos/internal/operator/orbiter/kinds/orb" 8 "github.com/caos/orbos/pkg/labels" 9 ) 10 11 func GetServicemonitor(instanceName string) *servicemonitor.Config { 12 var appName name.Application 13 appName = "orbiter" 14 15 relabelings := []*servicemonitor.ConfigRelabeling{{ 16 Action: "replace", 17 SourceLabels: []string{"job"}, 18 TargetLabel: "job", 19 Replacement: "caos_remote_${1}", 20 }, { 21 Action: "labeldrop", 22 Regex: "(container|endpoint|namespace|pod)", 23 }} 24 25 metricRelabelings := []*servicemonitor.ConfigRelabeling{{ 26 Action: "keep", 27 Regex: "probe", 28 SourceLabels: []string{"__name__"}, 29 }, { 30 Action: "labelkeep", 31 Regex: "__.+|job|name|type|target", 32 }, { 33 Action: "replace", 34 SourceLabels: []string{"__name__"}, 35 TargetLabel: "__name__", 36 Replacement: "caos_${1}", 37 }} 38 39 endpoint := &servicemonitor.ConfigEndpoint{ 40 Port: "metrics", 41 Path: "/metrics", 42 Relabelings: relabelings, 43 MetricRelabelings: metricRelabelings, 44 } 45 46 return &servicemonitor.Config{ 47 Name: "orbiter-servicemonitor", 48 Endpoints: []*servicemonitor.ConfigEndpoint{endpoint}, 49 MonitorMatchingLabels: deprecatedlabels.GetMonitorLabels(instanceName, appName), 50 ServiceMatchingLabels: labels.MustK8sMap(orb.OperatorSelector()), 51 JobName: "orbiter", 52 } 53 }