System Monitoring
4 minute read
System Monitoring is an internal plugin developed and maintained by MyController
Configuration
- Form view
- YAML View
provider: type: system_monitoring # (1) hostIdMap: {} # (2) hostConfigMap: {} # (3)
type
should be selected assystem_monitoring
hostIdMap
- is a group of key value maphostConfigMap
configurations of monitoring resources
Host ID Map Configuration
Host ID Map (hostIdMap
) is used to map the real host id with a friendly name
Samples:
be0164ad-6f25-4448-b691-567946392b47: rpi_1
a574ac8d-4c9f-40d6-b0ce-bbc7d98cd87d: rpi_2
Here be0164ad-6f25-4448-b691-567946392b47
is the actual id of the host and it is mapped with rpi_1
.
If data received from this node, The node name will be as rpi_1
Host Config Map Configuration
Host Config Map (hostConfigMap
) is used to configure a specific node(s)
rpi_1: # (1)
disabled: false # (2)
cpu: # (3)
interval: 1m
cpuDisabled: false
perCpuDisabled: false
disk: # (4)
interval: 1h
disabled: false
data:
disk_root:
disabled: false
name: "Root"
path: /root
unit: MiB
disk_storage:
disabled: false
name: "Storage"
path: /storage
unit: MiB
memory: # (5)
interval: 1m
memoryDisabled: false
swapMemoryDisabled: false
unit: MiB
process: # (6)
interval: 1m
disabled: false
data:
influxd:
disabled: false
name: "InfluxDB"
unit: MiB
filter:
cmdline: influxd
adguard:
disabled: false
name: "AdGuard"
unit: MiB
filter:
cmdline: >-
/opt/adguardhome/AdGuardHome --no-check-update -c
/opt/adguardhome/conf/AdGuardHome.yaml -h 0.0.0.0 -w
/opt/adguardhome/work
mycontroller:
disabled: false
name: "MyController"
unit: MiB
filter:
cmdline: /app/mycontroller-all-in-one -config /app/mycontroller.yaml
natsio:
disabled: false
name: "NatsIO"
unit: MiB
filter:
cmdline: nats-server --config /etc/nats/nats-server.conf
proc_gw:
disabled: false
name: "MYC GW"
unit: MiB
filter:
cmdline: ./mycontroller-gateway -config gateway.yaml
temperature: # (7)
disabledAll: false
interval: 30s
enabled: []
rpi_2: # (1)
cpu:
# ...
- node_id - id of the node or host
disabled
- settrue
to disable data from this node. default value:false
cpu
configurationsdisk
configurationsmemory
configurationsprocess
configurationstemperature
configurations
CPU Configurations
cpu:
interval: 1m # (1)
cpuDisabled: false # (2)
perCpuDisabled: false # (3)
interval
- metric measurement intervalcpuDisabled
- disable overall CPU metrics dataperCpuDisabled
- disable individual CPU(s) metrics data
Disk Configurations
disk:
interval: 1h # (1)
disabled: false # (2)
data: # (3)
disk_root: # (4)
disabled: false # (5)
name: "Root" # (6)
path: /root # (7)
unit: MiB # (8)
disk_storage:
disabled: false
name: "Storage"
path: /storage
interval
- metric measurement intervaldisabled
- disable the all the disk metricsdata
- is a map of disk configurations- This id will be used as
fieldId
in MyController, use lowercase, no special characters,_
allowed disabled
- disable this particular disk metricsname
- will be used as field namepath
- disk path used to measure the usage detailsunit
- units guide
Memory Configurations
memory:
interval: 1m # (1)
memoryDisabled: false # (2)
swapMemoryDisabled: false # (3)
unit: MiB # (4)
interval
- metric measurement intervalmemoryDisabled
- enable/disable memory measurementswapMemoryDisabled
- enable/disable swap measurementunit
- units guide
Process Configurations
process:
interval: 1m # (1)
disabled: false # (2)
data: # (3)
influxd: # (4)
disabled: false # (5)
name: "InfluxDB" # (6)
unit: MiB # (7)
filter: # (8)
cmdline: influxd # (9)
mycontroller:
disabled: false
name: "MyController"
filter:
cmdline: /app/mycontroller-all-in-one -config /app/mycontroller.yaml
interval
- metric measurement intervaldisabled
- disable the all the process metricsdata
- is a map of process configurations- This id will be used as
fieldId
in MyController, use lowercase, no special characters,_
allowed disabled
- disable this particular process metricsname
- will be used as field nameunit
- units guidefilter
- used to get a specific filtercmdline
- one of the key used to filter a process
Supported keys in the filter
pid
- Process IDcmdline
-cwd
- client’s Current Working Directoryexe
-name
-nice
- nice value of the processppid
- Parent Process IDusername
-
Measurement Units
Bye default all the values reported in bytes.
We have an option to convert the bytes to more readable values.
Update unit
on the supported resources.
If you want the values in bytes leave the unit
field as blank or remove it completely
Supported units: KiB
, MiB
, GiB
, TiB
, PiB
, EiB
- KiB - Kibibytes (10241 bytes)
- MiB - Mibibytes (10242 bytes)
- GiB - Gibibytes (10243 bytes)
- TiB - Tebibytes (10244 bytes)
- PiB - Pebibytes (10245 bytes)
- EiB - Exbibytes (10246 bytes)
Note
Units are case sensitive. If the specified unit is not in the above list, returns the value as bytes
Last modified June 14, 2021: update installation guide (2fd41a2)