2.3.17 Data that can be collected on Docker environment
- Organization of this subsection
(1) Overview of the Docker environment
The Docker environment (Windows container function) available with Windows Server 2016 allows you to operate multiple Windows environments within a single Windows system by virtualizing the Windows environments and treating them like software. Because a Docker container (Windows container) shares resources with the host OS, the overhead of running applications is smaller compared to that incurred with virtual machines.
(2) Docker environment structure
The Docker environment resembles a Solaris zone (which provides a workspace for applications) in structure.
The Docker environment is made up of Docker container (Windows container) environments and a host (Docker host) environment that manages the Docker container environments.
There are the following two types of Windows containers:
-
Windows Server container
This type of container starts up fast because processes on it are executed as if they are running on the host OS.
-
Hyper-V container
This type of container provides greater isolation but takes time to start up because processes on it are executed as if they are running inside a guest OS on Hyper-V.
PFM - Agent for Platform supports the following Docker environment:
- Docker host OS version
-
-
Windows Server 2016
-
(3) Process monitoring in the Docker host environment
If you are running PFM - Agent for Platform in the Docker host environment, you can collect information on processes running inside the Docker containers.
- Important
-
You cannot install PFM - Agent for Platform in a Docker container environment.
By setting the ALL Container Collection for Process property, you can select whether to collect information about processes running inside Docker containers. The following settings are available for the ALL Container Collection for Process property:
- Yes
-
If you select this setting, information# about processes running inside both the Docker host environment and Docker container environments is collected.
- #
-
Only information about processes running inside Windows Server containers is collected. Information about processes running inside Hyper-V containers is not collected.
- No
-
If you select this setting, only information about processes running inside the Docker host environment is collected.
The ALL Container Collection for Process property is set to Yes by default.
The figure below shows process information collected when PFM - Agent for Platform runs on the Docker host environment.
(4) Property settings and obtained information
This section describes information that can be obtained with each setting that can be specified for the ALL Container Collection for Process property and the Virtual Environment ID property.
-
PD record
For process information obtained by the PD record, the following table describes the relationship between the property setting and the obtained information.
ALL Container Collection for Process property setting |
Obtained information |
|
---|---|---|
Data is collected from: |
Virtual Env ID field value |
|
Yes |
The Docker host environment and all Docker container environments |
The ID of each Docker container# |
No |
The Docker host environment |
0 |
- #
-
Either 0 (in the case of the Docker host environment) or the ID assigned to a Docker container (in the case of the Docker container environment) is stored as the ID of the virtualized environment (value of the Virtual Env ID field)
-
PD_APP record
With the PD_APP record, you cannot collect only information about processes running in a specific environment. If you want to collect only information about processes running in a specific environment, use the PD_APP2 record.
Note that the scope of data collected by PFM - Agent for Platform is not affected by the setting specified for the ALL Container Collection for Process property.
For process information obtained by the PD_APP record, the following table describes the relationship between the property setting and the obtained information.
ALL Container Collection for Process property setting |
Data is collected from: |
---|---|
Yes |
The Docker host environment and all Docker container environments |
No |
The Docker host environment and all Docker container environments |
-
PD_APPD and PD_APP2 records
For process information obtained by the PD_APPD and PD_APP2 records, the following table describes the relationship between the property setting and the obtained information.
Property settings |
Obtained information |
||
---|---|---|---|
ALL Container Collection for Process |
Virtual Environment ID#1 |
Data is collected from: |
Virtual Env ID field value#2 |
Yes |
Blank |
The Docker host environment and all Docker container environments |
Blank |
Yes |
0 |
The Docker host environment |
0 |
Yes |
The ID of an existing Docker container |
The specified Docker container environment |
The ID of the specified Docker container |
Yes |
The ID of a non-existent Docker container |
-- |
-- |
No |
Blank |
The Docker host environment |
Blank |
No |
0 |
The Docker host environment |
0 |
No |
The ID of an existing Docker container |
-- |
-- |
No |
The ID of a non-existent Docker container |
-- |
-- |
- Legend:
-
--: Not collected. For PD_APPD records, 0 is displayed in the Monitoring Count field.
- #1
-
This is a property displayed when host-name <Windows> (Agent Collector service) is selected in the Services tree of PFM - Web Console, and then from the Advanced application monitoring - Application monitoring setting tree, an application is selected. This corresponds to the Virtual environment ID in the Process monitoring settings > Create a New Application Definition window or Process monitoring settings > Edit an Application Definition window of the PFM - Web Console's Agents tree.
- #2
-
The PD_APPD record has no Virtual Env ID field.
-
PD_APSI record
For process information obtained by the PD_APSI record, the following table describes the relationship between the property setting and the obtained information.
Property settings |
Obtained information |
||
---|---|---|---|
ALL Container Collection for Process |
Virtual Environment ID#1 |
Data is collected from: |
Virtual Env ID field value |
Yes |
Blank |
The Docker host environment and all Docker container environments |
The ID of each Docker container#2 |
Yes |
0 |
The Docker host environment |
0 |
Yes |
The ID of an existing Docker container |
The specified Docker container environment |
The ID of the specified Docker container |
Yes |
The ID of a non-existent Docker container |
--#3 |
-- |
No |
Blank |
The Docker host environment |
0 |
No |
0 |
The Docker host environment |
0 |
No |
The ID of an existing Docker container |
--#3 |
-- |
No |
The ID of a non-existent Docker container |
--#3 |
-- |
- Legend:
-
--: Not collected.
- #1
-
This is a property displayed when host-name <Windows> (Agent Collector service) is selected in the Services tree of PFM - Web Console, and then from the Advanced application monitoring - Application monitoring setting tree, an application is selected. This corresponds to the Virtual environment ID in the Process monitoring settings > Create a New Application Definition window or Process monitoring settings > Edit an Application Definition window of the PFM - Web Console's Agents tree.
- #2
-
Either 0 (in the case of the Docker host environment) or the ID assigned to a Docker container (in the case of the Docker container environment) is stored as the ID of the virtualized environment (value of the Virtual Env ID field)
- #3
-
Not displayed in a report.
-
PD_APS record
For process information obtained by the PD_APS record, the following table describes the relationship between the property setting and the obtained information.
ALL Container Collection for Process property setting |
Obtained information |
|
---|---|---|
Data is collected from: |
Virtual Env ID field value |
|
Yes |
The Docker host environment and all Docker container environments |
The ID of each Docker container# |
No |
The Docker host environment |
0 |
- #
-
Either 0 (in the case of the Docker host environment) or the ID assigned to a Docker container (in the case of the Docker container environment) is stored as the ID of the virtualized environment (value of the Virtual Env ID field)
(5) Notes on the Docker host environment
Keep the following in mind when you have installed PFM - Agent for Platform on the Docker host environment to collect information about processes running on it:
-
PFM - Agent for Platform communicates with the Docker Engine thorough the Docker Engine API according to the default named pipe settings. For this reason, the named pipe settings of the Docker Engine API must not be edited. If you change the default named pipe settings, PFM - Agent for Platform can no longer communication with the Docker Engine, in which case N/A is stored in the Virtual Env ID field of all processes obtained with the PD record, PD_APSI record, and PD_APS record.
-
If one or more errors occur while PFM - Agent for Platform is communicating with the Docker Engine to collect record information, or if a Docker container is started or shut down while PFM - Agent for Platform is communicating with the Docker Engine, PFM - Agent for Platform might not be able determine whether some of the processes are running on the Docker host or a Docker container. In this case, N/A is stored in the Virtual Env ID field of the PD record, PD_APSI record, and PD_APS record of these processes.
-
See JP1/Performance Management Points to Remember for Docker Environments in the reference material (Construction and operation - JP1/PFM) available online.