From d37c77def91c742285d611996a29a9543a06fd82 Mon Sep 17 00:00:00 2001 From: Monica Sarbu Date: Fri, 16 Sep 2016 11:51:11 +0200 Subject: [PATCH] Add a sample Kibana dashboard for cgroups data (#2555) --- CHANGELOG.asciidoc | 1 + .../dashboard/CPU-slash-Memory-per-container.json | 13 +++++++++++++ .../kibana/visualization/Container-Block-IO.json | 10 ++++++++++ .../kibana/visualization/Container-CPU-usage.json | 10 ++++++++++ .../visualization/Container-Memory-stats.json | 10 ++++++++++ .../etc/kibana/visualization/System-Navigation.json | 2 +- 6 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 metricbeat/etc/kibana/dashboard/CPU-slash-Memory-per-container.json create mode 100644 metricbeat/etc/kibana/visualization/Container-Block-IO.json create mode 100644 metricbeat/etc/kibana/visualization/Container-CPU-usage.json create mode 100644 metricbeat/etc/kibana/visualization/Container-Memory-stats.json diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc index 4d8131b4d787..6c9e1018dbca 100644 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@ -103,6 +103,7 @@ https://github.com/elastic/beats/compare/v5.0.0-alpha5...master[Check the HEAD d - Add experimental libbeat metricset in the beats module. {pull}2339[2339] - Improve mapping by converting half_float to scaled_float and integers to long. {pull}2430[2430] - Add experimental haproxy module. {pull}2384[2384] +- Add Kibana dashboard for cgroups data {pull}2555[2555] *Packetbeat* diff --git a/metricbeat/etc/kibana/dashboard/CPU-slash-Memory-per-container.json b/metricbeat/etc/kibana/dashboard/CPU-slash-Memory-per-container.json new file mode 100644 index 000000000000..7171f257caab --- /dev/null +++ b/metricbeat/etc/kibana/dashboard/CPU-slash-Memory-per-container.json @@ -0,0 +1,13 @@ +{ + "hits": 0, + "timeRestore": false, + "description": "", + "title": "CPU/Memory per container", + "uiStateJSON": "{\"P-2\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-4\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-5\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}}", + "panelsJSON": "[{\"col\":4,\"id\":\"Container-CPU-usage\",\"panelIndex\":2,\"row\":1,\"size_x\":9,\"size_y\":4,\"type\":\"visualization\"},{\"col\":1,\"id\":\"System-Navigation\",\"panelIndex\":3,\"row\":1,\"size_x\":3,\"size_y\":4,\"type\":\"visualization\"},{\"col\":1,\"id\":\"Container-Memory-stats\",\"panelIndex\":4,\"row\":5,\"size_x\":12,\"size_y\":3,\"type\":\"visualization\"},{\"col\":1,\"id\":\"Container-Block-IO\",\"panelIndex\":5,\"row\":8,\"size_x\":12,\"size_y\":4,\"type\":\"visualization\"}]", + "optionsJSON": "{\"darkTheme\":false}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}]}" + } +} \ No newline at end of file diff --git a/metricbeat/etc/kibana/visualization/Container-Block-IO.json b/metricbeat/etc/kibana/visualization/Container-Block-IO.json new file mode 100644 index 000000000000..1116e649a0fe --- /dev/null +++ b/metricbeat/etc/kibana/visualization/Container-Block-IO.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"Total\",\"field\":\"system.process.cgroup.blkio.total.bytes\"},\"schema\":\"metric\",\"type\":\"avg\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customLabel\":\"I/O\",\"field\":\"system.process.cgroup.blkio.total.ios\"},\"schema\":\"metric\",\"type\":\"avg\"},{\"enabled\":true,\"id\":\"3\",\"params\":{\"customLabel\":\"Container ID\",\"field\":\"system.process.cgroup.id\",\"order\":\"desc\",\"orderBy\":\"1\",\"size\":5},\"schema\":\"bucket\",\"type\":\"terms\"},{\"enabled\":true,\"id\":\"4\",\"params\":{\"customLabel\":\"Process name\",\"field\":\"system.process.name\",\"order\":\"desc\",\"orderBy\":\"1\",\"size\":5},\"schema\":\"bucket\",\"type\":\"terms\"}],\"listeners\":{},\"params\":{\"perPage\":10,\"showMeticsAtAllLevels\":false,\"showPartialRows\":false,\"showTotal\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"totalFunc\":\"sum\"},\"title\":\"Container Block IO\",\"type\":\"table\"}", + "description": "", + "title": "Container Block IO", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"metricbeat-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/etc/kibana/visualization/Container-CPU-usage.json b/metricbeat/etc/kibana/visualization/Container-CPU-usage.json new file mode 100644 index 000000000000..cb9b884c4c08 --- /dev/null +++ b/metricbeat/etc/kibana/visualization/Container-CPU-usage.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Container CPU usage\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpuacct.stats.user.ns\",\"customLabel\":\"CPU user\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpu.cfs.quota.us\",\"customLabel\":\"CPU quota\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"system.process.cgroup.id\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Counter ID\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpu.stats.throttled.ns\",\"customLabel\":\"CPU throttling\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpuacct.stats.system.ns\",\"customLabel\":\"CPU kernel\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"system.process.name\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Process name\"}}],\"listeners\":{}}", + "description": "", + "title": "Container CPU usage", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"metricbeat-*\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/etc/kibana/visualization/Container-Memory-stats.json b/metricbeat/etc/kibana/visualization/Container-Memory-stats.json new file mode 100644 index 000000000000..37c54439de95 --- /dev/null +++ b/metricbeat/etc/kibana/visualization/Container-Memory-stats.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Container Memory stats\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showMeticsAtAllLevels\":false,\"showPartialRows\":false,\"showTotal\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"13\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.usage.bytes\",\"customLabel\":\"Usage\"}},{\"id\":\"14\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.usage.max.bytes\",\"customLabel\":\"Max usage\"}},{\"id\":\"1\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.page_faults\",\"customLabel\":\"Page faults\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.pages_in\",\"customLabel\":\"Pages in memory\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.pages_out\",\"customLabel\":\"Pages out of memory\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"system.process.cgroup.id\",\"size\":50,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Container ID\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.inactive_file.bytes\",\"customLabel\":\"Inactive files\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.major_page_faults\",\"customLabel\":\"# Major page faults\"}},{\"id\":\"8\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"system.process.name\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Process name\"}},{\"id\":\"12\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.failures\",\"customLabel\":\"Failures\"}},{\"id\":\"10\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.kmem_tcp.usage.bytes\",\"customLabel\":\"TCP buffers\"}},{\"id\":\"11\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.rss_huge.bytes\",\"customLabel\":\"Huge pages\"}},{\"id\":\"7\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.rss.bytes\",\"customLabel\":\"Swap caches\"}},{\"id\":\"15\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.swap.bytes\",\"customLabel\":\"Swap usage\"}},{\"id\":\"16\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.blkio.total.ios\",\"customLabel\":\"Block I/O\"}}],\"listeners\":{}}", + "description": "", + "title": "Container Memory stats", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null}}}}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"metricbeat-*\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/etc/kibana/visualization/System-Navigation.json b/metricbeat/etc/kibana/visualization/System-Navigation.json index e10eba66f2c6..aea2d7ef55c0 100644 --- a/metricbeat/etc/kibana/visualization/System-Navigation.json +++ b/metricbeat/etc/kibana/visualization/System-Navigation.json @@ -1,5 +1,5 @@ { - "visState": "{\"title\":\"System Navigation\",\"type\":\"markdown\",\"params\":{\"markdown\":\"- [Overview](/#/dashboard/Metricbeat-system-overview)\\n\\n- [Load/CPU](/#/dashboard/Metricbeat-cpu)\\n\\n- [Memory](/#/dashboard/Metricbeat-memory)\\n\\n- [Processes](/#/dashboard/Metricbeat-processes)\\n\\n- [Network](/#/dashboard/Metricbeat-network)\\n\\n- [Filesystem](/#/dashboard/Metricbeat-filesystem)\\n\\n- [Filesystem per Host](/#/dashboard/Metricbeat-filesystem-per-Host)\"},\"aggs\":[],\"listeners\":{}}", + "visState": "{\"title\":\"System Navigation\",\"type\":\"markdown\",\"params\":{\"markdown\":\"- [Overview](/#/dashboard/Metricbeat-system-overview)\\n\\n- [Load/CPU](/#/dashboard/Metricbeat-cpu)\\n\\n- [Memory](/#/dashboard/Metricbeat-memory)\\n\\n- [Processes](/#/dashboard/Metricbeat-processes)\\n\\n- [Network](/#/dashboard/Metricbeat-network)\\n\\n- [Filesystem](/#/dashboard/Metricbeat-filesystem)\\n\\n- [Filesystem per Host](/#/dashboard/Metricbeat-filesystem-per-Host)\\n\\n- [CPU/Memory per container](/#/dashboard/CPU-slash-Memory-per-container)\"},\"aggs\":[],\"listeners\":{}}", "description": "", "title": "System Navigation", "uiStateJSON": "{}",