diff --git a/setup/start/collectd/docker-stats.py b/setup/start/collectd/docker-stats.py index dc96e236d..0b4aa414b 100644 --- a/setup/start/collectd/docker-stats.py +++ b/setup/start/collectd/docker-stats.py @@ -53,6 +53,12 @@ def read(): val.dispatch(values=[memMax], type_instance='mem-max') val.dispatch(values=[cpuPerc], type_instance='cpu-perc') + val = collectd.Values(type='counter', plugin='docker-stats', plugin_instance=containerName) + val.dispatch(values=[networkRead], type_instance='network-read') + val.dispatch(values=[networkWrite], type_instance='network-write') + val.dispatch(values=[blockRead], type_instance='blockio-read') + val.dispatch(values=[blockWrite], type_instance='blockio-write') + collectd.register_init(init) # see Interval setting in collectd.conf for polling interval collectd.register_read(read) diff --git a/src/graphs.js b/src/graphs.js index 8cbd8989d..a3043dea4 100644 --- a/src/graphs.js +++ b/src/graphs.js @@ -14,7 +14,7 @@ const apps = require('./apps.js'), system = require('./system.js'); // for testing locally: curl 'http://${graphite-ip}:8000/graphite-web/render?format=json&from=-1min&target=absolute(collectd.localhost.du-docker.capacity-usage)' -// the datapoint is (value, timestamp) https://buildmedia.readthedocs.org/media/pdf/graphite/0.9.16/graphite.pdf +// the datapoint is (value, timestamp) https://graphite.readthedocs.io/en/latest/ async function getGraphiteUrl() { const [error, result] = await safe(docker.inspect('graphite')); if (error && error.reason === BoxError.NOT_FOUND) return { status: exports.SERVICE_STATUS_STOPPED }; @@ -38,10 +38,10 @@ async function getByApp(app, fromMinutes, noNullPoints) { `summarize(collectd.localhost.docker-stats-${app.id}.gauge-cpu-perc, "${timeBucketSize}min", "avg")`, `summarize(collectd.localhost.docker-stats-${app.id}.gauge-mem-used, "${timeBucketSize}min", "avg")`, // `summarize(collectd.localhost.docker-stats-${app.id}.gauge-mem-max, "${timeBucketSize}min", "avg")`, - `summarize(collectd.localhost.docker-stats-${app.id}.gauge-blockio-read, "${timeBucketSize}min", "avg")`, - `summarize(collectd.localhost.docker-stats-${app.id}.gauge-blockio-write, "${timeBucketSize}min", "avg")`, - `summarize(collectd.localhost.docker-stats-${app.id}.gauge-network-read, "${timeBucketSize}min", "avg")`, - `summarize(collectd.localhost.docker-stats-${app.id}.gauge-network-write, "${timeBucketSize}min", "avg")`, + `summarize(collectd.localhost.docker-stats-${app.id}.counter-blockio-read, "${timeBucketSize}min", "sum")`, + `summarize(collectd.localhost.docker-stats-${app.id}.counter-blockio-write, "${timeBucketSize}min", "sum")`, + `summarize(collectd.localhost.docker-stats-${app.id}.counter-network-read, "${timeBucketSize}min", "sum")`, + `summarize(collectd.localhost.docker-stats-${app.id}.counter-network-write, "${timeBucketSize}min", "sum")`, ]; const results = [];