SYSTEM protocol - Developer Documentation
Skip to content

Overview of SYSTEM protocol for MindConnect Nano

You can use the protocol SYSTEM to implement a system information adapter for analysis purposes. The SYSTEM protocol can collect the following information from MindConnect Nano:

  • Overall CPU load
  • Overall memory consumption
  • Network traffic
  • Application specific data
    • CPU load memory consumption
  • Disk usage

You can choose the SYSTEM protocol as a data source without configuring specific system parameters, except the reading cycle.

After creating the data source you can configure the following categories in a new data point:

  • CPU
  • Memory
  • Network
  • Disk

The following image shows the data point input window for the SYSTEM protocol:

overview-system-protocol-nano

Each category has its own set of variables which will be described in the following.

Application information

Application provides the following available applications:

  • MindEdgeRuntimeSystem/java
  • DataProvider
  • BoxManager
  • S7 Plugin
  • OPC UA Plugin
  • XTools
  • Mosquitto

The following table shows the available variables for the applications:

Variable Data type Address
Name string /application/<subcategory>/name
State stri /application/<subcategory>/state
Tgid int /application/<subcategory>/tgid
Ngid int /application/<subcategory>/ngid
Pid int /application/<subcategory>/pid
PPid int /application/<subcategory>/ppid
TracerPid int /application/<subcategory>/tracerpid
Uid string /application/<subcategory>/uid
Gid string /application/<subcategory>/gid
FDSize int /application/<subcategory>/fdsize
Groups string /application/<subcategory>/groups
NStgid int /application/<subcategory>/nstgid
NSpid int /application/<subcategory>/nspid
NSpgid int /application/<subcategory>/nspgid
NSsid int /application/<subcategory>/nssid
VmPeak long /application/<subcategory>/vmpeak
VmSize long /application/<subcategory>/vmsize
VmLck long /application/<subcategory>/vmlck
VmPin long /application/<subcategory>/vmpin
VmHWM long /application/<subcategory>/vmhwm
VmRSS long /application/<subcategory>/vmrss
VmData long /application/<subcategory>/vmdata
VmStk long /application/<subcategory>/vmstk
VmExe long /application/<subcategory>/vmexe
VmLib long /application/<subcategory>/vmlib
VmPTE long /application/<subcategory>/vmpte
VmPMD long /application/<subcategory>/vmpmd
VmSwap long /application/<subcategory>/vmswap
HugetlbPages long /application/<subcategory>/hugetlbpages
Threads int /application/<subcategory>/threads
SigQ string /application/<subcategory>/sigq
SigPnd string /application/<subcategory>/sigpnd
ShdPnd string /application/<subcategory>/shdpnd
SigBlk string /application/<subcategory>/sigblk
SigIgn string /application/<subcategory>/sigign
SigCgt string /application/<subcategory>/sigcgt
CapInh string /application/<subcategory>/capinh
CapPrm string /application/<subcategory>/capprm
CapEff string /application/<subcategory>/capeff
CapBnd string /application/<subcategory>/capbnd
CapAmb string /application/<subcategory>/capamb
Seccomp int /application/<subcategory>/seccomp
Speculation_Store_Bypass string /application/<subcategory>/speculation_store_bypass
Cpus_allowed int /application/<subcategory>/cpus_allowed
Cpus_allowed_list string /application/<subcategory>/cpus_allowed_list
Mems_allowed int /application/<subcategory>/mems_allowed
Mems_allowed_list string /application/<subcategory>/mems_allowed_list
voluntary_ctxt_switches int /application/<subcategory>/voluntary_ctxt_switches
nonvoluntary_ctxt_switches int /application/<subcategory>/nonvoluntary_ctxt_switches

CPU information

The following table shows the available variables for the category CPU information:

Variable Data type Description
LoadAvg1 double Number of processes in state R(runnable) or D(disk sleep) averaged over 1 minute.
LoadAvg5 double Number of processes in state R(runnable) or D(disk sleep) averaged over 5 minutes.
LoadAvg10 double Number of processes in state R(runnable) or D(disk sleep) averaged over 15 minutes.
ProcessCount string String containing number of currently runnable processes/threads and number of scheduling processes/threads that currently exist on the system.
LastPidUsed long Pid of the process that was most recently created.
CurrentProcessCount long Number of currently runnable processes/threads.
ScheduledProcessCount long Number of scheduling processes/threads that currently exist on the system.

Disk information

Disk collects information about disk usage and provides the following subcategories:

  • persistent_massdata
  • persistent_appconfig
  • persistent
  • root

The following table shows the available variables for the category Disk information:

Variable Data type Address Description
Available long /disk/dev/<subcategory>/available Available space in bytes.
Size long /disk/dev/<subcategory>/size Partition size in bytes.
Used long /disk/dev/<subcategory>/used Used space in bytes.

KERNEL information

The following table shows the available variables for the category KERNEL information:

Variable Data type Address
OsRelease string /kernel/osrelease
OsType string /kernel/ostype
Version string /kernel/version

Memory information

The following table shows the available variables for the category Memory information:

Variable Data type Address Restrictions
Active long /memory/active
Active(Anon) long /memory/active(anon)
Active long /memory/active
Active(Anon) long /memory/active(anon)
Active(File) long /memory/active(file)
AnonPages long /memory/anonpages
Available long /memory/available
Bounce long /memory/bounce
Buffers long /memory/buffers
Cached long /memory/cached
CommitLimit long /memory/commitlimit
Committed_As long /memory/committed_as
DirectMap4K long /memory/directmap4k
DirectMap4M long /memory/directmap4m
Dirty long /memory/dirty
AnonHugePages long /memory/anonhugepages Only supported by MindConnect Nano.
CmaTotal long /memory/cmatotal Only supported by MindConnect Nano.
CmaFree long /memory/cmafree Only supported by MindConnect Nano.
HugePages_Total long /memory/hugepages_total Only supported by MindConnect Nano.
HugePages_Free long /memory/hugepages_free Only supported by MindConnect Nano.
HugePages_Rsvd long /memory/hugepages_Rsvd Only supported by MindConnect Nano.
HugePages_Surp long /memory/hugepages_surp Only supported by MindConnect Nano.
Hugepagesize long /memory/hugepagesize Only supported by MindConnect Nano.
Inactive long /memory/inactive
Inactive(Anon) long /memory/inactive(anon)
Inactive(File) long /memory/inactive(file)
KernelStack long /memory/kernelstack
LowFree long /memory/lowfree
LowTotal long /memory/lowtotal
Mapped long /memory/mapped
MemFree long /memory/memfree
MemTotal long /memory/memtotal
MLocked long /memory/mlocked
NFS_Unstable long /memory/nfs_unstable
PageTables long /memory/pagetables
SHMem long /memory/shmem
SLab long /memory/slab
SReclaimable long /memory/sreclaimable
SUnreclaim long /memory/sunreclaim
SwapCached long /memory/swapcached
SwapFree long /memory/swapfree
SwapTotal long /memory/swaptotal
Unevictable long /memory/unevictable
VMAllocChunk long /memory/vmallocchunk
VMAllocTotal long /memory/vmalloctotal
VMAllocUsed long /memory/vmallocused
WriteBack long /memory/writeback
WriteBackTmp long /memory/writebacktmp

Network information

The following table shows the available variables for the category Network information:

Variable Data type Address Description
ArpFilter long /network/arpfilter
BusyPollRxPackets long /network/busypollrxpackets
BytesReceived long /network/bytesreceived Alias for InOctets.
BytesSend long /network/bytessend Alias for OutOctets.
DelayedAckLocked long /network/delayedacklocked Number of delayed acks further delayed because of locked socket.
DelayedAckLost long /network/delayedacklost Number of times that quick ack mode was activated.
DelayedAcks long /network/delayedacks Number of delayed acks sent.
EmbryonicRsTs long /network/embryonicrsts Number of resets received for embryonic SYN_RECV sockets.
InBcastOctets long /network/inbcastoctets
InBcastPkts long /network/inbcastpkts
IncePkts long /network/incepkts
IncSumErrors long /network/incsumerrors
Inect0Pkts long /network/inect0pkts
Inect1Pkts long /network/inect1pkts
InMcastOctets long /network/inmcastoctets
InMcastPkts long /network/inmcastpkts
InNoEctPkts long /network/innoectpkts
InNoRoutes long /network/innoroutes
InOctets long /network/inoctets Bytes received.
InTruncatedPkts long /network/intrucatedpkts Number of truncated packets received.
IpReversePathFilter long /network/ipreversepathfilter
ListenDrops long /network/listendrops Number of SYNs to LISTEN sockets that were dropped.
ListenOverflows long /network/listenoverflows Number of times the listen queue of a socket overflowed
LockDroppedIcmps long /network/lockdroppedicmps ICMP packets dropped because socket was locked.
OfoPruned long /network/ofopruned Packets dropped from out-of-order queue because of socket buffer overrun.
OutBcastOctets long /network/outbcastoctets
OutBcastPkts long /network/outbcastpkts
OutMcastOctets long /network/outmcastoctets
OutMcastPkts long /network/outmcastokts
OutOctets long /network/outoctets Bytes sent.
OutOfWindowIcmps long /network/outofwindowicmps ICMP packets dropped because they were out-of-window.
PAWSActive long /network/pawsactive Active connections rejected because of timestamp.
PAWSEstab long /network/pawsestab Packets rejected in established connections because of timestamp.
PAWSPassive long /network/pawspassive Passive connections rejected because of timestamp.
PruneCalled long /network/prunecalled Packets pruned from receive queue because of socket buffer overrun.
RcvPruned long /network/rcvpruned Packets pruned from receive queue.
SyncookiesFailed long /network/syncookiesFailed Number of invalid SYN cookies received.
SyncookiesRecv long /network/syncookiesrecv Number of SYN cookies received.
SyncookiesSent long /network/syncookiessent Number of SYN cookies sent.
TCPAbortFailed long /network/tcpabortfailed Number of times unable to send RST due to no memory.
TCPAbortOnClose long /network/tcpabortonclose Connections reset due to early user close.
TCPAbortOnData long /network/tcpabortondata Connections reset due to unexpected data.
TCPAbortOnLinger long /network/tcpabortonlinger Connections aborted after user close in linger timeout.
TCPAbortOnMemory long /network/tcpabortonmemory Connections aborted due to memory pressure.
TCPAbortOnSyn long /network/tcpabortonsync Connections reset due to unexpected SYN.
TCPAbortOnTimeout long /network/tcpabortontimeout Connections aborted due to timeout.
TCPAckSkippedChallenge long /network/tcpackskippedchallenge
TCPAckSkippedFinWait2 long /network/tcpackskippedfinwait2
TCPAckSkippedPAWS long /network/tcpackskippedpaws
TCPAckSkippedSEQ long /network/tcpackskippedseq
TCPAckSkippedSYNRecv long /network/tcpackskippedsynrecv
TCPAckSkippedTimeWait long /network/tcpackskippedtimewait
TCPAutoCorking long /network/tcpautocorking
TCPBacklogDrop long /network/tcpbacklogdrop
TCPChallengeAck long /network/tcpchallengeack
TCPDeferAcceptDrop long /network/tcpdeferacceptdrop
TCPDirectCopyFromBacklog long /network/tcpdirectcopyfrombacklog Bytes directly in process context from backlog.
TCPDirectCopyFromPrequeue long /network/tcpdirectcopyfromprequeue Bytes directly received in process context from prequeue.
TCPDSACKIGNoRedNoUndo long /network/tcpdsackignorednoundo
TCPDSACKIGNoRedOld long /network/tcpdsackignoredold
TCPDSACKOfoRecv long /network/tcpdsackoforecv DSACKs for out of order packets
TCPDSACKOfoSent long /network/tcpdsackofosent DSACKs sent for out of order packets.
TCPDSACKOldSent long /network/tcpdsackoldsent DSACKs sent for old packets.
TCPDSACKRecv long /network/tcpdsackrecv DSACKs received.
TCPDSACKUndo long /network/tcpdsackundo Congestion window recovered without slow start using DSACK.
TCPFACKReorder long /network/tcpfackreorder Number of times reordering was detected using FACK.
TCPFastOpenActive long /network/tcpfastopenactive
TCPFastOpenActiveFailL long /network/tcpfastopenactivefail
TCPFastOpenCookieReqD long /network/tcpfastopencookiereqd
TCPFastOpenListenOverflow long /network/tcpfastopenlistenoverflow
TCPFastOpenPassive long /network/tcpfastopenpassive
TCPFastOpenPassiveFail long /network/tcpfastopenpassivefail
TCPFastRetrans long /network/tcpfastretrans Fast retransmits.
TCPForwardRetrans long /network/tcpforwardretrans Forward retransmits.
TCPFromZeroWindowAdv long /network/tcpfromzerowindowadv
TCPFullUndo long /network/tcpfullundo Congestion windows fully recovered without slow start.
TCPHPAcks long /network/tcphpacks Predicted acknowledgments.
TCPHPHits long /network/tcphphits Packet headers predicted.
TCPHPHitsToUser long /network/tcphphitstouser Packet headers predicted and directly queued to user.
TCPHYStartDelayCWND long /network/tcphystartdelaycwnd
TCPHYStartDelayDetect long /network/tcphystartdelaydetect
TCPHYStartTrainCWND long /network/tcphystarttraincwnd
TCPHYStartTrainDetect long /network/tcphystarttraindetect
TCPKeepAlive long /network/tcpkeepalive Number of ACK packets sent to keep TCP flow alive.
TCPLossFailures long /network/tcplossfailures Timeouts in loss state.
TCPLossProbeRecovery long /network/tcplossproberecovery
TCPLossProbes long /network/tcplossprobes
TCPLossUndo long /network/tcplossundo Congestion windows recovered without slow start after partial ack.
TCPLostRetransmits long /network/tcplostretransmits Retransmits lost.
TCPMD5NotFound long /network/tcpmd5notfound
TCPMD5Unexpected long /network/tcpmd5unexpected
TCPMemoryPressures long /network/tcpmemorypressures Number of times TCP ran low on memory.
TCPMINTTLDrop long /network/tcpminttldrop
TCPMTUPFail long /network/tcpmtupfail
TCPMTUPSuccess long /network/tcpmtupsuccess
TCPOfoDrop long /network/tcpofodrop
TCPOfoMerge long /network/tcpofomerge
TCPOfoQueue long /network/tcpofoqueue
TCPOrigDataSent long /network/tcporigdatasent
TCPPartialUndo long /network/tcppartialundo Congestion windows partially recovered using Hoe heuristic.
TCPPrequeued long /network/tcpprequeued Packets directly queued to recvmsg prequeue.
TCPPrequeueDropped long /network/tcpprequeuedropped Packets dropped from prequeue.
TCPPureAcks long /network/tcppureacks Acknowledgments not containing data payload received.
TCPRcvCoalesce long /network/tcprcvcoalesce
TCPRcvCollapsed long /network/tcprcvcollapsed Packets collapsed in receive queue due to low socket buffer.
TCPRenoFailures long /network/tcprenofailures Timeouts after reno fast retransmit.
TCPRenoRecovery long /network/tcprenorecovery Times recovered from packet loss due to fast retransmit.
TCPRenoRecoveryFail long /network/tcprenorecoveryfail Classic Reno fast retransmits failed.
TCPRenoReorder long /network/tcprenoreorder
TCPReqQFullDoCookies long /network/tcpreqqfulldocookies
TCPReqQFullDrop long /network/tcpreqqfulldrop
TCPRetransFail long /network/tcpretransfail
TCPSACKDiscard long /network/tcpsackdiscard
TCPSACKFailures long /network/tcpsackfailures Timeouts after SACK recovery.
TCPSACKMerged long /network/tcpsackmerged
TCPSACKRecovery long /network/tcpsackrecovery Times recovered from packet loss by selective acknowledgements.
TCPSACKRecoveryFail long /network/tcpsackRecoveryFails SACK retransmits failed.
TCPSACKReneging long /network/tcpsackreneging Bad SACK blocks received.
TCPSACKReorder long /network/tcpsackreorder Number of times reordering was detected using SACK.
TCPSACKShifted long /network/tcpsackshifted
TCPSACKShiftFallback long /network/tcpsackshiftfallback
TCPSchedulerFailed long /network/tcpschedulerfailed Times receiver scheduled too late for direct processing.
TCPSlowStartRetrans long /network/tcpslowstartretrans Retransmits in slow start.
TCPSpuriousRTOS long /network/tcpspuriousrtos
TCPSpuriousRTXHostQueues long /network/tcpspuriousrtxhostqueues
TCPSYNChallenge long /network/tcpsynchallenge
TCPSYNRetrans long /network/tcpsynretrans
TCPTimeouts long /network/tcptimeouts Other TCP timeouts.
TCPTimeWaitOverflow long /network/tcptimewaitoverflow
TCPToZeroWindowAdv long /network/tcptozerowindowadv
TCPTSReorder long /network/tcptsreorder Number of times reordering was detected using timestamp.
TCPWantZeroWindowAdv long /network/tcpwantzerowindowadv
TCPWinProbe long /network/tcpwinprobe Number of ACK packets to be sent at regular intervals to make sure a reverse ACK packet opening back a window has not been lost.
TW long /network/tw
TWKilled long /network/twkilled TCP sockets finished time wait in slow timer.
TWRecycled long /network/twrecycled Time wait sockets recycled by timestamp.

Last update: February 16, 2024