Overview
The following subsections contain the list of parameters that should be monitored in order to properly specify conditions of the application environment. Most of these parameters can be monitored through tools provided by JLupin Platform out-of-the-box. The current state of all components running on the node are collected and provided by Main Servert, in omni-channel mode, through the following interfaces:
- CLI / Control (local console) - more about using cli to monitor Main Server and microservices can be found here.
- Http Rest (http information ) - the description how to use it for monitoring purposes can be found here.
- JMX (available soon).
NOTICE that we assume that application code is optimized in terms of using resources. If this assumption is not applicable to your case, be advised that code optimization should be performed before adding more resources to your infrastructure.
System parameters
Description
Parameter name |
Description |
CPU Usage |
The basic parameters that reflect amount of available resource in scope of computing. When the value is more than 80% the increase of resources should be taken into consideration (more powerful jBricks or more jBricks). |
Load |
The average number of processes waiting for CPU. When the value exceed the normalized limit (1) the increase of resources should be taken into consideration (ex. more CPU/cores per jBrick or more jBricks) |
Memory usage |
The basic parameters that reflect amount of available resource in scope of memory |
Number of TCP connections / sockets |
The total number of TCP connections in operating system, with particular attention to TIME_WAIT status. If the value exceeds the maximum value the number of microservices per jBrick should be decreased. |
The way of measurement (CLI)
Parameter name |
Command |
CPU Usage |
node runtime os |
Load |
not available yet, try uptime or vmstat to get it using OS tools directly |
Memory usage |
node runtime os |
Number of TCP connections / sockets |
not available yet, try netstat to get it using OS tools directly |
The way of measurement (HTTP REST)
Parameter name |
Key |
CPU Usage |
SYSTEM_CPU_LOAD |
Load |
not available yet, try uptime or vmstat to get it using OS tools directly (Linux) |
Memory usage |
Calculate basing on: OS_MEMORY_MAP -> USAGE & OS_MEMORY_MAP -> TOTAL |
Number of TCP connections / sockets |
not available yet, try netstat to get it using OS tools directly |
Platform parameters (Main Server)
Parameter name |
Description |
Cpu Usage |
Percentage usage of CPU by Main Server. |
Mem Usage |
Percentage usage of JVM Heap space of Main Server. |
Threads Usage |
Percentage usage of thread pool associated with specific logical server. |
The way of measurement (CLI)
Parameter name |
Command |
Cpu Usage |
node runtime cpu |
Mem Usage |
node runtime memory |
Threads Usage |
node runtime threads |
The way of measurement (HTTP REST)
Parameter name |
Key |
Cpu Usage |
MAIN_SERVER_AVAILABLE_STATUS_DETAIL -> jvmProcessCpuLoad |
Mem Usage |
Calculate basing on: MAIN_SERVER_AVAILABLE_STATUS_DETAIL -> jvmFreeMemory & MAIN_SERVER_AVAILABLE_STATUS_DETAIL -> jvmTotalMemory |
Threads Usage |
Calculate basing on: MAIN_SERVER_AVAILABLE_STATUS_DETAIL -> mainServerStatusDetails -> activeThreads & MAIN_SERVER_AVAILABLE_STATUS_DETAIL -> mainServerStatusDetails -> maxThreads |
Microservice parameters
Parameter name |
Description |
Status |
Status of a microserice from process manager perspective |
Availability |
Availability of a microservice from Main Server's microservice perspective |
Cpu Usage |
Percentage usage of CPU by a microservice |
Mem Usage |
Percentage usage of JVM Heap space of a microservice |
Threads Usage |
Percentage usage of thread pool associated with a microservice |
The way of measurement (CLI)
Parameter name |
Command |
Status |
microservice status |
Availability |
microservice status |
Cpu Usage |
microservice runtime cpu |
Mem Usage |
microservice runtime memory |
Threads Usage |
microservice runtime threads |
The way of measurement (HTTP REST)
Parameter name |
Key |
Status |
MICROSERVICE_INFORMATION_DETAIL_MAP -> [name] -> currentJLupinProcessState |
Availability |
MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> available |
Cpu Usage |
MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> jvmProcessCpuLoad |
Mem Usage |
Calculate basing on: MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> jvmFreeMemory & MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> jvmMaxMemory |
Threads Usage |
Calculate basing on: MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> [interface_type]ActiveThreads & MICROSERVICE_AVAILABLE_STATUS_DETAIL_LIST -> [id] -> [interface_type]MaxThreads |