@@ -807,10 +807,19 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, l *logr
807807 l .Errorf ("cannot retrieve MongoDB buildInfo: %s" , err )
808808 }
809809
810- if engine , err := storageEngine (m ); err != nil {
811- l .Errorf ("cannot retrieve engine type: %s" , err )
812- } else {
813- metrics = append (metrics , engine )
810+ nodeType , err := getNodeType (ctx , client )
811+ if err != nil {
812+ l .WithFields (logrus.Fields {
813+ "component" : "diagnosticDataCollector" ,
814+ }).Errorf ("Cannot get node type: %s" , err )
815+ }
816+
817+ if nodeType == typeMongod {
818+ if engine , err := storageEngine (m ); err != nil {
819+ l .Errorf ("cannot retrieve engine type: %s" , err )
820+ } else {
821+ metrics = append (metrics , engine )
822+ }
814823 }
815824 metrics = append (metrics , serverVersion (buildInfo ))
816825
@@ -825,10 +834,12 @@ func specialMetrics(ctx context.Context, client *mongo.Client, m bson.M, l *logr
825834 }
826835 }
827836
828- if opLogMetrics , err := oplogStatus (ctx , client ); err != nil {
829- l .Warnf ("cannot create metrics for oplog: %s" , err )
830- } else {
831- metrics = append (metrics , opLogMetrics ... )
837+ if nodeType != typeMongos {
838+ if opLogMetrics , err := oplogStatus (ctx , client ); err != nil {
839+ l .Warnf ("cannot create metrics for oplog: %s" , err )
840+ } else {
841+ metrics = append (metrics , opLogMetrics ... )
842+ }
832843 }
833844
834845 return metrics
0 commit comments