Lower authorization errors to debug level in mongodb input (#4869)

This commit is contained in:
Daniel Nelson 2018-10-17 11:44:48 -07:00 committed by Greg
parent 106f5b5ca8
commit cd865cfd22
1 changed files with 21 additions and 4 deletions

View File

@ -3,6 +3,7 @@ package mongodb
import (
"log"
"net/url"
"strings"
"time"
"github.com/influxdata/telegraf"
@ -26,6 +27,10 @@ type oplogEntry struct {
Timestamp bson.MongoTimestamp `bson:"ts"`
}
func IsAuthorization(err error) bool {
return strings.Contains(err.Error(), "not authorized")
}
func (s *Server) gatherOplogStats() *OplogStats {
stats := &OplogStats{}
localdb := s.Session.DB("local")
@ -39,14 +44,22 @@ func (s *Server) gatherOplogStats() *OplogStats {
if err == mgo.ErrNotFound {
continue
}
log.Println("E! Error getting first oplog entry (" + err.Error() + ")")
if IsAuthorization(err) {
log.Println("D! Error getting first oplog entry (" + err.Error() + ")")
} else {
log.Println("E! Error getting first oplog entry (" + err.Error() + ")")
}
return stats
}
if err := localdb.C(collection_name).Find(query).Sort("-$natural").Limit(1).One(&op_last); err != nil {
if err == mgo.ErrNotFound {
if err == mgo.ErrNotFound || IsAuthorization(err) {
continue
}
log.Println("E! Error getting last oplog entry (" + err.Error() + ")")
if IsAuthorization(err) {
log.Println("D! Error getting first oplog entry (" + err.Error() + ")")
} else {
log.Println("E! Error getting first oplog entry (" + err.Error() + ")")
}
return stats
}
}
@ -98,7 +111,11 @@ func (s *Server) gatherData(acc telegraf.Accumulator, gatherDbStats bool) error
},
}, &resultShards)
if err != nil {
log.Println("E! Error getting database shard stats (" + err.Error() + ")")
if IsAuthorization(err) {
log.Println("D! Error getting database shard stats (" + err.Error() + ")")
} else {
log.Println("E! Error getting database shard stats (" + err.Error() + ")")
}
}
oplogStats := s.gatherOplogStats()