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