Skip to content

Overview of SYSTEM protocol for MindConnect Software Agent

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 Software Agent:

  • 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-mcsa

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

SYSTEM protocol data point parameter

In order to collect the data of the SYSTEM protocol device, click "Add Datapoint" to add new datapoint.

The following image shows the data point parameter window:

system-data-point-parameter-mcsa

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
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