39 lines
971 B
Go
39 lines
971 B
Go
package cgroup
|
|
|
|
import (
|
|
"github.com/influxdata/telegraf"
|
|
"github.com/influxdata/telegraf/plugins/inputs"
|
|
)
|
|
|
|
type CGroup struct {
|
|
Paths []string `toml:"paths"`
|
|
Files []string `toml:"files"`
|
|
}
|
|
|
|
var sampleConfig = `
|
|
## Directories in which to look for files, globs are supported.
|
|
## Consider restricting paths to the set of cgroups you really
|
|
## want to monitor if you have a large number of cgroups, to avoid
|
|
## any cardinality issues.
|
|
# paths = [
|
|
# "/cgroup/memory",
|
|
# "/cgroup/memory/child1",
|
|
# "/cgroup/memory/child2/*",
|
|
# ]
|
|
## cgroup stat fields, as file names, globs are supported.
|
|
## these file names are appended to each path from above.
|
|
# files = ["memory.*usage*", "memory.limit_in_bytes"]
|
|
`
|
|
|
|
func (g *CGroup) SampleConfig() string {
|
|
return sampleConfig
|
|
}
|
|
|
|
func (g *CGroup) Description() string {
|
|
return "Read specific statistics per cgroup"
|
|
}
|
|
|
|
func init() {
|
|
inputs.Add("cgroup", func() telegraf.Input { return &CGroup{} })
|
|
}
|