Docker is an open way of building, shipping, and running distributed applications anywhere using containers and images. CloudWisdom can be used to monitor the performance of your Docker host and containers.
Each Docker container you have running will be listed as Docker Container in your Inventory Explorer. Each Docker host you have running will be listed as SERVER in your Inventory Explorer. You’ll be able to identify which of your SERVER elements are Docker hosts via the Docker Summary dashboard (if you have the Docker package installed).
Collected Fully Qualified Name(FQN) Type Units Statistic* BASE CORR Description cpu.cpu_usage.percpu_usage* COUNTER nanoseconds yes no Each CPU has a separate metric which tracks the number of nanoseconds that that specific CPU has been used since the container was started. cpu.cpu_usage.total_usage COUNTER nanoseconds yes no This metric is the sum of all of the per-CPU usage metrics. Thus, it represents the total number of nanoseconds that all CPUs have been in use since the container was started.
There are three Docker Agent collector modes: Simple Mode, Minimal Mode, and Standard mode. Minimal Mode is enabled by default. You can activate different collector modes from the /opt/netuitive-agent/conf/netuitive-agent.conf file.
Minimal Mode (Default) Metrics Collected - Computed Only Name FQN Computation Units Min Max BASE CORR Description Container CPU Percent netuitive.docker.cpu.container_cpu_percent data[‘cpu.system_cpu_usage’].actual == 0 ? 0 :(data[‘cpu.cpu_usage.total_usage’].actual /data[‘cpu.system_cpu_usage’].actual) * 100 percent 0 100 yes yes The percentage of total CPU being used by the container.
Computed Name FQN Computation Units Min Max BASE CORR Description Container CPU Percent netuitive.docker.cpu.container_cpu_percent data[‘cpu.system_cpu_usage’].actual == 0 ? 0 :(data[‘cpu.cpu_usage.total_usage’].actual /data[‘cpu.system_cpu_usage’].actual) * 100 percent 0 100 yes yes The percentage of total CPU being used by the container. Container Memory Percent netuitive.docker.cpu.container_memory_percent (data[‘memory.usage’].actual / data[‘memory.limit’].actual) * 100 percent 0 100 yes yes The amount of memory in use by the container, expressed as a percentage of the memory available to it.
1. Copy API Key From Docker Integration From the CloudWisdom left navigation menu, select Integrations.
Click the Docker card.
Ensure Data Collection is enabled. A unique API key for your account has already been generated.
Highlight the one-line install command from the instructions and copy them. A unique API key for your account has already been generated and included in the command line.
The command runs a container named netuitive-agent in the background and publishes the port values to the host.
Collected Fully Qualified Name(FQN) Type Units Statistic* BASE CORR Description memory.failcnt GAUGE count average no no A count of the number of times that the container requested memory and failed to obtain it. This value should always be 0. memory.limit GAUGE bytes average no no The total amount of memory available to the container. memory.max_usage GAUGE bytes average no no The maxiumum amount of memory the container has ever used.
This folder contains all metrics for the Docker integration.
Metrics Available Docker CPU Metrics Docker Computed Metrics Docker Memory Metrics Docker Network Metrics
Fully Qualified Name(FQN) Units Statistic* BASE CORR network.eth0.rx_bytes bytes sum yes yes network.eth0.rx_dropped count counter no no network.eth0.rx_errors count counter no no
Policy name Duration Conditions Category Description Docker Container – CPU Throttling 15 min netuitive.docker.cpu.container_throttling_percent has a static threshold >0 WARNING The Docker container has had its CPU usage throttled for at least the past 15 minutes. Docker Container – Elevated CPU Utilization 30 min netuitive.docker.cpu.container_cpu_percent has an upper baseline deviation + an upper contextual deviation INFO CPU usage on the Docker container has been higher than expected for 30 minutes or longer.
Getting the Jolokia agent running in a Kafka container requires three additional modifications to the docker run command. To illustrate the modifications needed, we’re going to assume that your docker run command looks like this initially:
docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip\`docker-machine active\`` --env ADVERTISED_PORT=9092 spotify/kafka Update Docker Run Command Make the Jolokia JAR file available to the container by passing it in as a mounted volume.