diff --git a/config-reloader/config/config.go b/config-reloader/config/config.go index e7717cb5..a49286b2 100644 --- a/config-reloader/config/config.go +++ b/config-reloader/config/config.go @@ -56,6 +56,7 @@ type Config struct { ParsedMetaValues map[string]string ParsedLabelSelector labels.Set ExecTimeoutSeconds int + ReadBytesLimit int } var defaultConfig = &Config{ @@ -78,6 +79,7 @@ var defaultConfig = &Config{ MetricsPort: 9000, AdminNamespace: "kube-system", ExecTimeoutSeconds: 30, + ReadBytesLimit: 51200, } var reValidID = regexp.MustCompile("([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]") @@ -251,6 +253,9 @@ func (cfg *Config) ParseFlags(args []string) error { app.Flag("admin-namespace", "Configurations defined in this namespace are copied as is, without further processing. Virtual plugins can also be defined in this namespace").Default(defaultConfig.AdminNamespace).StringVar(&cfg.AdminNamespace) app.Flag("exec-timeout", "Timeout duration (in seconds) for exec command during validation").Default(strconv.Itoa(defaultConfig.ExecTimeoutSeconds)).IntVar(&cfg.ExecTimeoutSeconds) + + app.Flag("container-bytes-limit", "read_bytes_limit_per_second parameter for tail plugin per container file. Default 2MB/min").Default(strconv.Itoa(defaultConfig.ReadBytesLimit)).IntVar(&cfg.ReadBytesLimit) + _, err := app.Parse(args) if err != nil { diff --git a/config-reloader/generator/generator.go b/config-reloader/generator/generator.go index 2d416d42..46762147 100644 --- a/config-reloader/generator/generator.go +++ b/config-reloader/generator/generator.go @@ -337,9 +337,11 @@ func (g *generatorInstance) renderIncludableFile(templateFile string, dest strin model := struct { ID string PrometheusEnabled bool + ReadBytesLimit int }{ ID: util.MakeFluentdSafeName(g.cfg.ID), PrometheusEnabled: g.cfg.PrometheusEnabled, + ReadBytesLimit: g.cfg.ReadBytesLimit, } err = util.TemplateAndWriteFile(tmpl, model, dest) diff --git a/config-reloader/templates/kubernetes.conf b/config-reloader/templates/kubernetes.conf index 60013b5b..efca613b 100644 --- a/config-reloader/templates/kubernetes.conf +++ b/config-reloader/templates/kubernetes.conf @@ -10,7 +10,7 @@ skip_refresh_on_startup true tag kubernetes.* read_from_head true - read_bytes_limit_per_second 8192 + read_bytes_limit_per_second {{.ReadBytesLimit}} multiline_flush_interval 5s @type multiline