Overview of SYSTEM protocol for MindConnect IoT2050¶
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 IoT2050:
- 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.
The following image shows the data source input window for the SYSTEM protocol:
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:
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 | |
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. |
TCPLostRetransmit | long | /network/tcplostretransmit | Retransmit 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. |