Resmon (Resource Monitoring)

Definitions in this document

  • Subsections of a cluster: includes node, namespace, workload, pod, and container.
  • Types of resources: processor, memory, disk (including two types: SSD and HDD).
  • Parameters received for each resource: varies based on different subsections of the cluster and the type of resource:
ResourceNodeNon-Node
Processor and MemoryCapacity - Limit - Requested - Used - Used over Request - Total Children UsageLimit - Requested - Used - Used over Request
DiskCapacity - Limit - Requested - Used - Used over Request - Total Children Usage - AvailableUsed - Capacity - Available

In other words, each parameter is available in specific resources:

Disk UnboundDisk UnboundProcessor and Memory UnboundProcessor and Memory UnboundDescription
Capacity***
Limit**If it is zero or has no value, it means infinite.
Request**
Used****
Over Request**
Available**
Allocated*
Child Cap*
Child Used*

Chart Segments: Each chart displaying resource status includes sections with different colors. Below, we see the name, color, label, and their potential presence under various conditions:

LabelColorNode processor and memoryNon-node processor and memoryNode DiskNon-node disk
Use without any problemsOkGreen**
Excess useOver ReqOrange**
Improper useOver LimRed**
Not usedNot UsedBlue***
Not allocatedUnallocatedWhite**
OtherOtherGray**
UsedUsedGreen - Orange - Red**
AvailableAvailableWhite*
Out of reachNot AvailableGray*

Chart Indicators: Each chart represents the status of resources, including one or more indicators with different colors and values:

Processor and memoryDiskDescription
Request indicatorBlueIf the location of two markers is equal, only the limit marker is displayed.
Limit indicatorRedIf the location of two markers is equal, only the limit marker is displayed.
Capacity indicatorRed

Resource Monitoring Page

Main function of the page: Display the status of resources in a cluster Available settings:

  • Cluster Selection
  • Select display mode in two options: default and scaled
  • Search (filter) by the names of the sub-sections of a cluster
  • Select resource classification based on node or namespace

By selecting the above settings, we will achieve a specific display of resource status. Each display is a table where the rows represent the hierarchical structure of resources, and the columns represent the type of resource. In each of the different categorization modes, the hierarchical structure includes the following:

Tree Structure Column NameClassification Type
Node - Pod - ContainerNode
Namespace - Workload - Pod - ContainerNamespace

Each cell of this table is a chart that displays the status of a specific resource used by a sub-section of the selected cluster, based on its received parameters, and it has a different meaning depending on the chosen display mode.

Explanation of each table cell in the default display mode

In this display mode, all charts present in the different cells have the same length. The length of the chart varies in the different sub-sections of the cluster and is based on the type of resource:

NodeNon-Node
Processor and MemoryCapacityMaximum Limit and (Usage + Cache)
DiskCapacityCapacity

Each chart consists of several segments and one or more markers. The total length of the different segments equals 100 percent of the chart length, and the length of each segment is as follows:

LabelNode Processor and MemoryProcessor and Non-Node MemoryNode DiskNon-Node Disk
OkMinimum Limit and (Usage minus Excess Usage) (Zero Limit means Infinite)Minimum Limit and (Usage minus Excess Usage) (Zero Limit means Infinite)
Over ReqMinimum Excess Usage and (Limit minus Okay)Minimum Excess Usage and (Limit minus Okay)
Over LimUsage minus LimitUsage minus Limit
Not UsedLimit minus UsageLimit minus Usage(Minimum Node Capacity and Total Capacity of Children) minus Allocated
UnallocatedNode Capacity minus LimitCapacity minus Children’s Capacity
OtherUsage minus Children’s Usage max(0, node_used - sum(child_used))Allocation minus Usage
UsedUsage (the only piece of the chart that may have different colors. The color of this piece is based on its value: green if less than 85%, orange if between 85% and 95%, and red if above 95%)Usage (the only piece of the chart that may have different colors. The color of this piece is based on its value: green if less than 85%, orange if between 85% and 95%, and red if above 95%)
AvailableAvailable
Not AvailableCapacity minus (Usage + Available)
Over Allocatedmax (0, other + sum(child_used) + sum(child_not_used) - capacity)

The position of each marker on the chart is precisely proportional to the ratio of its value to the length of the chart. If the position of the marker exceeds the length of the chart, its indicated position is not proportional to the length of the chart, and this is also reflected in the appearance of the marker (dashed line instead of solid line). The indicated values of the marker in the processor and memory correspond to the received parameters of the request and limit, which are the same for the node and non-node. However, in the disk, the indicated value is different:

Processor and MemoryDisk
NodeRequest and LimitTotal Capacity of Children
Non-nodeRequest and LimitCapacity

Explanation of Each Cell in the Scaled Display

In this type of display, all values, including the lengths of the chart segments and the indicated positions of the markers on the chart, are scaled based on a maximum specific to that column (type of resource). In fact, all these values are multiplied by 100 and then divided by the desired maximum to obtain the ratio of that value to the maximum length of the chart (as a percentage). The method for obtaining the maximum for each column is as follows:

FormulaDescription
Processor and Memory (Namspace)max(max(request, used), min(max(request, used) * 1.2, max(limit)))First, the maximum is taken between the request and the usage of all resources in that column (the highest request or usage). This number is multiplied by 1.2, and the minimum is taken between this value and the maximum limit of that column. Then, the result of this minimum is compared with the same maximum request or usage.
Processor and Memory (Node)max(capacity)Maximum Capacity of Resources in That Column
Diskmax(capacity)Maximum Capacity of Disks in That Column (SSD or HDD)

The other difference between this display method and its default representation is that some segments of the chart may be compressed here. This means that due to the selection of the maximum, the total length of the chart segments sometimes exceeds 100% of the maximum allowable length of the chart; therefore, some segments are displayed less than their actual ratio. This change in the representation of these segments is also reflected, and these segments appear as fragmented. For the markers, as long as their values do not exceed the maximum, their indicated position is accurate; if they exceed the maximum, they are presented similarly to what was stated in the default display method.

The rule for compressing the segments of the chart is as follows

If the total length of the chart segments is less than or equal to 100 (meaning the total values are less than or equal to the maximum), no compression occurs. If this total is greater, we start from the end of the chart and remove the segments one by one until the total length of the remaining segments is less than 100. From these last segments of the chart, we start adding back in order from the smallest until the total does not exceed 100%. The segments that remain need to be compressed. Now, we divide the necessary length to fill the chart to 100 by the number of removed segments, giving all removed segments an equal length, and we indicate their compression (inaccuracy of size ratio) with a change in representation.