Overview of SYSTEM protocol

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

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

121384341387.png

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

  • OPCUA Plugin

  • XTools

  • Mosquitto

The following table shows the available variables for the applications:

Variable

Data type

Address

Name

string

/application/<subcategory>/name

State

string

/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 

Partition size in bytes.

Size 

long

/disk/dev/<subcategory>/size

Used space in bytes.

Used

long

/disk/dev/<subcategory>/used

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

HighFree

long

/memory/highfree

Only supported by MindConnect IoT 2040.

HighTotal

long

/memory/hightotal

Only supported by MindConnect IoT 2040.

LowFree

long

/memory/lowfree

Only supported by MindConnect IoT 2040.

LowTotal

long

/memory/lowtotal

Only supported by MindConnect IoT 2040.

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

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