github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/applications/apigateway/metrics/servicemonitor.go (about)

     1  package metrics
     2  
     3  import (
     4  	"github.com/caos/orbos/internal/operator/boom/application/applications/apigateway/info"
     5  	"github.com/caos/orbos/internal/operator/boom/application/applications/metricspersisting/servicemonitor"
     6  	"github.com/caos/orbos/internal/operator/boom/labels"
     7  )
     8  
     9  func GetServicemonitor(instanceName string) *servicemonitor.Config {
    10  	appName := info.GetName()
    11  	monitorlabels := labels.GetMonitorLabels(instanceName, appName)
    12  	ls := labels.GetApplicationLabels(appName)
    13  
    14  	endpoint := &servicemonitor.ConfigEndpoint{
    15  		Port: "ambassador-admin",
    16  		Path: "/metrics",
    17  	}
    18  
    19  	ls["service"] = "ambassador-admin"
    20  	ls["app.kubernetes.io/part-of"] = "ambassador"
    21  	ls["app.kubernetes.io/name"] = "ambassador"
    22  	ls["app.kubernetes.io/instance"] = "ambassador"
    23  
    24  	return &servicemonitor.Config{
    25  		Name:                  "ambassador-servicemonitor",
    26  		Endpoints:             []*servicemonitor.ConfigEndpoint{endpoint},
    27  		MonitorMatchingLabels: monitorlabels,
    28  		ServiceMatchingLabels: ls,
    29  		JobName:               "ambassador",
    30  	}
    31  }