Unix¶
This collector polls resource usage by Harvest pollers on the local system. Collector might be extended in the future to monitor any local or remote process.
Target System¶
The machine where Harvest is running ("localhost").
Requirements¶
Collector requires any OS where the proc-filesystem is available. If you are a developer, you are welcome to add support for other platforms. Currently, supported platforms includes most Unix/Unix-like systems:
- Android / Termux
- DragonFly BSD
- FreeBSD
- IBM AIX
- Linux
- NetBSD
- Plan9
- Solaris
(On FreeBSD and NetBSD the proc-filesystem needs to be manually mounted).
Parameters¶
parameter | type | description | default |
---|---|---|---|
mount_point |
string, optional | path to the proc filesystem |
`/proc |
Metrics¶
The Collector follows the Linux proc(5) manual to parse a static set of metrics. Unless otherwise stated, the metric has a scalar value:
metric | type | unit | description |
---|---|---|---|
start_time |
counter, float64 |
seconds | process uptime |
cpu_percent |
gauge, float64 |
percent | CPU used since last poll |
memory_percent |
gauge, float64 |
percent | Memory used (RSS) since last poll |
cpu |
histogram, float64 |
seconds | CPU used since last poll (system , user , iowait ) |
memory |
histogram, uint64 |
kB | Memory used since last poll (rss , vms , swap , etc) |
io |
histogram, uint64 |
byte count |
IOs performed by process:rchar , wchar , read_bytes , write_bytes - read/write IOssyscr , syscw - syscalls for IO operations |
net |
histogram, uint64 |
count/byte | Different IO operations over network devices |
ctx |
histogram, uint64 |
count | Number of context switched (voluntary , involuntary ) |
threads |
counter, uint64 |
count | Number of threads |
fds |
counter, uint64 |
count | Number of file descriptors |
Additionally, the collector provides the following instance labels:
label | description |
---|---|
poller | name of the poller |
pid | PID of the poller |
Issues¶
- Collector will fail on WSL because some non-critical files, in the proc-filesystem, are not present.