Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameterize buffer settings for Fluentd Logs/Metrics #99

Merged
merged 2 commits into from Jul 29, 2019

Conversation

rvmiller89
Copy link
Contributor

@rvmiller89 rvmiller89 commented Jul 29, 2019

  • Raise number of threads per output plugin to 4 threads to alleviate http bottleneck
  • Apply same buffer configuration settings to both logs and metrics output plugins
  • Specify gzip compression for fluentd to use internally when buffering to maximize amount of buffering we can do
  • Parameterize chunk_limit_size (http payload size) with 100KB max, and total_limit_size (amount of memory used per plugin) with 128MB max

Tested bringing up Fluentd pods and ensured log and metric collection is working.

samjsong
samjsong previously approved these changes Jul 29, 2019
lei-sumo
lei-sumo previously approved these changes Jul 29, 2019
add_timestamp "#{ENV['ADD_TIMESTAMP']}"
timestamp_key "#{ENV['TIMESTAMP_KEY']}"
proxy_uri "#{ENV['PROXY_URI']}"
@include buffer.output.conf
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a nice one. Can we also do some similar abstraction for other configurations? e.g.
data_type metrics
metric_data_format prometheus
disable_cookies true

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure I can DRY this up more. It's too bad fluentd only supports include and not macro templates that we could parameterize.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, can you approve again ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. thanks

@@ -43,7 +43,9 @@ RUN gem sources --clear-all \
# Default settings for log collection
ENV LOG_FORMAT "fields"
ENV FLUSH_INTERVAL "5s"
ENV NUM_THREADS "1"
ENV NUM_THREADS "4"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it mean every plugin will have 4 threads? Does it harm if we set it to an even higher value?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it does. I picked 4 because that's what the collector uses. I recommend we try it for a while, work on instrumenting some metrics so we can see queue size, and only increase it once we can observe the effects.

@rvmiller89 rvmiller89 dismissed stale reviews from lei-sumo and samjsong via 3634243 July 29, 2019 23:24
@rvmiller89 rvmiller89 merged commit 27ab2f1 into master Jul 29, 2019
@rvmiller89 rvmiller89 deleted the rmiller-configure-buffer-logs-metrics-yaml branch July 29, 2019 23:40
psaia pushed a commit to psaia/sumologic-kubernetes-collection that referenced this pull request May 25, 2021
psaia pushed a commit to psaia/sumologic-kubernetes-collection that referenced this pull request May 25, 2021
* Instructions for using the adutil

* Update security team's filter (SumoLogic#99)

* PUBP-8182: provision elections collector (SumoLogic#98)

* PUBP-8182: provision elections collector

* PUBP-8182: provision elections collector

* PUBP-8182: renaming module to match repo name

* PUBP-8182: renaming output

Co-authored-by: Malcolm Jones <17786500+mlclmj@users.noreply.github.com>

* Add logging for AD parameters (SumoLogic#95)

* Log the vars subitted

* fix wording, enumerate commands directly

* drone sign

Co-authored-by: Marcin Suterski <msuterski@users.noreply.github.com>

* added collector for nytm/dv-drone in TF (SumoLogic#100)

* Adding collector for spg-inyt-subscription-api (SumoLogic#101)

* remove 'manageIndexes' from samizdat role (SumoLogic#102)

* Add ADR regarding AD groups and nesting (SumoLogic#12)

* adr 7

* Update and rename 0007-controlling-role-access-through-ad.md to 0008-controlling-role-access-through-ad.md

* Feature/add collector int fallback role (SumoLogic#104)

* adding new collector to the role

* adding new collector to the role

* Adutil instructions moved to dv-docs

* update link

Co-authored-by: Marcin Suterski <msuterski@users.noreply.github.com>
Co-authored-by: Shreelekha Tanna <shree.tanna@nytimes.com>
Co-authored-by: Malcolm Jones <17786500+mlclmj@users.noreply.github.com>
Co-authored-by: Prune Sebastien THOMAS <prune@lecentre.net>
Co-authored-by: satyabodharao <47533173+satyabodharao@users.noreply.github.com>
Co-authored-by: Shawn Bower <shawn.bower@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants