diff --git a/metricbeat/docs/fields.asciidoc b/metricbeat/docs/fields.asciidoc index 10292758cc92..4d56f3892f57 100644 --- a/metricbeat/docs/fields.asciidoc +++ b/metricbeat/docs/fields.asciidoc @@ -27,7 +27,6 @@ grouped in the following categories: * <> * <> * <> -* <> * <> * <> * <> @@ -3864,34 +3863,73 @@ type: long Total number of connections. -[[exported-fields-kubelet]] -== kubelet Fields +[[exported-fields-kubernetes]] +== Kubernetes info Fields -beta[] -kubelet metrics +Kubernetes metadata added by the kubernetes processor [float] -== kubelet Fields +=== kubernetes.pod.name -Information and statistics of pods managed by kubelet. +type: keyword +Kubernetes pod name [float] -== container Fields +=== kubernetes.namespace + +type: keyword + +Kubernetes namespace + + +[float] +=== kubernetes.labels + +type: object + +Kubernetes labels map -kubelet container metrics +[float] +=== kubernetes.annotations + +type: object + +Kubernetes annotations map [float] -=== kubelet.container.name +=== kubernetes.container.name type: keyword -Container name +Kubernetes container name + + +[[exported-fields-kubernetes]] +== kubernetes Fields + +beta[] +kubernetes metrics + + + +[float] +== kubernetes Fields + +Information and statistics of pods managed by kubernetes. + + + +[float] +== container Fields + +kubernetes container metrics + [float] @@ -3904,7 +3942,7 @@ CPU usage metrics [float] -=== kubelet.container.cpu.usage.core.ns +=== kubernetes.container.cpu.usage.core.ns type: long @@ -3912,7 +3950,7 @@ Container CPU Core usage nanoseconds [float] -=== kubelet.container.cpu.usage.nanocores +=== kubernetes.container.cpu.usage.nanocores type: long @@ -3928,7 +3966,7 @@ Logs info [float] -=== kubelet.container.logs.available.bytes +=== kubernetes.container.logs.available.bytes type: long @@ -3939,7 +3977,7 @@ Logs available capacity in bytes [float] -=== kubelet.container.logs.capacity.bytes +=== kubernetes.container.logs.capacity.bytes type: long @@ -3950,7 +3988,7 @@ Logs total capacity in bytes [float] -=== kubelet.container.logs.used.bytes +=== kubernetes.container.logs.used.bytes type: long @@ -3961,7 +3999,7 @@ Logs used capacity in bytes [float] -=== kubelet.container.logs.inodes.count +=== kubernetes.container.logs.inodes.count type: long @@ -3969,7 +4007,7 @@ Total available inodes [float] -=== kubelet.container.logs.inodes.free +=== kubernetes.container.logs.inodes.free type: long @@ -3977,7 +4015,7 @@ Total free inodes [float] -=== kubelet.container.logs.inodes.used +=== kubernetes.container.logs.inodes.used type: long @@ -3987,7 +4025,7 @@ Total used inodes [float] -=== kubelet.container.memory.available.bytes +=== kubernetes.container.memory.available.bytes type: long @@ -3998,7 +4036,7 @@ Total available memory [float] -=== kubelet.container.memory.usage.bytes +=== kubernetes.container.memory.usage.bytes type: long @@ -4009,7 +4047,7 @@ Total memory usage [float] -=== kubelet.container.memory.rss.bytes +=== kubernetes.container.memory.rss.bytes type: long @@ -4020,7 +4058,7 @@ RSS memory usage [float] -=== kubelet.container.memory.workingset.bytes +=== kubernetes.container.memory.workingset.bytes type: long @@ -4030,7 +4068,7 @@ Working set memory usage [float] -=== kubelet.container.memory.pagefaults +=== kubernetes.container.memory.pagefaults type: long @@ -4038,7 +4076,7 @@ Number of page faults [float] -=== kubelet.container.memory.majorpagefaults +=== kubernetes.container.memory.majorpagefaults type: long @@ -4048,7 +4086,7 @@ Number of major page faults [float] -=== kubelet.container.rootfs.capacity.bytes +=== kubernetes.container.rootfs.capacity.bytes type: long @@ -4059,7 +4097,7 @@ Root filesystem total capacity in bytes [float] -=== kubelet.container.rootfs.available.bytes +=== kubernetes.container.rootfs.available.bytes type: long @@ -4070,7 +4108,7 @@ Root filesystem total available in bytes [float] -=== kubelet.container.rootfs.used.bytes +=== kubernetes.container.rootfs.used.bytes type: long @@ -4081,7 +4119,7 @@ Root filesystem total used in bytes [float] -=== kubelet.container.rootfs.inodes.used +=== kubernetes.container.rootfs.inodes.used type: long @@ -4091,12 +4129,12 @@ Used inodes [float] == node Fields -kubelet node metrics +kubernetes node metrics [float] -=== kubelet.node.name +=== kubernetes.node.name type: keyword @@ -4113,7 +4151,7 @@ CPU usage metrics [float] -=== kubelet.node.cpu.usage.core.ns +=== kubernetes.node.cpu.usage.core.ns type: long @@ -4121,7 +4159,7 @@ Node CPU Core usage nanoseconds [float] -=== kubelet.node.cpu.usage.nanocores +=== kubernetes.node.cpu.usage.nanocores type: long @@ -4131,7 +4169,7 @@ CPU used nanocores [float] -=== kubelet.node.memory.available.bytes +=== kubernetes.node.memory.available.bytes type: long @@ -4142,7 +4180,7 @@ Total available memory [float] -=== kubelet.node.memory.usage.bytes +=== kubernetes.node.memory.usage.bytes type: long @@ -4153,7 +4191,7 @@ Total memory usage [float] -=== kubelet.node.memory.rss.bytes +=== kubernetes.node.memory.rss.bytes type: long @@ -4164,7 +4202,7 @@ RSS memory usage [float] -=== kubelet.node.memory.workingset.bytes +=== kubernetes.node.memory.workingset.bytes type: long @@ -4174,7 +4212,7 @@ Working set memory usage [float] -=== kubelet.node.memory.pagefaults +=== kubernetes.node.memory.pagefaults type: long @@ -4182,7 +4220,7 @@ Number of page faults [float] -=== kubelet.node.memory.majorpagefaults +=== kubernetes.node.memory.majorpagefaults type: long @@ -4192,7 +4230,7 @@ Number of major page faults [float] -=== kubelet.node.network.rx.bytes +=== kubernetes.node.network.rx.bytes type: long @@ -4202,7 +4240,7 @@ Received bytes [float] -=== kubelet.node.network.rx.errors +=== kubernetes.node.network.rx.errors type: long @@ -4211,7 +4249,7 @@ Rx errors [float] -=== kubelet.node.network.tx.bytes +=== kubernetes.node.network.tx.bytes type: long @@ -4221,7 +4259,7 @@ Transmitted bytes [float] -=== kubelet.node.network.tx.errors +=== kubernetes.node.network.tx.errors type: long @@ -4231,7 +4269,7 @@ Tx errors [float] -=== kubelet.node.fs.capacity.bytes +=== kubernetes.node.fs.capacity.bytes type: long @@ -4242,7 +4280,7 @@ Filesystem total capacity in bytes [float] -=== kubelet.node.fs.available.bytes +=== kubernetes.node.fs.available.bytes type: long @@ -4253,7 +4291,7 @@ Filesystem total available in bytes [float] -=== kubelet.node.fs.used.bytes +=== kubernetes.node.fs.used.bytes type: long @@ -4266,7 +4304,7 @@ Filesystem total used in bytes [float] -=== kubelet.node.runtime.imagefs.capacity.bytes +=== kubernetes.node.runtime.imagefs.capacity.bytes type: long @@ -4277,7 +4315,7 @@ Image filesystem total capacity in bytes [float] -=== kubelet.node.runtime.imagefs.available.bytes +=== kubernetes.node.runtime.imagefs.available.bytes type: long @@ -4288,7 +4326,7 @@ Image filesystem total available in bytes [float] -=== kubelet.node.runtime.imagefs.used.bytes +=== kubernetes.node.runtime.imagefs.used.bytes type: long @@ -4300,38 +4338,14 @@ Image filesystem total used in bytes [float] == pod Fields -kubelet pod metrics - - - -[float] -=== kubelet.pod.name - -type: keyword - -Pod name - - -[float] -=== kubelet.pod.namespace - -type: keyword - -Pod namespace - - -[float] -=== kubelet.pod.node +kubernetes pod metrics -type: keyword - -Pod node [float] -=== kubelet.pod.network.rx.bytes +=== kubernetes.pod.network.rx.bytes type: long @@ -4341,7 +4355,7 @@ Received bytes [float] -=== kubelet.pod.network.rx.errors +=== kubernetes.pod.network.rx.errors type: long @@ -4350,7 +4364,7 @@ Rx errors [float] -=== kubelet.pod.network.tx.bytes +=== kubernetes.pod.network.tx.bytes type: long @@ -4360,7 +4374,7 @@ Transmitted bytes [float] -=== kubelet.pod.network.tx.errors +=== kubernetes.pod.network.tx.errors type: long @@ -4370,12 +4384,12 @@ Tx errors [float] == system Fields -kubelet system containers metrics +kubernetes system containers metrics [float] -=== kubelet.system.container +=== kubernetes.system.container type: keyword @@ -4392,7 +4406,7 @@ CPU usage metrics [float] -=== kubelet.system.cpu.usage.core.ns +=== kubernetes.system.cpu.usage.core.ns type: long @@ -4400,7 +4414,7 @@ CPU Core usage nanoseconds [float] -=== kubelet.system.cpu.usage.nanocores +=== kubernetes.system.cpu.usage.nanocores type: long @@ -4410,7 +4424,7 @@ CPU used nanocores [float] -=== kubelet.system.memory.usage.bytes +=== kubernetes.system.memory.usage.bytes type: long @@ -4421,7 +4435,7 @@ Total memory usage [float] -=== kubelet.system.memory.rss.bytes +=== kubernetes.system.memory.rss.bytes type: long @@ -4432,7 +4446,7 @@ RSS memory usage [float] -=== kubelet.system.memory.workingset.bytes +=== kubernetes.system.memory.workingset.bytes type: long @@ -4442,7 +4456,7 @@ Working set memory usage [float] -=== kubelet.system.memory.pagefaults +=== kubernetes.system.memory.pagefaults type: long @@ -4450,7 +4464,7 @@ Number of page faults [float] -=== kubelet.system.memory.majorpagefaults +=== kubernetes.system.memory.majorpagefaults type: long @@ -4460,12 +4474,12 @@ Number of major page faults [float] == volume Fields -kubelet volume metrics +kubernetes volume metrics [float] -=== kubelet.volume.name +=== kubernetes.volume.name type: keyword @@ -4475,7 +4489,7 @@ Volume name [float] -=== kubelet.volume.fs.capacity.bytes +=== kubernetes.volume.fs.capacity.bytes type: long @@ -4486,7 +4500,7 @@ Filesystem total capacity in bytes [float] -=== kubelet.volume.fs.available.bytes +=== kubernetes.volume.fs.available.bytes type: long @@ -4497,7 +4511,7 @@ Filesystem total available in bytes [float] -=== kubelet.volume.fs.used.bytes +=== kubernetes.volume.fs.used.bytes type: long @@ -4508,7 +4522,7 @@ Filesystem total used in bytes [float] -=== kubelet.volume.fs.inodes.used +=== kubernetes.volume.fs.inodes.used type: long @@ -4516,7 +4530,7 @@ Used inodes [float] -=== kubelet.volume.fs.inodes.free +=== kubernetes.volume.fs.inodes.free type: long @@ -4524,60 +4538,13 @@ Free inodes [float] -=== kubelet.volume.fs.inodes.count +=== kubernetes.volume.fs.inodes.count type: long Total inodes -[[exported-fields-kubernetes]] -== Kubernetes info Fields - -Kubernetes metadata added by the kubernetes processor - - - -[float] -=== kubernetes.pod.name - -type: keyword - -Kubernetes pod name - - -[float] -=== kubernetes.namespace - -type: keyword - -Kubernetes namespace - - -[float] -=== kubernetes.labels - -type: object - -Kubernetes labels map - - -[float] -=== kubernetes.annotations - -type: object - -Kubernetes annotations map - - -[float] -=== kubernetes.container.name - -type: keyword - -Kubernetes container name - - [[exported-fields-memcached]] == memcached Fields diff --git a/metricbeat/docs/modules/kubelet.asciidoc b/metricbeat/docs/modules/kubelet.asciidoc deleted file mode 100644 index 2dffbaa5795c..000000000000 --- a/metricbeat/docs/modules/kubelet.asciidoc +++ /dev/null @@ -1,54 +0,0 @@ -//// -This file is generated! See scripts/docs_collector.py -//// - -[[metricbeat-module-kubelet]] -== kubelet Module - -beta[] - -This module fetches metrics from Kubernetes https://kubernetes.io/docs/admin/kubelet/[kubelet] agent. - - -[float] -=== Example Configuration - -The kubelet module supports the standard configuration options that are described -in <>. Here is an example configuration: - -[source,yaml] ----- -metricbeat.modules: -- module: kubelet - metricsets: ["node","container","volume","pod","system"] - enabled: false - period: 10s - hosts: ["localhost:10255"] - ----- - -[float] -=== Metricsets - -The following metricsets are available: - -* <> - -* <> - -* <> - -* <> - -* <> - -include::kubelet/container.asciidoc[] - -include::kubelet/node.asciidoc[] - -include::kubelet/pod.asciidoc[] - -include::kubelet/system.asciidoc[] - -include::kubelet/volume.asciidoc[] - diff --git a/metricbeat/docs/modules/kubelet/container.asciidoc b/metricbeat/docs/modules/kubelet/container.asciidoc deleted file mode 100644 index 1b07114e1554..000000000000 --- a/metricbeat/docs/modules/kubelet/container.asciidoc +++ /dev/null @@ -1,19 +0,0 @@ -//// -This file is generated! See scripts/docs_collector.py -//// - -[[metricbeat-metricset-kubelet-container]] -include::../../../module/kubelet/container/_meta/docs.asciidoc[] - - -==== Fields - -For a description of each field in the metricset, see the -<> section. - -Here is an example document generated by this metricset: - -[source,json] ----- -include::../../../module/kubelet/container/_meta/data.json[] ----- diff --git a/metricbeat/docs/modules/kubelet/system.asciidoc b/metricbeat/docs/modules/kubelet/system.asciidoc deleted file mode 100644 index bc89fdaef2f5..000000000000 --- a/metricbeat/docs/modules/kubelet/system.asciidoc +++ /dev/null @@ -1,19 +0,0 @@ -//// -This file is generated! See scripts/docs_collector.py -//// - -[[metricbeat-metricset-kubelet-system]] -include::../../../module/kubelet/system/_meta/docs.asciidoc[] - - -==== Fields - -For a description of each field in the metricset, see the -<> section. - -Here is an example document generated by this metricset: - -[source,json] ----- -include::../../../module/kubelet/system/_meta/data.json[] ----- diff --git a/metricbeat/docs/modules/kubelet/volume.asciidoc b/metricbeat/docs/modules/kubelet/volume.asciidoc deleted file mode 100644 index 59cc6cca253c..000000000000 --- a/metricbeat/docs/modules/kubelet/volume.asciidoc +++ /dev/null @@ -1,19 +0,0 @@ -//// -This file is generated! See scripts/docs_collector.py -//// - -[[metricbeat-metricset-kubelet-volume]] -include::../../../module/kubelet/volume/_meta/docs.asciidoc[] - - -==== Fields - -For a description of each field in the metricset, see the -<> section. - -Here is an example document generated by this metricset: - -[source,json] ----- -include::../../../module/kubelet/volume/_meta/data.json[] ----- diff --git a/metricbeat/docs/modules/kubernetes.asciidoc b/metricbeat/docs/modules/kubernetes.asciidoc new file mode 100644 index 000000000000..0b00b7c85fd7 --- /dev/null +++ b/metricbeat/docs/modules/kubernetes.asciidoc @@ -0,0 +1,54 @@ +//// +This file is generated! See scripts/docs_collector.py +//// + +[[metricbeat-module-kubernetes]] +== kubernetes Module + +beta[] + +This module fetches metrics from Kubernetes https://kubernetes.io/docs/admin/kubelet/[kubelet] agent. + + +[float] +=== Example Configuration + +The kubernetes module supports the standard configuration options that are described +in <>. Here is an example configuration: + +[source,yaml] +---- +metricbeat.modules: +- module: kubernetes + metricsets: ["node","container","volume","pod","system"] + enabled: false + period: 10s + hosts: ["localhost:10255"] + +---- + +[float] +=== Metricsets + +The following metricsets are available: + +* <> + +* <> + +* <> + +* <> + +* <> + +include::kubernetes/container.asciidoc[] + +include::kubernetes/node.asciidoc[] + +include::kubernetes/pod.asciidoc[] + +include::kubernetes/system.asciidoc[] + +include::kubernetes/volume.asciidoc[] + diff --git a/metricbeat/docs/modules/kubernetes/container.asciidoc b/metricbeat/docs/modules/kubernetes/container.asciidoc new file mode 100644 index 000000000000..1eaff527eefa --- /dev/null +++ b/metricbeat/docs/modules/kubernetes/container.asciidoc @@ -0,0 +1,19 @@ +//// +This file is generated! See scripts/docs_collector.py +//// + +[[metricbeat-metricset-kubernetes-container]] +include::../../../module/kubernetes/container/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + +Here is an example document generated by this metricset: + +[source,json] +---- +include::../../../module/kubernetes/container/_meta/data.json[] +---- diff --git a/metricbeat/docs/modules/kubelet/node.asciidoc b/metricbeat/docs/modules/kubernetes/node.asciidoc similarity index 50% rename from metricbeat/docs/modules/kubelet/node.asciidoc rename to metricbeat/docs/modules/kubernetes/node.asciidoc index 0c263b376b62..1f67d2666d18 100644 --- a/metricbeat/docs/modules/kubelet/node.asciidoc +++ b/metricbeat/docs/modules/kubernetes/node.asciidoc @@ -2,18 +2,18 @@ This file is generated! See scripts/docs_collector.py //// -[[metricbeat-metricset-kubelet-node]] -include::../../../module/kubelet/node/_meta/docs.asciidoc[] +[[metricbeat-metricset-kubernetes-node]] +include::../../../module/kubernetes/node/_meta/docs.asciidoc[] ==== Fields For a description of each field in the metricset, see the -<> section. +<> section. Here is an example document generated by this metricset: [source,json] ---- -include::../../../module/kubelet/node/_meta/data.json[] +include::../../../module/kubernetes/node/_meta/data.json[] ---- diff --git a/metricbeat/docs/modules/kubelet/pod.asciidoc b/metricbeat/docs/modules/kubernetes/pod.asciidoc similarity index 50% rename from metricbeat/docs/modules/kubelet/pod.asciidoc rename to metricbeat/docs/modules/kubernetes/pod.asciidoc index 4de69b7b98b9..c47c6db6f3b7 100644 --- a/metricbeat/docs/modules/kubelet/pod.asciidoc +++ b/metricbeat/docs/modules/kubernetes/pod.asciidoc @@ -2,18 +2,18 @@ This file is generated! See scripts/docs_collector.py //// -[[metricbeat-metricset-kubelet-pod]] -include::../../../module/kubelet/pod/_meta/docs.asciidoc[] +[[metricbeat-metricset-kubernetes-pod]] +include::../../../module/kubernetes/pod/_meta/docs.asciidoc[] ==== Fields For a description of each field in the metricset, see the -<> section. +<> section. Here is an example document generated by this metricset: [source,json] ---- -include::../../../module/kubelet/pod/_meta/data.json[] +include::../../../module/kubernetes/pod/_meta/data.json[] ---- diff --git a/metricbeat/docs/modules/kubernetes/system.asciidoc b/metricbeat/docs/modules/kubernetes/system.asciidoc new file mode 100644 index 000000000000..f9a321d79a9e --- /dev/null +++ b/metricbeat/docs/modules/kubernetes/system.asciidoc @@ -0,0 +1,19 @@ +//// +This file is generated! See scripts/docs_collector.py +//// + +[[metricbeat-metricset-kubernetes-system]] +include::../../../module/kubernetes/system/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + +Here is an example document generated by this metricset: + +[source,json] +---- +include::../../../module/kubernetes/system/_meta/data.json[] +---- diff --git a/metricbeat/docs/modules/kubernetes/volume.asciidoc b/metricbeat/docs/modules/kubernetes/volume.asciidoc new file mode 100644 index 000000000000..4ce573fd66c4 --- /dev/null +++ b/metricbeat/docs/modules/kubernetes/volume.asciidoc @@ -0,0 +1,19 @@ +//// +This file is generated! See scripts/docs_collector.py +//// + +[[metricbeat-metricset-kubernetes-volume]] +include::../../../module/kubernetes/volume/_meta/docs.asciidoc[] + + +==== Fields + +For a description of each field in the metricset, see the +<> section. + +Here is an example document generated by this metricset: + +[source,json] +---- +include::../../../module/kubernetes/volume/_meta/data.json[] +---- diff --git a/metricbeat/docs/modules_list.asciidoc b/metricbeat/docs/modules_list.asciidoc index 987501c4c1b7..669a314c623e 100644 --- a/metricbeat/docs/modules_list.asciidoc +++ b/metricbeat/docs/modules_list.asciidoc @@ -14,7 +14,7 @@ This file is generated! See scripts/docs_collector.py * <> * <> * <> - * <> + * <> * <> * <> * <> @@ -43,7 +43,7 @@ include::modules/http.asciidoc[] include::modules/jolokia.asciidoc[] include::modules/kafka.asciidoc[] include::modules/kibana.asciidoc[] -include::modules/kubelet.asciidoc[] +include::modules/kubernetes.asciidoc[] include::modules/memcached.asciidoc[] include::modules/mongodb.asciidoc[] include::modules/mysql.asciidoc[] diff --git a/metricbeat/include/list.go b/metricbeat/include/list.go index 416601003ff1..a9c978325a41 100644 --- a/metricbeat/include/list.go +++ b/metricbeat/include/list.go @@ -48,12 +48,12 @@ import ( _ "github.com/elastic/beats/metricbeat/module/kafka/partition" _ "github.com/elastic/beats/metricbeat/module/kibana" _ "github.com/elastic/beats/metricbeat/module/kibana/status" - _ "github.com/elastic/beats/metricbeat/module/kubelet" - _ "github.com/elastic/beats/metricbeat/module/kubelet/container" - _ "github.com/elastic/beats/metricbeat/module/kubelet/node" - _ "github.com/elastic/beats/metricbeat/module/kubelet/pod" - _ "github.com/elastic/beats/metricbeat/module/kubelet/system" - _ "github.com/elastic/beats/metricbeat/module/kubelet/volume" + _ "github.com/elastic/beats/metricbeat/module/kubernetes" + _ "github.com/elastic/beats/metricbeat/module/kubernetes/container" + _ "github.com/elastic/beats/metricbeat/module/kubernetes/node" + _ "github.com/elastic/beats/metricbeat/module/kubernetes/pod" + _ "github.com/elastic/beats/metricbeat/module/kubernetes/system" + _ "github.com/elastic/beats/metricbeat/module/kubernetes/volume" _ "github.com/elastic/beats/metricbeat/module/memcached" _ "github.com/elastic/beats/metricbeat/module/memcached/stats" _ "github.com/elastic/beats/metricbeat/module/mongodb" diff --git a/metricbeat/metricbeat.full.yml b/metricbeat/metricbeat.full.yml index e6aee6445511..b3ee88889a9f 100644 --- a/metricbeat/metricbeat.full.yml +++ b/metricbeat/metricbeat.full.yml @@ -237,8 +237,8 @@ metricbeat.modules: period: 10s hosts: ["localhost:5601"] -#------------------------------- kubelet Module ------------------------------ -- module: kubelet +#----------------------------- kubernetes Module ----------------------------- +- module: kubernetes metricsets: ["node","container","volume","pod","system"] enabled: false period: 10s diff --git a/metricbeat/module/kubelet/_meta/fields.yml b/metricbeat/module/kubelet/_meta/fields.yml deleted file mode 100644 index e2bb56b14b50..000000000000 --- a/metricbeat/module/kubelet/_meta/fields.yml +++ /dev/null @@ -1,13 +0,0 @@ -- key: kubelet - title: "kubelet" - description: > - beta[] - - kubelet metrics - short_config: false - fields: - - name: kubelet - type: group - description: > - Information and statistics of pods managed by kubelet. - fields: diff --git a/metricbeat/module/kubelet/container/_meta/docs.asciidoc b/metricbeat/module/kubelet/container/_meta/docs.asciidoc deleted file mode 100644 index 880c8fab2a33..000000000000 --- a/metricbeat/module/kubelet/container/_meta/docs.asciidoc +++ /dev/null @@ -1,3 +0,0 @@ -=== kubelet container MetricSet - -This is the container metricset of the module kubelet. diff --git a/metricbeat/module/kubelet/doc.go b/metricbeat/module/kubelet/doc.go deleted file mode 100644 index 14ec1f5948b5..000000000000 --- a/metricbeat/module/kubelet/doc.go +++ /dev/null @@ -1,4 +0,0 @@ -/* -Package kubelet is a Metricbeat module that contains MetricSets. -*/ -package kubelet diff --git a/metricbeat/module/kubelet/node/_meta/docs.asciidoc b/metricbeat/module/kubelet/node/_meta/docs.asciidoc deleted file mode 100644 index 0b7b520120da..000000000000 --- a/metricbeat/module/kubelet/node/_meta/docs.asciidoc +++ /dev/null @@ -1,3 +0,0 @@ -=== kubelet node MetricSet - -This is the node metricset of the module kubelet. diff --git a/metricbeat/module/kubelet/pod/_meta/docs.asciidoc b/metricbeat/module/kubelet/pod/_meta/docs.asciidoc deleted file mode 100644 index 02711aa7bd85..000000000000 --- a/metricbeat/module/kubelet/pod/_meta/docs.asciidoc +++ /dev/null @@ -1,3 +0,0 @@ -=== kubelet pod MetricSet - -This is the pod metricset of the module kubelet. diff --git a/metricbeat/module/kubelet/system/_meta/docs.asciidoc b/metricbeat/module/kubelet/system/_meta/docs.asciidoc deleted file mode 100644 index 8137c6941830..000000000000 --- a/metricbeat/module/kubelet/system/_meta/docs.asciidoc +++ /dev/null @@ -1,3 +0,0 @@ -=== kubelet system MetricSet - -This is the system metricset of the module kubelet. diff --git a/metricbeat/module/kubelet/volume/_meta/docs.asciidoc b/metricbeat/module/kubelet/volume/_meta/docs.asciidoc deleted file mode 100644 index 3e2368cb148f..000000000000 --- a/metricbeat/module/kubelet/volume/_meta/docs.asciidoc +++ /dev/null @@ -1,3 +0,0 @@ -=== kubelet volume MetricSet - -This is the volume metricset of the module kubelet. diff --git a/metricbeat/module/kubelet/_meta/config.yml b/metricbeat/module/kubernetes/_meta/config.yml similarity index 85% rename from metricbeat/module/kubelet/_meta/config.yml rename to metricbeat/module/kubernetes/_meta/config.yml index 79edf380a37d..203d72470a92 100644 --- a/metricbeat/module/kubelet/_meta/config.yml +++ b/metricbeat/module/kubernetes/_meta/config.yml @@ -1,4 +1,4 @@ -- module: kubelet +- module: kubernetes metricsets: ["node","container","volume","pod","system"] enabled: false period: 10s diff --git a/metricbeat/module/kubelet/_meta/docs.asciidoc b/metricbeat/module/kubernetes/_meta/docs.asciidoc similarity index 84% rename from metricbeat/module/kubelet/_meta/docs.asciidoc rename to metricbeat/module/kubernetes/_meta/docs.asciidoc index 94b89916e478..c378d5bbd6cf 100644 --- a/metricbeat/module/kubelet/_meta/docs.asciidoc +++ b/metricbeat/module/kubernetes/_meta/docs.asciidoc @@ -1,4 +1,4 @@ -== kubelet Module +== kubernetes Module beta[] diff --git a/metricbeat/module/kubernetes/_meta/fields.yml b/metricbeat/module/kubernetes/_meta/fields.yml new file mode 100644 index 000000000000..7dd514e41832 --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/fields.yml @@ -0,0 +1,13 @@ +- key: kubernetes + title: "kubernetes" + description: > + beta[] + + kubernetes metrics + short_config: false + fields: + - name: kubernetes + type: group + description: > + Information and statistics of pods managed by kubernetes. + fields: diff --git a/metricbeat/module/kubernetes/_meta/kibana/dashboard/a6515dc0-2bfd-11e7-b842-61c225fba0d6.json b/metricbeat/module/kubernetes/_meta/kibana/dashboard/a6515dc0-2bfd-11e7-b842-61c225fba0d6.json new file mode 100644 index 000000000000..7a4d71830e34 --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/dashboard/a6515dc0-2bfd-11e7-b842-61c225fba0d6.json @@ -0,0 +1,13 @@ +{ + "hits": 0, + "timeRestore": false, + "description": "", + "title": "Kubernetes overview", + "uiStateJSON": "{}", + "panelsJSON": "[{\"size_x\":6,\"size_y\":3,\"panelIndex\":1,\"type\":\"visualization\",\"id\":\"022a54c0-2bf5-11e7-859b-f78b612cde28\",\"col\":1,\"row\":1},{\"size_x\":6,\"size_y\":3,\"panelIndex\":2,\"type\":\"visualization\",\"id\":\"44f12b40-2bf4-11e7-859b-f78b612cde28\",\"col\":7,\"row\":1},{\"size_x\":6,\"size_y\":3,\"panelIndex\":5,\"type\":\"visualization\",\"id\":\"cd059410-2bfb-11e7-859b-f78b612cde28\",\"col\":1,\"row\":4},{\"size_x\":6,\"size_y\":3,\"panelIndex\":6,\"type\":\"visualization\",\"id\":\"e1018b90-2bfb-11e7-859b-f78b612cde28\",\"col\":7,\"row\":4},{\"size_x\":6,\"size_y\":3,\"panelIndex\":7,\"type\":\"visualization\",\"id\":\"d6564360-2bfc-11e7-859b-f78b612cde28\",\"col\":1,\"row\":7},{\"size_x\":6,\"size_y\":3,\"panelIndex\":8,\"type\":\"visualization\",\"id\":\"16fa4470-2bfd-11e7-859b-f78b612cde28\",\"col\":7,\"row\":7}]", + "optionsJSON": "{\"darkTheme\":false}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/022a54c0-2bf5-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/022a54c0-2bf5-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..894a42a3c582 --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/022a54c0-2bf5-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Kubernetes - CPU usage by namespace\",\"type\":\"metrics\",\"params\":{\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"type\":\"timeseries\",\"series\":[{\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.container.cpu.usage.core.ns\"},{\"unit\":\"\",\"id\":\"cce16e70-2bf4-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"0.0 a\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":\"0.5\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.namespace\",\"terms_size\":\"100000\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"value_template\":\"{{value}} ns\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_width\":10,\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"filter\":\"metricset.module:kubernetes AND metricset.name:container\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Kubernetes - CPU usage by namespace", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/16fa4470-2bfd-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/16fa4470-2bfd-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..1559f5cda6fc --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/16fa4470-2bfd-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Top memory intensive pods\",\"type\":\"metrics\",\"params\":{\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"type\":\"top_n\",\"series\":[{\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.container.memory.usage.bytes\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"value_template\":\"\",\"offset_time\":\"\",\"override_index_pattern\":0}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Top memory intensive pods", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/44f12b40-2bf4-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/44f12b40-2bf4-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..9657c19d01fd --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/44f12b40-2bf4-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Kubernetes - Memory usage by namespace\",\"type\":\"metrics\",\"params\":{\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"type\":\"timeseries\",\"series\":[{\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.container.memory.usage.bytes\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.namespace\",\"terms_size\":\"100000\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_width\":10,\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"filter\":\"metricset.module:kubernetes AND metricset.name:container\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Kubernetes - Memory usage by namespace", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/cd059410-2bfb-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/cd059410-2bfb-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..e29ffa69848b --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/cd059410-2bfb-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Kubernetes - Network in by namespace\",\"type\":\"metrics\",\"params\":{\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"type\":\"timeseries\",\"series\":[{\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"color\":\"rgba(104,188,0,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.pod.network.rx.bytes\"},{\"unit\":\"\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.namespace\",\"terms_size\":\"100000\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_width\":10,\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Kubernetes - Network in by namespace", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/d6564360-2bfc-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/d6564360-2bfc-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..e8808a434b34 --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/d6564360-2bfc-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Top CPU intensive pods\",\"type\":\"metrics\",\"params\":{\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"type\":\"top_n\",\"series\":[{\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"color\":\"#68BC00\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.container.cpu.usage.core.ns\"},{\"unit\":\"\",\"id\":\"6c905240-2bfc-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"field\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"0.0 a\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"value_template\":\"{{value}} ns\",\"offset_time\":\"\",\"override_index_pattern\":0}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Top CPU intensive pods", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubernetes/_meta/kibana/visualization/e1018b90-2bfb-11e7-859b-f78b612cde28.json b/metricbeat/module/kubernetes/_meta/kibana/visualization/e1018b90-2bfb-11e7-859b-f78b612cde28.json new file mode 100644 index 000000000000..3e59113a739a --- /dev/null +++ b/metricbeat/module/kubernetes/_meta/kibana/visualization/e1018b90-2bfb-11e7-859b-f78b612cde28.json @@ -0,0 +1,10 @@ +{ + "visState": "{\"title\":\"Kubernetes - Network out by namespace\",\"type\":\"metrics\",\"params\":{\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"type\":\"timeseries\",\"series\":[{\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"color\":\"rgba(104,188,0,1)\",\"split_mode\":\"terms\",\"metrics\":[{\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\",\"field\":\"kubernetes.pod.network.tx.bytes\"},{\"unit\":\"\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"bytes\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.namespace\",\"terms_size\":\"100000\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_width\":10,\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\"},\"aggs\":[],\"listeners\":{}}", + "description": "", + "title": "Kubernetes - Network out by namespace", + "uiStateJSON": "{}", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"query_string\":{\"query\":\"*\"}},\"filter\":[]}" + } +} \ No newline at end of file diff --git a/metricbeat/module/kubelet/_meta/test/README.md b/metricbeat/module/kubernetes/_meta/test/README.md similarity index 67% rename from metricbeat/module/kubelet/_meta/test/README.md rename to metricbeat/module/kubernetes/_meta/test/README.md index ca645e279ab0..8c9bbb010ed0 100644 --- a/metricbeat/module/kubelet/_meta/test/README.md +++ b/metricbeat/module/kubernetes/_meta/test/README.md @@ -1,6 +1,6 @@ # Testing on OS X -To test the kubelet module on Mac OS X you can use the following setup. [Minikube](https://github.com/kubernetes/minikube) is used for the testing and it is assumed that you have [brew](https://brew.sh/) installed. +To test the kubernetes module on Mac OS X you can use the following setup. [Minikube](https://github.com/kubernetes/minikube) is used for the testing and it is assumed that you have [brew](https://brew.sh/) installed. First install minikube: @@ -14,10 +14,10 @@ Start minikube exposing the metrics endpoint externally: minikube start --extra-config apiserver.InsecureBindAddress=0.0.0.0 ``` -Now setup your metricbeat config to connect to the minikube kubelet: +Now setup your metricbeat config to connect to the minikube kubernetes: ``` -- module: kubelet +- module: kubernetes metricsets: ["node","container","volume","pod","system"] enabled: true period: 10s diff --git a/metricbeat/module/kubelet/_meta/test/stats_summary.json b/metricbeat/module/kubernetes/_meta/test/stats_summary.json similarity index 100% rename from metricbeat/module/kubelet/_meta/test/stats_summary.json rename to metricbeat/module/kubernetes/_meta/test/stats_summary.json diff --git a/metricbeat/module/kubelet/container/_meta/data.json b/metricbeat/module/kubernetes/container/_meta/data.json similarity index 93% rename from metricbeat/module/kubelet/container/_meta/data.json rename to metricbeat/module/kubernetes/container/_meta/data.json index d9e46b0f6605..127459254ac3 100644 --- a/metricbeat/module/kubelet/container/_meta/data.json +++ b/metricbeat/module/kubernetes/container/_meta/data.json @@ -5,7 +5,7 @@ "name": "beathost", "version": "6.0.0-alpha1" }, - "kubelet": { + "kubernetes": { "container": { "cpu": { "usage": { @@ -64,15 +64,17 @@ }, "start_time": "2017-04-03T10:01:56Z" }, + "namespace": "ns", + "node": { + "name": "localhost" + }, "pod": { "name": "nginx-3137573019-pcfzh", - "namespace": "ns", - "node": "localhost" } }, "metricset": { "host": "localhost:10255", - "module": "kubelet", + "module": "kubernetes", "name": "container", "rtt": 650739 }, diff --git a/metricbeat/module/kubernetes/container/_meta/docs.asciidoc b/metricbeat/module/kubernetes/container/_meta/docs.asciidoc new file mode 100644 index 000000000000..91ae69db5ce5 --- /dev/null +++ b/metricbeat/module/kubernetes/container/_meta/docs.asciidoc @@ -0,0 +1,3 @@ +=== kubernetes container MetricSet + +This is the container metricset of the module kubernetes. diff --git a/metricbeat/module/kubelet/container/_meta/fields.yml b/metricbeat/module/kubernetes/container/_meta/fields.yml similarity index 97% rename from metricbeat/module/kubelet/container/_meta/fields.yml rename to metricbeat/module/kubernetes/container/_meta/fields.yml index f2ba7d1f2c73..56a1ebae7307 100644 --- a/metricbeat/module/kubelet/container/_meta/fields.yml +++ b/metricbeat/module/kubernetes/container/_meta/fields.yml @@ -1,12 +1,8 @@ - name: container type: group description: > - kubelet container metrics + kubernetes container metrics fields: - - name: name - type: keyword - description: > - Container name - name: cpu type: group description: > diff --git a/metricbeat/module/kubelet/container/container.go b/metricbeat/module/kubernetes/container/container.go similarity index 91% rename from metricbeat/module/kubelet/container/container.go rename to metricbeat/module/kubernetes/container/container.go index a5cb449bcc2d..f39922b17b9f 100644 --- a/metricbeat/module/kubelet/container/container.go +++ b/metricbeat/module/kubernetes/container/container.go @@ -23,7 +23,7 @@ var ( // init registers the MetricSet with the central registry. // The New method will be called after the setup of the module and before starting to fetch data func init() { - if err := mb.Registry.AddMetricSet("kubelet", "container", New, hostParser); err != nil { + if err := mb.Registry.AddMetricSet("kubernetes", "container", New, hostParser); err != nil { panic(err) } } @@ -41,7 +41,7 @@ type MetricSet struct { // Part of new is also setting up the configuration by processing additional // configuration entries if needed. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - logp.Beta("The kubelet container metricset is beta") + logp.Beta("The kubernetes container metricset is beta") return &MetricSet{ BaseMetricSet: base, http: helper.NewHTTP(base), diff --git a/metricbeat/module/kubelet/container/container_test.go b/metricbeat/module/kubernetes/container/container_test.go similarity index 100% rename from metricbeat/module/kubelet/container/container_test.go rename to metricbeat/module/kubernetes/container/container_test.go diff --git a/metricbeat/module/kubelet/container/data.go b/metricbeat/module/kubernetes/container/data.go similarity index 90% rename from metricbeat/module/kubelet/container/data.go rename to metricbeat/module/kubernetes/container/data.go index 9428b862b93a..f86ea2abe5d1 100644 --- a/metricbeat/module/kubelet/container/data.go +++ b/metricbeat/module/kubernetes/container/data.go @@ -6,12 +6,12 @@ import ( "github.com/elastic/beats/libbeat/common" "github.com/elastic/beats/metricbeat/mb" - "github.com/elastic/beats/metricbeat/module/kubelet" + "github.com/elastic/beats/metricbeat/module/kubernetes" ) func eventMapping(content []byte) ([]common.MapStr, error) { events := []common.MapStr{} - var summary kubelet.Summary + var summary kubernetes.Summary err := json.Unmarshal(content, &summary) if err != nil { @@ -23,10 +23,12 @@ func eventMapping(content []byte) ([]common.MapStr, error) { for _, container := range pod.Containers { containerEvent := common.MapStr{ mb.ModuleData: common.MapStr{ + "namespace": pod.PodRef.Namespace, + "node": common.MapStr{ + "name": node.NodeName, + }, "pod": common.MapStr{ - "name": pod.PodRef.Name, - "namespace": pod.PodRef.Namespace, - "node": node.NodeName, + "name": pod.PodRef.Name, }, }, diff --git a/metricbeat/module/kubernetes/doc.go b/metricbeat/module/kubernetes/doc.go new file mode 100644 index 000000000000..e2bc36e4942c --- /dev/null +++ b/metricbeat/module/kubernetes/doc.go @@ -0,0 +1,4 @@ +/* +Package kubernetes is a Metricbeat module that contains MetricSets. +*/ +package kubernetes diff --git a/metricbeat/module/kubelet/node/_meta/data.json b/metricbeat/module/kubernetes/node/_meta/data.json similarity index 97% rename from metricbeat/module/kubelet/node/_meta/data.json rename to metricbeat/module/kubernetes/node/_meta/data.json index 7b5469c2cbd2..86e11664ecf2 100644 --- a/metricbeat/module/kubelet/node/_meta/data.json +++ b/metricbeat/module/kubernetes/node/_meta/data.json @@ -5,7 +5,7 @@ "name": "beathost", "version": "6.0.0-alpha1" }, - "kubelet": { + "kubernetes": { "node": { "cpu": { "usage": { @@ -76,7 +76,7 @@ }, "metricset": { "host": "localhost:10255", - "module": "kubelet", + "module": "kubernetes", "name": "node", "rtt": 650741 }, diff --git a/metricbeat/module/kubernetes/node/_meta/docs.asciidoc b/metricbeat/module/kubernetes/node/_meta/docs.asciidoc new file mode 100644 index 000000000000..84cc98e1de75 --- /dev/null +++ b/metricbeat/module/kubernetes/node/_meta/docs.asciidoc @@ -0,0 +1,3 @@ +=== kubernetes node MetricSet + +This is the node metricset of the module kubernetes. diff --git a/metricbeat/module/kubelet/node/_meta/fields.yml b/metricbeat/module/kubernetes/node/_meta/fields.yml similarity index 99% rename from metricbeat/module/kubelet/node/_meta/fields.yml rename to metricbeat/module/kubernetes/node/_meta/fields.yml index f071a3a4ebd6..e7b904e29d6e 100644 --- a/metricbeat/module/kubelet/node/_meta/fields.yml +++ b/metricbeat/module/kubernetes/node/_meta/fields.yml @@ -1,7 +1,7 @@ - name: node type: group description: > - kubelet node metrics + kubernetes node metrics fields: - name: name type: keyword diff --git a/metricbeat/module/kubelet/node/data.go b/metricbeat/module/kubernetes/node/data.go similarity index 95% rename from metricbeat/module/kubelet/node/data.go rename to metricbeat/module/kubernetes/node/data.go index 30454e648609..b021af77cc7b 100644 --- a/metricbeat/module/kubelet/node/data.go +++ b/metricbeat/module/kubernetes/node/data.go @@ -5,11 +5,11 @@ import ( "fmt" "github.com/elastic/beats/libbeat/common" - "github.com/elastic/beats/metricbeat/module/kubelet" + "github.com/elastic/beats/metricbeat/module/kubernetes" ) func eventMapping(content []byte) (common.MapStr, error) { - var summary kubelet.Summary + var summary kubernetes.Summary err := json.Unmarshal(content, &summary) if err != nil { return nil, fmt.Errorf("Cannot unmarshal json response: %s", err) diff --git a/metricbeat/module/kubelet/node/node.go b/metricbeat/module/kubernetes/node/node.go similarity index 92% rename from metricbeat/module/kubelet/node/node.go rename to metricbeat/module/kubernetes/node/node.go index 9003e0ab90d3..ef0de87002f0 100644 --- a/metricbeat/module/kubelet/node/node.go +++ b/metricbeat/module/kubernetes/node/node.go @@ -23,7 +23,7 @@ var ( // init registers the MetricSet with the central registry. // The New method will be called after the setup of the module and before starting to fetch data func init() { - if err := mb.Registry.AddMetricSet("kubelet", "node", New, hostParser); err != nil { + if err := mb.Registry.AddMetricSet("kubernetes", "node", New, hostParser); err != nil { panic(err) } } @@ -41,7 +41,7 @@ type MetricSet struct { // Part of new is also setting up the configuration by processing additional // configuration entries if needed. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - logp.Beta("The kubelet node metricset is beta") + logp.Beta("The kubernetes node metricset is beta") return &MetricSet{ BaseMetricSet: base, http: helper.NewHTTP(base), diff --git a/metricbeat/module/kubelet/node/node_test.go b/metricbeat/module/kubernetes/node/node_test.go similarity index 100% rename from metricbeat/module/kubelet/node/node_test.go rename to metricbeat/module/kubernetes/node/node_test.go diff --git a/metricbeat/module/kubelet/pod/_meta/data.json b/metricbeat/module/kubernetes/pod/_meta/data.json similarity index 83% rename from metricbeat/module/kubelet/pod/_meta/data.json rename to metricbeat/module/kubernetes/pod/_meta/data.json index d822eaebb2fe..c610844749eb 100644 --- a/metricbeat/module/kubelet/pod/_meta/data.json +++ b/metricbeat/module/kubernetes/pod/_meta/data.json @@ -5,10 +5,13 @@ "name": "beathost", "version": "6.0.0-alpha1" }, - "kubelet": { + "kubernetes": { + "namespace": "ns", + "node": { + "name": "localhost", + }, "pod": { "name": "nginx-3137573019-pcfzh", - "namespace": "ns", "network": { "rx": { "bytes": 18999261, @@ -19,13 +22,12 @@ "errors": 0 } }, - "node": "localhost", "start_time": "2017-04-06T12:09:05Z" } }, "metricset": { "host": "localhost:10255", - "module": "kubelet", + "module": "kubernetes", "name": "pod", "rtt": 636230 }, diff --git a/metricbeat/module/kubernetes/pod/_meta/docs.asciidoc b/metricbeat/module/kubernetes/pod/_meta/docs.asciidoc new file mode 100644 index 000000000000..5f28180b741f --- /dev/null +++ b/metricbeat/module/kubernetes/pod/_meta/docs.asciidoc @@ -0,0 +1,3 @@ +=== kubernetes pod MetricSet + +This is the pod metricset of the module kubernetes. diff --git a/metricbeat/module/kubelet/pod/_meta/fields.yml b/metricbeat/module/kubernetes/pod/_meta/fields.yml similarity index 73% rename from metricbeat/module/kubelet/pod/_meta/fields.yml rename to metricbeat/module/kubernetes/pod/_meta/fields.yml index 8f1708a5fe56..8c50082764bc 100644 --- a/metricbeat/module/kubelet/pod/_meta/fields.yml +++ b/metricbeat/module/kubernetes/pod/_meta/fields.yml @@ -1,20 +1,8 @@ - name: pod type: group description: > - kubelet pod metrics + kubernetes pod metrics fields: - - name: name - type: keyword - description: > - Pod name - - name: namespace - type: keyword - description: > - Pod namespace - - name: node - type: keyword - description: > - Pod node - name: network type: group fields: diff --git a/metricbeat/module/kubelet/pod/data.go b/metricbeat/module/kubernetes/pod/data.go similarity index 71% rename from metricbeat/module/kubelet/pod/data.go rename to metricbeat/module/kubernetes/pod/data.go index eb6cd31997d8..f09f1996c279 100644 --- a/metricbeat/module/kubelet/pod/data.go +++ b/metricbeat/module/kubernetes/pod/data.go @@ -5,13 +5,14 @@ import ( "fmt" "github.com/elastic/beats/libbeat/common" - "github.com/elastic/beats/metricbeat/module/kubelet" + "github.com/elastic/beats/metricbeat/mb" + "github.com/elastic/beats/metricbeat/module/kubernetes" ) func eventMapping(content []byte) ([]common.MapStr, error) { events := []common.MapStr{} - var summary kubelet.Summary + var summary kubernetes.Summary err := json.Unmarshal(content, &summary) if err != nil { return nil, fmt.Errorf("Cannot unmarshal json response: %s", err) @@ -21,10 +22,13 @@ func eventMapping(content []byte) ([]common.MapStr, error) { for _, pod := range summary.Pods { podEvent := common.MapStr{ - "name": pod.PodRef.Name, - "namespace": pod.PodRef.Namespace, - "node": node.NodeName, - + mb.ModuleData: common.MapStr{ + "namespace": pod.PodRef.Namespace, + "node": common.MapStr{ + "name": node.NodeName, + }, + }, + "name": pod.PodRef.Name, "start_time": pod.StartTime, "network": common.MapStr{ diff --git a/metricbeat/module/kubelet/pod/pod.go b/metricbeat/module/kubernetes/pod/pod.go similarity index 92% rename from metricbeat/module/kubelet/pod/pod.go rename to metricbeat/module/kubernetes/pod/pod.go index f73cc92ef5b1..ad0bbad82b2f 100644 --- a/metricbeat/module/kubelet/pod/pod.go +++ b/metricbeat/module/kubernetes/pod/pod.go @@ -23,7 +23,7 @@ var ( // init registers the MetricSet with the central registry. // The New method will be called after the setup of the module and before starting to fetch data func init() { - if err := mb.Registry.AddMetricSet("kubelet", "pod", New, hostParser); err != nil { + if err := mb.Registry.AddMetricSet("kubernetes", "pod", New, hostParser); err != nil { panic(err) } } @@ -41,7 +41,7 @@ type MetricSet struct { // Part of new is also setting up the configuration by processing additional // configuration entries if needed. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - logp.Beta("The kubelet pod metricset is beta") + logp.Beta("The kubernetes pod metricset is beta") return &MetricSet{ BaseMetricSet: base, http: helper.NewHTTP(base), diff --git a/metricbeat/module/kubelet/pod/pod_test.go b/metricbeat/module/kubernetes/pod/pod_test.go similarity index 81% rename from metricbeat/module/kubelet/pod/pod_test.go rename to metricbeat/module/kubernetes/pod/pod_test.go index 8faef18c5eff..b529e4158ccb 100644 --- a/metricbeat/module/kubelet/pod/pod_test.go +++ b/metricbeat/module/kubernetes/pod/pod_test.go @@ -27,9 +27,7 @@ func TestEventMapping(t *testing.T) { assert.Len(t, events, 1, "got wrong number of events") testCases := map[string]interface{}{ - "name": "nginx-deployment-2303442956-pcqfc", - "namespace": "default", - "node": "gke-beats-default-pool-a5b33e2e-hdww", + "name": "nginx-deployment-2303442956-pcqfc", "network.rx.bytes": 107056, "network.rx.errors": 0, @@ -42,8 +40,8 @@ func TestEventMapping(t *testing.T) { } } -func testValue(t *testing.T, event common.MapStr, field string, value interface{}) { +func testValue(t *testing.T, event common.MapStr, field string, expected interface{}) { data, err := event.GetValue(field) assert.NoError(t, err, "Could not read field "+field) - assert.EqualValues(t, data, value, "Wrong value for field "+field) + assert.EqualValues(t, expected, data, "Wrong value for field "+field) } diff --git a/metricbeat/module/kubelet/system/_meta/data.json b/metricbeat/module/kubernetes/system/_meta/data.json similarity index 92% rename from metricbeat/module/kubelet/system/_meta/data.json rename to metricbeat/module/kubernetes/system/_meta/data.json index 5d046764068e..dfda85cea53d 100644 --- a/metricbeat/module/kubelet/system/_meta/data.json +++ b/metricbeat/module/kubernetes/system/_meta/data.json @@ -5,12 +5,12 @@ "name": "beathost", "version": "6.0.0-alpha1" }, - "kubelet": { + "kubernetes": { "node": { "name": "localhost" }, "system": { - "container": "kubelet", + "container": "kubernetes", "cpu": { "usage": { "core": { @@ -37,7 +37,7 @@ }, "metricset": { "host": "localhost:10255", - "module": "kubelet", + "module": "kubernetes", "name": "system", "rtt": 640649 }, diff --git a/metricbeat/module/kubernetes/system/_meta/docs.asciidoc b/metricbeat/module/kubernetes/system/_meta/docs.asciidoc new file mode 100644 index 000000000000..32c371221c81 --- /dev/null +++ b/metricbeat/module/kubernetes/system/_meta/docs.asciidoc @@ -0,0 +1,3 @@ +=== kubernetes system MetricSet + +This is the system metricset of the module kubernetes. diff --git a/metricbeat/module/kubelet/system/_meta/fields.yml b/metricbeat/module/kubernetes/system/_meta/fields.yml similarity index 97% rename from metricbeat/module/kubelet/system/_meta/fields.yml rename to metricbeat/module/kubernetes/system/_meta/fields.yml index a86ca849a2d5..572477f887d3 100644 --- a/metricbeat/module/kubelet/system/_meta/fields.yml +++ b/metricbeat/module/kubernetes/system/_meta/fields.yml @@ -1,7 +1,7 @@ - name: system type: group description: > - kubelet system containers metrics + kubernetes system containers metrics fields: - name: container type: keyword diff --git a/metricbeat/module/kubelet/system/data.go b/metricbeat/module/kubernetes/system/data.go similarity index 93% rename from metricbeat/module/kubelet/system/data.go rename to metricbeat/module/kubernetes/system/data.go index 589dc242b421..c484f80817db 100644 --- a/metricbeat/module/kubelet/system/data.go +++ b/metricbeat/module/kubernetes/system/data.go @@ -6,13 +6,13 @@ import ( "github.com/elastic/beats/libbeat/common" "github.com/elastic/beats/metricbeat/mb" - "github.com/elastic/beats/metricbeat/module/kubelet" + "github.com/elastic/beats/metricbeat/module/kubernetes" ) func eventMapping(content []byte) ([]common.MapStr, error) { events := []common.MapStr{} - var summary kubelet.Summary + var summary kubernetes.Summary err := json.Unmarshal(content, &summary) if err != nil { return nil, fmt.Errorf("Cannot unmarshal json response: %s", err) diff --git a/metricbeat/module/kubelet/system/system.go b/metricbeat/module/kubernetes/system/system.go similarity index 92% rename from metricbeat/module/kubelet/system/system.go rename to metricbeat/module/kubernetes/system/system.go index 421c840bcfbf..08a868464f7a 100644 --- a/metricbeat/module/kubelet/system/system.go +++ b/metricbeat/module/kubernetes/system/system.go @@ -23,7 +23,7 @@ var ( // init registers the MetricSet with the central registry. // The New method will be called after the setup of the module and before starting to fetch data func init() { - if err := mb.Registry.AddMetricSet("kubelet", "system", New, hostParser); err != nil { + if err := mb.Registry.AddMetricSet("kubernetes", "system", New, hostParser); err != nil { panic(err) } } @@ -41,7 +41,7 @@ type MetricSet struct { // Part of new is also setting up the configuration by processing additional // configuration entries if needed. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - logp.Beta("The kubelet system metricset is beta") + logp.Beta("The kubernetes system metricset is beta") return &MetricSet{ BaseMetricSet: base, http: helper.NewHTTP(base), diff --git a/metricbeat/module/kubelet/system/system_test.go b/metricbeat/module/kubernetes/system/system_test.go similarity index 100% rename from metricbeat/module/kubelet/system/system_test.go rename to metricbeat/module/kubernetes/system/system_test.go diff --git a/metricbeat/module/kubelet/types.go b/metricbeat/module/kubernetes/types.go similarity index 99% rename from metricbeat/module/kubelet/types.go rename to metricbeat/module/kubernetes/types.go index 4de3eb185422..a4a93bb42bea 100644 --- a/metricbeat/module/kubelet/types.go +++ b/metricbeat/module/kubernetes/types.go @@ -1,4 +1,4 @@ -package kubelet +package kubernetes type Summary struct { Node struct { diff --git a/metricbeat/module/kubelet/volume/_meta/data.json b/metricbeat/module/kubernetes/volume/_meta/data.json similarity index 86% rename from metricbeat/module/kubelet/volume/_meta/data.json rename to metricbeat/module/kubernetes/volume/_meta/data.json index 20da195d3aaf..306f7fe61800 100644 --- a/metricbeat/module/kubelet/volume/_meta/data.json +++ b/metricbeat/module/kubernetes/volume/_meta/data.json @@ -5,11 +5,13 @@ "name": "beathost", "version": "6.0.0-alpha1" }, - "kubelet": { + "kubernetes": { + "namespace": "ns", + "node": { + "name": "localhost", + }, "pod": { "name": "nginx-3137573019-pcfzh", - "namespace": "ns", - "node": "localhost" }, "volume": { "fs": { @@ -33,7 +35,7 @@ }, "metricset": { "host": "localhost:10255", - "module": "kubelet", + "module": "kubernetes", "name": "volume", "rtt": 648606 }, diff --git a/metricbeat/module/kubernetes/volume/_meta/docs.asciidoc b/metricbeat/module/kubernetes/volume/_meta/docs.asciidoc new file mode 100644 index 000000000000..d1bab9673b83 --- /dev/null +++ b/metricbeat/module/kubernetes/volume/_meta/docs.asciidoc @@ -0,0 +1,3 @@ +=== kubernetes volume MetricSet + +This is the volume metricset of the module kubernetes. diff --git a/metricbeat/module/kubelet/volume/_meta/fields.yml b/metricbeat/module/kubernetes/volume/_meta/fields.yml similarity index 97% rename from metricbeat/module/kubelet/volume/_meta/fields.yml rename to metricbeat/module/kubernetes/volume/_meta/fields.yml index 3cf7a76d640a..ef608ba1219e 100644 --- a/metricbeat/module/kubelet/volume/_meta/fields.yml +++ b/metricbeat/module/kubernetes/volume/_meta/fields.yml @@ -1,7 +1,7 @@ - name: volume type: group description: > - kubelet volume metrics + kubernetes volume metrics fields: - name: name type: keyword diff --git a/metricbeat/module/kubelet/volume/data.go b/metricbeat/module/kubernetes/volume/data.go similarity index 82% rename from metricbeat/module/kubelet/volume/data.go rename to metricbeat/module/kubernetes/volume/data.go index be9ecefb4b0b..7cedea6d2d15 100644 --- a/metricbeat/module/kubelet/volume/data.go +++ b/metricbeat/module/kubernetes/volume/data.go @@ -6,13 +6,13 @@ import ( "github.com/elastic/beats/libbeat/common" "github.com/elastic/beats/metricbeat/mb" - "github.com/elastic/beats/metricbeat/module/kubelet" + "github.com/elastic/beats/metricbeat/module/kubernetes" ) func eventMapping(content []byte) ([]common.MapStr, error) { events := []common.MapStr{} - var summary kubelet.Summary + var summary kubernetes.Summary err := json.Unmarshal(content, &summary) if err != nil { return nil, fmt.Errorf("Cannot unmarshal json response: %s", err) @@ -23,10 +23,12 @@ func eventMapping(content []byte) ([]common.MapStr, error) { for _, volume := range pod.Volume { volumeEvent := common.MapStr{ mb.ModuleData: common.MapStr{ + "namespace": pod.PodRef.Namespace, + "node": common.MapStr{ + "name": node.NodeName, + }, "pod": common.MapStr{ - "name": pod.PodRef.Name, - "namespace": pod.PodRef.Namespace, - "node": node.NodeName, + "name": pod.PodRef.Name, }, }, diff --git a/metricbeat/module/kubelet/volume/volume.go b/metricbeat/module/kubernetes/volume/volume.go similarity index 92% rename from metricbeat/module/kubelet/volume/volume.go rename to metricbeat/module/kubernetes/volume/volume.go index f7b214ac64cb..8e4dc73e5edf 100644 --- a/metricbeat/module/kubelet/volume/volume.go +++ b/metricbeat/module/kubernetes/volume/volume.go @@ -23,7 +23,7 @@ var ( // init registers the MetricSet with the central registry. // The New method will be called after the setup of the module and before starting to fetch data func init() { - if err := mb.Registry.AddMetricSet("kubelet", "volume", New, hostParser); err != nil { + if err := mb.Registry.AddMetricSet("kubernetes", "volume", New, hostParser); err != nil { panic(err) } } @@ -41,7 +41,7 @@ type MetricSet struct { // Part of new is also setting up the configuration by processing additional // configuration entries if needed. func New(base mb.BaseMetricSet) (mb.MetricSet, error) { - logp.Beta("The kubelet volume metricset is beta") + logp.Beta("The kubernetes volume metricset is beta") return &MetricSet{ BaseMetricSet: base, http: helper.NewHTTP(base), diff --git a/metricbeat/module/kubelet/volume/volume_test.go b/metricbeat/module/kubernetes/volume/volume_test.go similarity index 100% rename from metricbeat/module/kubelet/volume/volume_test.go rename to metricbeat/module/kubernetes/volume/volume_test.go