Skip collection stats when disabled in mongodb input (#6364)
This commit is contained in:
parent
23cddef30a
commit
a4078da648
|
@ -13,8 +13,10 @@
|
||||||
|
|
||||||
## When true, collect per database stats
|
## When true, collect per database stats
|
||||||
# gather_perdb_stats = false
|
# gather_perdb_stats = false
|
||||||
|
|
||||||
## When true, collect per collection stats
|
## When true, collect per collection stats
|
||||||
# gather_col_stats = false
|
# gather_col_stats = false
|
||||||
|
|
||||||
## List of db where collections stats are collected
|
## List of db where collections stats are collected
|
||||||
## If empty, all db are concerned
|
## If empty, all db are concerned
|
||||||
# col_stats_dbs = ["local"]
|
# col_stats_dbs = ["local"]
|
||||||
|
|
|
@ -42,8 +42,10 @@ var sampleConfig = `
|
||||||
|
|
||||||
## When true, collect per database stats
|
## When true, collect per database stats
|
||||||
# gather_perdb_stats = false
|
# gather_perdb_stats = false
|
||||||
|
|
||||||
## When true, collect per collection stats
|
## When true, collect per collection stats
|
||||||
# gather_col_stats = false
|
# gather_col_stats = false
|
||||||
|
|
||||||
## List of db where collections stats are collected
|
## List of db where collections stats are collected
|
||||||
## If empty, all db are concerned
|
## If empty, all db are concerned
|
||||||
# col_stats_dbs = ["local"]
|
# col_stats_dbs = ["local"]
|
||||||
|
@ -177,7 +179,8 @@ func (m *MongoDB) gatherServer(server *Server, acc telegraf.Accumulator) error {
|
||||||
func init() {
|
func init() {
|
||||||
inputs.Add("mongodb", func() telegraf.Input {
|
inputs.Add("mongodb", func() telegraf.Input {
|
||||||
return &MongoDB{
|
return &MongoDB{
|
||||||
mongos: make(map[string]*Server),
|
ColStatsDbs: []string{"local"},
|
||||||
|
mongos: make(map[string]*Server),
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,9 +227,13 @@ func (s *Server) gatherData(acc telegraf.Accumulator, gatherDbStats bool, gather
|
||||||
authLogLevel(err), err)
|
authLogLevel(err), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
collectionStats, err := s.gatherCollectionStats(colStatsDbs)
|
var collectionStats *ColStats
|
||||||
if err != nil {
|
if gatherColStats {
|
||||||
return err
|
stats, err := s.gatherCollectionStats(colStatsDbs)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
collectionStats = stats
|
||||||
}
|
}
|
||||||
|
|
||||||
dbStats := &DbStats{}
|
dbStats := &DbStats{}
|
||||||
|
|
|
@ -961,24 +961,25 @@ func NewStatLine(oldMongo, newMongo MongoStatus, key string, all bool, sampleSec
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
newColStats := *newMongo.ColStats
|
if newMongo.ColStats != nil {
|
||||||
for _, col := range newColStats.Collections {
|
for _, col := range newMongo.ColStats.Collections {
|
||||||
colStatsData := col.ColStatsData
|
colStatsData := col.ColStatsData
|
||||||
// mongos doesn't have the db key, so setting the db name
|
// mongos doesn't have the db key, so setting the db name
|
||||||
if colStatsData.Collection == "" {
|
if colStatsData.Collection == "" {
|
||||||
colStatsData.Collection = col.Name
|
colStatsData.Collection = col.Name
|
||||||
|
}
|
||||||
|
colStatLine := &ColStatLine{
|
||||||
|
Name: colStatsData.Collection,
|
||||||
|
DbName: col.DbName,
|
||||||
|
Count: colStatsData.Count,
|
||||||
|
Size: colStatsData.Size,
|
||||||
|
AvgObjSize: colStatsData.AvgObjSize,
|
||||||
|
StorageSize: colStatsData.StorageSize,
|
||||||
|
TotalIndexSize: colStatsData.TotalIndexSize,
|
||||||
|
Ok: colStatsData.Ok,
|
||||||
|
}
|
||||||
|
returnVal.ColStatsLines = append(returnVal.ColStatsLines, *colStatLine)
|
||||||
}
|
}
|
||||||
colStatLine := &ColStatLine{
|
|
||||||
Name: colStatsData.Collection,
|
|
||||||
DbName: col.DbName,
|
|
||||||
Count: colStatsData.Count,
|
|
||||||
Size: colStatsData.Size,
|
|
||||||
AvgObjSize: colStatsData.AvgObjSize,
|
|
||||||
StorageSize: colStatsData.StorageSize,
|
|
||||||
TotalIndexSize: colStatsData.TotalIndexSize,
|
|
||||||
Ok: colStatsData.Ok,
|
|
||||||
}
|
|
||||||
returnVal.ColStatsLines = append(returnVal.ColStatsLines, *colStatLine)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set shard stats
|
// Set shard stats
|
||||||
|
|
Loading…
Reference in New Issue