Docker Monitoring


Docker - Overview

Docker is a new container technology. Docker allows you to package an application with all of its dependencies into a standardized unit for software development. With Docker, you can separate your applications from your infrastructure and treat your infrastructure like a managed application.

Applications Manager's Docker monitoring helps to actively monitor all aspects of a Docker monitor like health, availability, running stats etc., and helps take informed decisions in case of downtimes.

Creating a new Docker monitor

Prerequisites for monitoring Docker metrics: Click here

Rest API to add a new Docker monitor : Click here

Once the prerequisites are fulfilled, follow the steps given below to create a new Docker monitor:

  1. Click on New Monitor link.
  2. Select Docker under Virtualization category.
  3. Specify the Display Name of the Docker Monitor.
  4. Enter the HostName/IP Address of the server where Docker is running.
  5. Enter the Docker socket port to access REST API. The default port used is 4243.
  6. If you choose the Use Below Credentials option, then enter the credentials - UserName and Password to access Remote REST API. If you choose the Select from credential list option, then select the respective credential from preconfigured credential list.
  7. Choose SSL is enabled if REST API is to be accessed via SSL port. Default SSL port for Docker REST API is 2376.
  8. Select the Discover and monitor all containers checkbox, if you want to discover all the containers that are available under the Docker server as well as monitor the performance and availability of both Docker & its containers.
  9. Select the Client Certificate Authentication checkbox if and only if you have enabled Client Certificate Authentication for the Docker server you want to monitor. Add the certificate under AppManager_Home\working\Cert\Docker directory. Please note that only files of type "PKCS#12"(.p12) are supported. Also, provide the Client Certificate Name and the Password for the certificate, if required.
  10. Specify the Polling Interval in minutes.
  11. Choose the Monitor Group with which you want to associate the Docker monitor from the combo box (optional). You can choose multiple groups to associate your monitor.
  12. Click Add Monitor(s). This discovers the Docker from the network and starts monitoring it.

Monitored Parameters

Parameters Descripton
Total Number of Containers Total number of containers in Docker.
Total Number of Images Total number of images present.
Crashed Containers Number of containers, that exited abnormally. 
Running Containers Containers that are currently running. 
Error Message Error message for list of crashed containers.
Memory Limit 'True', if a memory limit is set, 'False' otherwise.
Memory Used Total memory used by Docker.
Docker Id The unique Id, used to identify each Docker. 
Name Name of the Docker.
Docker Version The version of Docker daemon running in the host machine.
API Version The version of Docker's remote API.
Kernel Version Kernel version used in the host.
Operating System Name of the operating system.
Build Time Last build time of Docker.
Init Path Path of Docker init directory. 
Docker Root Dir Root directory path of Docker.
 
Note:
  • Applications Manager supports only Docker Version 1.5, API Version 1.17
  • As Docker REST APIs does not Support SSLv3 and lower protocols due to security reasons, Docker Monitoring will work only in Java 7 and above. If your Applications Manager is still in Java 6, migrate it to Java 7. (Refer Java Migration in Applications Manager for more info.)
  • Docker is a new container technology. Docker allows you to package an application with all of its dependencies into a standardized unit for software development. With Docker, you can separate your applications from your infrastructure and treat your infrastructure like a managed application.
  • Applications Manager helps to actively monitor all aspects of a Docker monitor like health, availability, running stats, etc., and helps take informed decisions in case of downtimes.