Cherry-pick #22879 to 7.x: libbeat: override /sys/fs/cgroup paths in Docker#23050
Merged
axw merged 3 commits intoelastic:7.xfrom Dec 16, 2020
Merged
Cherry-pick #22879 to 7.x: libbeat: override /sys/fs/cgroup paths in Docker#23050axw merged 3 commits intoelastic:7.xfrom
axw merged 3 commits intoelastic:7.xfrom
Conversation
* libbeat: override /sys/fs/cgroup paths in Docker When running in Docker, make sure metrics are read from `/sys/fs/cgroup/<subsystem>`, ignoring any paths in `/proc/self/cgroup`. Fixes elastic#22844 (cherry picked from commit 7e1520f)
Contributor
|
Pinging @elastic/integrations-services (Team:Services) |
Contributor
kaiyan-sheng
approved these changes
Dec 15, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cherry-pick of PR #22879 to 7.x branch. Original message:
What does this PR do?
This PR adds an undocumented environment variable,
LIBBEAT_MONITORING_CGROUPS_HIERARCHY_OVERRIDE, which can be used to override where cgroup metrics are found. This follows the approach taken by Elasticsearch (elastic/elasticsearch#22757), Kibana, and Logstash. The environment variable is set (to "/") in the Docker images.Why is it important?
Under Docker, the paths in
/proc/<pid>/cgroupdo not have corresponding paths under/sys/fs/cgroup/<subsystem>. Instead, we should assume a root cgroup and read directly from the files in the subsystem directories.Checklist
- [ ] I have made corresponding changes to the documentation- [ ] I have added tests that prove my fix is effective or that my feature worksCHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.How to test this PR locally
PLATFORMS=linux/amd64 TYPES=docker mage package)docker image load < build/distributions/filebeat-8.0.0-linux-amd64.docker.tar.gzRelated issues
Fixes #22844