From 77b77092aa585bca20a51e814f5334c74277280d Mon Sep 17 00:00:00 2001 From: Chris Cowan Date: Thu, 14 Feb 2019 13:19:46 -0700 Subject: [PATCH] Merge pull request #210 from simianhacker/fixes-156 Update Infrastructure UI documentation with metric definitions --- docs/en/infraops/installation.asciidoc | 59 ++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/docs/en/infraops/installation.asciidoc b/docs/en/infraops/installation.asciidoc index add0ba089..7bc3eebf4 100644 --- a/docs/en/infraops/installation.asciidoc +++ b/docs/en/infraops/installation.asciidoc @@ -44,7 +44,7 @@ image::add-data.png[] * If your data source isn't in the list, or you want to install {beats} the old fashioned way: -** Follow the +** Follow the {metricbeat-ref}/metricbeat-getting-started.html[{metricbeat} getting started] and enable modules for the metrics you want to collect. @@ -58,10 +58,11 @@ learn how to configure inputs. For either approach, you need to enable modules in {filebeat} and {metricbeat} to populate the {infra-ui} UI with data. + [float] ==== Which modules and configuration options do I enable? -To populate the *Hosts* view and add logs, enable: +To populate the *Hosts* view and add logs, enable: * {metricbeat-ref}/metricbeat-module-system.html[{metricbeat} `system` module] (enabled by default) * {filebeat-ref}/filebeat-module-system.html[{filebeat} `system` module] @@ -86,7 +87,59 @@ module] * {filebeat-ref}/add-kubernetes-metadata.html[{filebeat} `add_kubernetes_metadata` processor] [float] -==== More about monitoring containers +==== Which fields are used for the metrics on the Infrastructue home page? + +The metrics listed below are provided by the Beats Shippers. Each system type requires their corresponding identity field to be in the same event document: + +* Hosts require `host.name` +* Docker containers require `container.id` +* Kibernetes pods require `kibernetes.pod.uid` + + +[float] +===== Host Metrics + +*CPU Usage*:: Average of `system.cpu.user.pct` added to the average of `system.cpu.system.pct` divided by `system.cpu.cores` + +*Memory Usage*:: Average of `system.memory.actual.used.pct` + +*Load*:: Average of `system.load.5` + +*Inbound Traffic*:: Derivative of the max of `system.netowrk.in.bytes` scaled to a 1 second rate + +*Outbound Traffic*:: Derivative of the max of `system.netowrk.out.bytes` scaled to a 1 second rate + +*Log Rate*:: Derivative of the cumulative sum of the document count scaled to a 1 second rate. +This metric relies on the same indices as the logs. + + +[float] +===== Docker Container Metrics + +*CPU Usage*:: Average of `docker.cpu.total.pct` + +*Memory Usage*:: Average of `docker.memory.usage.pct` + +*Inbound Traffic*:: Derivative of the max of `docker.network.in.bytes` scaled to a 1 second rate + +*Outbound Traffic*:: Derivative of the max of `docker.network.out.bytes` scaled to a 1 second rate + + +[float] +===== Kubernetes Pod Metrics + +*CPU Usage*:: Average of `kubernetes.pod.cpu.usage.node.pct` + +*Memory Usage*:: Average of `kubernetes.pod.memory.usage.pct` + +*Inbound Traffic*:: Derivative of the max of `kubernetes.pod.network.rx.bytes` scaled to a 1 second rate + +*Outbound Traffic*:: Derivative of the max of `kubernetes.pod.network.tx.bytes` scaled to a 1 second rate + + + +[float] +==== More about container monitoring If you're monitoring containers, you can use autodiscover to automatically apply configuration changes in response to changes in your containers. To learn how,