From a57fe3664308150fa9d36adeb688de4b454240ad Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Wed, 27 Apr 2022 18:41:20 -0700 Subject: [PATCH] collectd: add cgroup v2 config Ubuntu 22 has cgroup v2 config by default https://rootlesscontaine.rs/getting-started/common/cgroup2/#checking-whether-cgroup-v2-is-already-enabled https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html https://man7.org/training/download/splc_cgroups_v1_slides.pdf --- src/apptask.js | 7 +++- src/collectd/{app.ejs => app_cgroup_v1.ejs} | 0 src/collectd/app_cgroup_v2.ejs | 42 +++++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) rename src/collectd/{app.ejs => app_cgroup_v1.ejs} (100%) create mode 100644 src/collectd/app_cgroup_v2.ejs diff --git a/src/apptask.js b/src/apptask.js index a06938096..2259e27b8 100644 --- a/src/apptask.js +++ b/src/apptask.js @@ -41,11 +41,14 @@ const apps = require('./apps.js'), sysinfo = require('./sysinfo.js'), _ = require('underscore'); -const COLLECTD_CONFIG_EJS = fs.readFileSync(__dirname + '/collectd/app.ejs', { encoding: 'utf8' }), - MV_VOLUME_CMD = path.join(__dirname, 'scripts/mvvolume.sh'), +const MV_VOLUME_CMD = path.join(__dirname, 'scripts/mvvolume.sh'), LOGROTATE_CONFIG_EJS = fs.readFileSync(__dirname + '/logrotate.ejs', { encoding: 'utf8' }), CONFIGURE_LOGROTATE_CMD = path.join(__dirname, 'scripts/configurelogrotate.sh'); +// https://rootlesscontaine.rs/getting-started/common/cgroup2/#checking-whether-cgroup-v2-is-already-enabled +const CGROUP_VERSION = fs.existsSync('/sys/fs/cgroup/cgroup.controllers') ? '2' : '1'; +const COLLECTD_CONFIG_EJS = fs.readFileSync(`${__dirname}/collectd/app_cgroup_v${CGROUP_VERSION}.ejs`, { encoding: 'utf8' }); + function makeTaskError(error, app) { assert.strictEqual(typeof error, 'object'); assert.strictEqual(typeof app, 'object'); diff --git a/src/collectd/app.ejs b/src/collectd/app_cgroup_v1.ejs similarity index 100% rename from src/collectd/app.ejs rename to src/collectd/app_cgroup_v1.ejs diff --git a/src/collectd/app_cgroup_v2.ejs b/src/collectd/app_cgroup_v2.ejs new file mode 100644 index 000000000..fb821ff9d --- /dev/null +++ b/src/collectd/app_cgroup_v2.ejs @@ -0,0 +1,42 @@ +LoadPlugin "table" + + /memory.stat"> + Instance "<%= appId %>-memory" + Separator " \\n" + + Type gauge + InstancesFrom 0 + ValuesFrom 1 + +
+ + /memory.max"> + Instance "<%= appId %>-memory" + Separator "\\n" + + Type gauge + InstancePrefix "max_usage_in_bytes" + ValuesFrom 0 + +
+ + /cpu.stat"> + Instance "<%= appId %>-cpu" + Separator " \\n" + + Type gauge + InstancesFrom 0 + ValuesFrom 1 + +
+
+ + + + + Instance "<%= appId %>" + Dir "<%= appDataDir %>" + + + +