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. 

Popular container monitoring solutions offered by Applications Manager include Docker monitoring as one among it's highly recognized tools. 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.
    Note: Docker does not have built-in username/password authentication support, hence authentication is not mandatory in Applications Manager. However, if you are using a HTTP proxy server to provide basic authentication on top of the Docker Remote API server, you can mention the username and password in the respective fields.
  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 Container Discovery options based on which the containers should be discovered and monitored. The available options are Do not discover, Discover and monitor all containers, and Discover and monitor specific containers based on regex.

    If Discover and monitor specific containers based on regex option is selected, specify the Discovery Filter Regex based on which the containers are to be discovered and monitored. Learn more

  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 <Applications Manager 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. Under Action on deleted resources option, select any one of the following options to perform appropriate action on the deleted Docker resources:
    • Unmanage Resource: Unmanages the deleted container and stops polling for the same.
    • Delete Resource: Removes the deleted containers completely from the Applications Manager console.
    Note: Action on deleted resources option is available under the Advanced Settings checkbox.
  11. Specify the Polling Interval in minutes.
  12. 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.
  13. 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.)