@@ -873,6 +873,18 @@ func (r *MetricStorageReconciler) createScrapeConfigs(
873873 return ctrl.Result {}, err
874874 }
875875
876+ // ScrapeConfig for OVS DB Server NB metrics
877+ err = r .createOVSDBServerNBScrapeConfig (ctx , instance , helper , serviceLabels )
878+ if err != nil {
879+ return ctrl.Result {}, err
880+ }
881+
882+ // ScrapeConfig for OVS DB Server SB metrics
883+ err = r .createOVSDBServerSBScrapeConfig (ctx , instance , helper , serviceLabels )
884+ if err != nil {
885+ return ctrl.Result {}, err
886+ }
887+
876888 instance .Status .Conditions .MarkTrue (telemetryv1 .ScrapeConfigReadyCondition , condition .ReadyMessage )
877889 return ctrl.Result {}, nil
878890}
@@ -1049,6 +1061,44 @@ func (r *MetricStorageReconciler) createOVNControllerScrapeConfig(
10491061 )
10501062}
10511063
1064+ // createOVSDBServerNBScrapeConfig creates a scrape configuration for OVS DB Server NB metrics
1065+ // This function discovers OVS DB Server NB metrics services using label selectors
1066+ func (r * MetricStorageReconciler ) createOVSDBServerNBScrapeConfig (
1067+ ctx context.Context ,
1068+ instance * telemetryv1.MetricStorage ,
1069+ helper * helper.Helper ,
1070+ serviceLabels map [string ]string ,
1071+ ) error {
1072+ labelSelector := map [string ]string {
1073+ "metrics" : "enabled" ,
1074+ "service" : "ovsdbserver-nb" ,
1075+ }
1076+ ovsdbServerNBCfgName := fmt .Sprintf ("%s-ovsdbserver-nb" , telemetry .ServiceName )
1077+ return r .createServiceScrapeConfigFromLabelSelector (
1078+ ctx , instance , helper , serviceLabels ,
1079+ labelSelector , "metrics" , ovsdbServerNBCfgName , "OVS DB server NB" ,
1080+ )
1081+ }
1082+
1083+ // createOVSDBServerSBScrapeConfig creates a scrape configuration for OVS DB Server SB metrics
1084+ // This function discovers OVS DB Server SB metrics services using label selectors
1085+ func (r * MetricStorageReconciler ) createOVSDBServerSBScrapeConfig (
1086+ ctx context.Context ,
1087+ instance * telemetryv1.MetricStorage ,
1088+ helper * helper.Helper ,
1089+ serviceLabels map [string ]string ,
1090+ ) error {
1091+ labelSelector := map [string ]string {
1092+ "metrics" : "enabled" ,
1093+ "service" : "ovsdbserver-sb" ,
1094+ }
1095+ ovsdbServerSBCfgName := fmt .Sprintf ("%s-ovsdbserver-sb" , telemetry .ServiceName )
1096+ return r .createServiceScrapeConfigFromLabelSelector (
1097+ ctx , instance , helper , serviceLabels ,
1098+ labelSelector , "metrics" , ovsdbServerSBCfgName , "OVS DB server SB" ,
1099+ )
1100+ }
1101+
10521102func (r * MetricStorageReconciler ) createDashboardObjects (ctx context.Context , instance * telemetryv1.MetricStorage , helper * helper.Helper , eventHandler handler.EventHandler ) (ctrl.Result , error ) {
10531103 Log := r .GetLogger (ctx )
10541104 uiPluginObj := & obsui.UIPlugin {
@@ -1465,7 +1515,7 @@ func (r *MetricStorageReconciler) SetupWithManager(ctx context.Context, mgr ctrl
14651515
14661516 // Watch OVN metrics services
14671517 if labels := o .GetLabels (); labels != nil {
1468- if labels ["metrics" ] == "enabled" && (labels ["service" ] == "ovn-northd" || labels ["service" ] == "ovn-controller-metrics" ) {
1518+ if labels ["metrics" ] == "enabled" && (labels ["service" ] == "ovn-northd" || labels ["service" ] == "ovn-controller-metrics" || labels [ "service" ] == "ovsdbserver-nb" || labels [ "service" ] == "ovsdbserver-sb" ) {
14691519 // get all metricstorage CRs in the same namespace
14701520 metricStorages := & telemetryv1.MetricStorageList {}
14711521 listOpts := []client.ListOption {
0 commit comments