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