Closed aned closed 3 years ago
It looks like the plugin reads from /proc/nvmeibc
. In order to support this, there are a few steps.
/proc
files needs to be added to procfsOnce those things are done, a collector can be added here.
Thanks @SuperQ for looking into this!
Confirming that file permissions on the /proc are readable by non-root users (I also ran the above plugin as non-root):
[proc]$
ls -al | grep nvme
dr-xr-xr-x 3 root root 0 Jan 28 18:00 nvmeib
dr-xr-xr-x 2 root root 0 Mar 1 20:28 nvmeiba
dr-xr-xr-x 9 root root 0 Feb 1 22:20 nvmeibc
nvmeibc]$ ls -al
total 0
dr-xr-xr-x 9 root root 0 Feb 1 22:20 .
drwxr-xr-x 710 root root 0 Jan 28 17:50 ..
-r--r--r-- 1 root root 0 Mar 1 20:29 cflags
dr-xr-xr-x 2 root root 0 Mar 1 20:29 cli
-r--r--r-- 1 root root 0 Mar 1 20:29 .debug
-r--r--r-- 1 root root 0 Mar 1 20:29 dict_sign
dr-xr-xr-x 14 root root 0 Mar 1 20:29 disks
dr-xr-xr-x 2 root root 0 Mar 1 20:29 dvlp
--w------- 1 root root 0 Mar 1 20:29 echo
-rw------- 1 root root 0 Mar 1 20:29 instctls
-r--r--r-- 1 root root 0 Mar 1 20:29 inst_list.json
dr-xr-xr-x 2 root root 0 Mar 1 20:29 jam
dr-xr-xr-x 2 root root 0 Feb 1 22:20 mcs
dr-xr-xr-x 6 root root 0 Mar 1 20:29 net
-r--r--r-- 1 root root 0 Mar 1 20:29 rsrc_info.json
-r--r--r-- 1 root root 0 Mar 1 20:29 status
-r--r--r-- 1 root root 0 Mar 1 20:29 version
dr-xr-xr-x 5 root root 0 Mar 1 20:29 volumes
/proc/nvmeibc/volumes/test
dr-xr-xr-x 2 root root 0 Mar 1 20:31 .
dr-xr-xr-x 5 root root 0 Mar 1 20:31 ..
-r--r--r-- 1 root root 0 Mar 1 20:32 client_processes
-r--r--r-- 1 root root 0 Mar 1 20:32 flow_cntr.json
-r--r--r-- 1 root root 0 Mar 1 20:32 iostats
-r--r--r-- 1 root root 0 Mar 1 20:32 iostats.json
-r--r--r-- 1 root root 0 Mar 1 20:32 io_throttle
-r--r--r-- 1 root root 0 Mar 1 20:32 profiling
-r--r--r-- 1 root root 0 Mar 1 20:32 profiling.csv
-r--r--r-- 1 root root 0 Mar 1 20:32 recov_stats
-r--r--r-- 1 root root 0 Mar 1 20:32 status
-r--r--r-- 1 root root 0 Mar 1 20:32 status.json
This is completed via #1832
node exporter is covering the volumes already, but not the constituent disks.
There is this NVMesh storage plugin: https://github.com/Excelero/telegraf-plugin, nvmesh_telegraf.py produces:
"nvmesh telegraph plugin" - "telegraph" - "influxdb" - "influxdb prometheus.client" produces:
Current node_exporter output: