Clarify telegraf agent configuration to avoid metric buffer overflow

Hi everyone,

After getting some metric buffer overflow warning messages, I am trying to understand better how the fundamental agent parameters interval, metric_batch_size, metric_buffer_limit and flush_interval impact each other.

Looking the specification, these 3 parameters are defined as:

  • interval : Default data collection interval for all inputs
  • metric_batch_size : Telegraf will send metrics to output in batch of at most metric_batch_size metrics.
  • metric_buffer_limit : Telegraf will cache metric_buffer_limit metrics for each output, and will flush this buffer on a successful write. This should be a multiple of metric_batch_size and could not be less than 2 times metric_batch_size .
  • flush_interval : Default data flushing interval for all outputs. You should not set this below interval . Maximum flush_interval will be flush_interval + flush_jitter

What I understand is that

  • Data is only written to the output at each flush_interval .
  • If not all the data can be written, it uses the buffer to store.

What I am not sure to understand is when will the buffered data be written to the output again ? Will it be at next flush_interval occurence ?

Thanks in advance for your help on this !

hi @pkoeltz,
yes, you are correct. The data will be sent at the next flush interval.

1 Like

Thank you for your answer !

No worries :slight_smile: . Any time!