Documentation
¶
Index ¶
- func PluginNameCounts(plugins []string) []string
- func PrintInputConfig(name string) error
- func PrintOutputConfig(name string) error
- func PrintSampleConfig(sectionFilters []string, inputFilters []string, outputFilters []string, ...)
- type AgentConfig
- type Config
- func (c *Config) AggregatorNames() []string
- func (c *Config) InputNames() []string
- func (c *Config) ListTags() string
- func (c *Config) LoadConfig(path string) error
- func (c *Config) LoadConfigData(data []byte) error
- func (c *Config) LoadDirectory(path string) error
- func (c *Config) OutputNames() []string
- func (c *Config) ProcessorNames() []string
- type Duration
- type Size
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PluginNameCounts ¶ added in v1.16.0
PluginNameCounts returns a list of sorted plugin names and their count
func PrintInputConfig ¶
PrintInputConfig prints the config usage of a single input.
func PrintOutputConfig ¶
PrintOutputConfig prints the config usage of a single output.
Types ¶
type AgentConfig ¶
type AgentConfig struct {
// Interval at which to gather information
Interval internal.Duration
// RoundInterval rounds collection interval to 'interval'.
// ie, if Interval=10s then always collect on :00, :10, :20, etc.
RoundInterval bool
// By default or when set to "0s", precision will be set to the same
// timestamp order as the collection interval, with the maximum being 1s.
// ie, when interval = "10s", precision will be "1s"
// when interval = "250ms", precision will be "1ms"
// Precision will NOT be used for service inputs. It is up to each individual
// service input to set the timestamp at the appropriate precision.
Precision internal.Duration
// CollectionJitter is used to jitter the collection by a random amount.
// Each plugin will sleep for a random time within jitter before collecting.
// This can be used to avoid many plugins querying things like sysfs at the
// same time, which can have a measurable effect on the system.
CollectionJitter internal.Duration
// FlushInterval is the Interval at which to flush data
FlushInterval internal.Duration
// FlushJitter Jitters the flush interval by a random amount.
// This is primarily to avoid large write spikes for users running a large
// number of telegraf instances.
// ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
FlushJitter internal.Duration
// MetricBatchSize is the maximum number of metrics that is wrote to an
// output plugin in one call.
MetricBatchSize int
// MetricBufferLimit is the max number of metrics that each output plugin
// will cache. The buffer is cleared when a successful write occurs. When
// full, the oldest metrics will be overwritten. This number should be a
// multiple of MetricBatchSize. Due to current implementation, this could
// not be less than 2 times MetricBatchSize.
MetricBufferLimit int
// FlushBufferWhenFull tells Telegraf to flush the metric buffer whenever
// it fills up, regardless of FlushInterval. Setting this option to true
// does _not_ deactivate FlushInterval.
FlushBufferWhenFull bool // deprecated in 0.13; has no effect
// TODO(cam): Remove UTC and parameter, they are no longer
// valid for the agent config. Leaving them here for now for backwards-
// compatibility
UTC bool `toml:"utc"` // deprecated in 1.0.0; has no effect
// Debug is the option for running in debug mode
Debug bool `toml:"debug"`
// Quiet is the option for running in quiet mode
Quiet bool `toml:"quiet"`
// Log target controls the destination for logs and can be one of "file",
// "stderr" or, on Windows, "eventlog". When set to "file", the output file
// is determined by the "logfile" setting.
LogTarget string `toml:"logtarget"`
// Name of the file to be logged to when using the "file" logtarget. If set to
// the empty string then logs are written to stderr.
Logfile string `toml:"logfile"`
// The file will be rotated after the time interval specified. When set
// to 0 no time based rotation is performed.
LogfileRotationInterval internal.Duration `toml:"logfile_rotation_interval"`
// The logfile will be rotated when it becomes larger than the specified
// size. When set to 0 no size based rotation is performed.
LogfileRotationMaxSize internal.Size `toml:"logfile_rotation_max_size"`
// Maximum number of rotated archives to keep, any older logs are deleted.
// If set to -1, no archives are removed.
LogfileRotationMaxArchives int `toml:"logfile_rotation_max_archives"`
Hostname string
OmitHostname bool
}
AgentConfig defines configuration that will be used by the Telegraf agent
type Config ¶
type Config struct {
UnusedFields map[string]bool
Tags map[string]string
InputFilters []string
OutputFilters []string
Agent *AgentConfig
Inputs []*models.RunningInput
Outputs []*models.RunningOutput
Aggregators []*models.RunningAggregator
// Processors have a slice wrapper type because they need to be sorted
Processors models.RunningProcessors
AggProcessors models.RunningProcessors
// contains filtered or unexported fields
}
Config specifies the URL/user/password for the database that telegraf will be logging to, as well as all the plugins that the user has specified
func NewConfig ¶
func NewConfig() *Config
NewConfig creates a new struct to hold the Telegraf config. For historical reasons, It holds the actual instances of the running plugins once the configuration is parsed.
func (*Config) AggregatorNames ¶
AggregatorNames returns a list of strings of the configured aggregators.
func (*Config) InputNames ¶
InputNames returns a list of strings of the configured inputs.
func (*Config) ListTags ¶
ListTags returns a string of tags specified in the config, line-protocol style
func (*Config) LoadConfig ¶
LoadConfig loads the given config file and applies it to c
func (*Config) LoadConfigData ¶
LoadConfigData loads TOML-formatted config data
func (*Config) LoadDirectory ¶
LoadDirectory loads all toml config files found in the specified path, recursively.
func (*Config) OutputNames ¶
OutputNames returns a list of strings of the configured outputs.
func (*Config) ProcessorNames ¶
ProcessorNames returns a list of strings of the configured processors.
type Duration ¶
Duration is a time.Duration
func (*Duration) UnmarshalTOML ¶
UnmarshalTOML parses the duration from the TOML config file