Container Service Status Test

A Kubernetes container service manages and exposes containerized applications within a cluster. It provides stable network access and load balancing by directing traffic to the appropriate pods. Services use selectors to match pods and offer types like ClusterIP, NodePort, LoadBalancer, and ExternalName, ensuring reliable, scalable, and consistent access to application components. Given the importance of container service in spinning and managing containers, it is imperative that container service be monitored.

The Container Service Status test continuously monitors the Container Service in the target node and reports the status of container service and key metrics like installation status, engine type etc. These metrics are invaluable for the administrators to ensure that service is up and prevent any issues in case service has problems.

Target of the test : A Kubernetes Worker Node

Agent deploying the test : A remote agent

Outputs of the test : One set of results for the target Kubernetes Worker node being monitored

Configurable parameters for the test

Parameter

Description

Test Period

How often should the test be executed.

Host

The IP address of the host for which this test is to be configured.

Port

Specify the port at which the specified Host listens. By default, this is 6443.

Use Sudo

By default, the eG agent does not require any special permissions to parse and read messages from the log file to be monitored. This is why, the Use Sudo parameter is set to No by default. In some highly-secure Unix environments however, the eG agent install user may not have the permission to read the log file to be monitored. In such environments, you will have to follow the steps below to ensure that the test is able to read the log file and report metrics:

Edit the SUDOERS file on the target host and append an entry of the following format to it:

<eG_agent_install_user> ALL=(ALL) NOPASSWD: <Log_file_with_path>

For instance, if the eG agent install user is eguser, and the log file to be monitored is /usr/bin/logs/procs.log, then the entry in the SUDOERS file should be:

eguser ALL=(ALL) NOPASSWD: /usr/bin/logs/procs.log

Finally, save the file.

Then, when configuring this test using the eG admin interface, set the Use Sudo parameter to Yes. Once this is done, then every time the test runs, it will check whether the eG agent install user has the necessary permissions to read the log file. If the user does not have the permissions, then the test runs the sudo command to change the permissions of the user, so that the eG agent is able to read from the log file.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Is service installed?

Indicates if the Container service is installed.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this test reports the Measure Values listed in the table above to indicate the type of the target node. In the graph of this measure however, the state is indicated using the numeric equivalents only.

Is service loaded?

Indicates whether the service is loaded or not.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
No 0
Yes 1

Note:

By default, this test reports the Measure Values listed in the table above to indicate the current state of the node. In the graph of this measure however, the state is indicated using the numeric equivalents only.

The detailed diagnosis of this measure reveals the IP address and name of the node, the name of the cluster to which the node belongs to, the version of kubelet and container runtime available in the node.

Service status

Indicates the current status of Container service.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
Inactive 0
Active 1

Note:

By default, this test reports the Measure Values listed in the table above to indicate the availability of a node's network. In the graph of this measure however, the same is indicated using the numeric equivalents only.

Engine type

Indicates the engine type of the current Container service.

 

The values that this measure reports and their corresponding numeric values are detailed in the table below:

Measure Value Numeric Value
CRIO 0
Containerd 1

Note:

By default, this test reports the Measure Values listed in the table above to indicate whether/not a node has sufficient memory. In the graph of this measure however, the same is indicated using the numeric equivalents only.