diff options
author | Paul Gier <pgier@redhat.com> | 2018-10-15 10:24:28 -0500 |
---|---|---|
committer | Ben Kochie <superq@gmail.com> | 2018-10-15 17:24:28 +0200 |
commit | e8d819907272230c3d62783c8e26a3bf90696ffe (patch) | |
tree | f29eb3e498a64cc30db72ba349654be8edff529a | |
parent | 0880d460d76f58f7d4be264a202a9bacfbf76c6e (diff) | |
download | prometheus_node_collector-e8d819907272230c3d62783c8e26a3bf90696ffe.tar.bz2 prometheus_node_collector-e8d819907272230c3d62783c8e26a3bf90696ffe.tar.xz prometheus_node_collector-e8d819907272230c3d62783c8e26a3bf90696ffe.zip |
Update diskstats for linux kernel 4.19 (#1109)
The format of /proc/diskstats is changing in linux-4.19 to include some
additional fields. See: https://www.kernel.org/doc/Documentation/iostats.txt
* collector/diskstats: use constants for some hard coded strings
* collector/diskstats: update diskstats for linux-4.19
* collector/diskstats: remove kernel doc url from individual metrics
Signed-off-by: Paul Gier <pgier@redhat.com>
-rw-r--r-- | collector/diskstats_linux.go | 66 | ||||
-rw-r--r-- | collector/diskstats_linux_test.go | 4 | ||||
-rw-r--r-- | collector/fixtures/e2e-64k-page-output.txt | 29 | ||||
-rw-r--r-- | collector/fixtures/e2e-output.txt | 29 | ||||
-rw-r--r-- | collector/fixtures/proc/diskstats | 3 |
5 files changed, 107 insertions, 24 deletions
diff --git a/collector/diskstats_linux.go b/collector/diskstats_linux.go index 9b86eab..b3d85b1 100644 --- a/collector/diskstats_linux.go +++ b/collector/diskstats_linux.go | |||
@@ -30,8 +30,9 @@ import ( | |||
30 | ) | 30 | ) |
31 | 31 | ||
32 | const ( | 32 | const ( |
33 | diskSubsystem = "disk" | 33 | diskSubsystem = "disk" |
34 | diskSectorSize = 512 | 34 | diskSectorSize = 512 |
35 | diskstatsFilename = "diskstats" | ||
35 | ) | 36 | ) |
36 | 37 | ||
37 | var ( | 38 | var ( |
@@ -61,12 +62,12 @@ func init() { | |||
61 | } | 62 | } |
62 | 63 | ||
63 | // NewDiskstatsCollector returns a new Collector exposing disk device stats. | 64 | // NewDiskstatsCollector returns a new Collector exposing disk device stats. |
65 | // Docs from https://www.kernel.org/doc/Documentation/iostats.txt | ||
64 | func NewDiskstatsCollector() (Collector, error) { | 66 | func NewDiskstatsCollector() (Collector, error) { |
65 | var diskLabelNames = []string{"device"} | 67 | var diskLabelNames = []string{"device"} |
66 | 68 | ||
67 | return &diskstatsCollector{ | 69 | return &diskstatsCollector{ |
68 | ignoredDevicesPattern: regexp.MustCompile(*ignoredDevices), | 70 | ignoredDevicesPattern: regexp.MustCompile(*ignoredDevices), |
69 | // Docs from https://www.kernel.org/doc/Documentation/iostats.txt | ||
70 | descs: []typedFactorDesc{ | 71 | descs: []typedFactorDesc{ |
71 | { | 72 | { |
72 | desc: prometheus.NewDesc( | 73 | desc: prometheus.NewDesc( |
@@ -79,7 +80,7 @@ func NewDiskstatsCollector() (Collector, error) { | |||
79 | { | 80 | { |
80 | desc: prometheus.NewDesc( | 81 | desc: prometheus.NewDesc( |
81 | prometheus.BuildFQName(namespace, diskSubsystem, "reads_merged_total"), | 82 | prometheus.BuildFQName(namespace, diskSubsystem, "reads_merged_total"), |
82 | "The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt.", | 83 | "The total number of reads merged.", |
83 | diskLabelNames, | 84 | diskLabelNames, |
84 | nil, | 85 | nil, |
85 | ), valueType: prometheus.CounterValue, | 86 | ), valueType: prometheus.CounterValue, |
@@ -113,7 +114,7 @@ func NewDiskstatsCollector() (Collector, error) { | |||
113 | { | 114 | { |
114 | desc: prometheus.NewDesc( | 115 | desc: prometheus.NewDesc( |
115 | prometheus.BuildFQName(namespace, diskSubsystem, "writes_merged_total"), | 116 | prometheus.BuildFQName(namespace, diskSubsystem, "writes_merged_total"), |
116 | "The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt.", | 117 | "The number of writes merged.", |
117 | diskLabelNames, | 118 | diskLabelNames, |
118 | nil, | 119 | nil, |
119 | ), valueType: prometheus.CounterValue, | 120 | ), valueType: prometheus.CounterValue, |
@@ -156,7 +157,40 @@ func NewDiskstatsCollector() (Collector, error) { | |||
156 | { | 157 | { |
157 | desc: prometheus.NewDesc( | 158 | desc: prometheus.NewDesc( |
158 | prometheus.BuildFQName(namespace, diskSubsystem, "io_time_weighted_seconds_total"), | 159 | prometheus.BuildFQName(namespace, diskSubsystem, "io_time_weighted_seconds_total"), |
159 | "The weighted # of seconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt.", | 160 | "The weighted # of seconds spent doing I/Os.", |
161 | diskLabelNames, | ||
162 | nil, | ||
163 | ), valueType: prometheus.CounterValue, | ||
164 | factor: .001, | ||
165 | }, | ||
166 | { | ||
167 | desc: prometheus.NewDesc( | ||
168 | prometheus.BuildFQName(namespace, diskSubsystem, "discards_completed_total"), | ||
169 | "The total number of discards completed successfully.", | ||
170 | diskLabelNames, | ||
171 | nil, | ||
172 | ), valueType: prometheus.CounterValue, | ||
173 | }, | ||
174 | { | ||
175 | desc: prometheus.NewDesc( | ||
176 | prometheus.BuildFQName(namespace, diskSubsystem, "discards_merged_total"), | ||
177 | "The total number of discards merged.", | ||
178 | diskLabelNames, | ||
179 | nil, | ||
180 | ), valueType: prometheus.CounterValue, | ||
181 | }, | ||
182 | { | ||
183 | desc: prometheus.NewDesc( | ||
184 | prometheus.BuildFQName(namespace, diskSubsystem, "discarded_sectors_total"), | ||
185 | "The total number of sectors discard successfully.", | ||
186 | diskLabelNames, | ||
187 | nil, | ||
188 | ), valueType: prometheus.CounterValue, | ||
189 | }, | ||
190 | { | ||
191 | desc: prometheus.NewDesc( | ||
192 | prometheus.BuildFQName(namespace, diskSubsystem, "discard_time_seconds_total"), | ||
193 | "This is the total number of seconds spent by all discards.", | ||
160 | diskLabelNames, | 194 | diskLabelNames, |
161 | nil, | 195 | nil, |
162 | ), valueType: prometheus.CounterValue, | 196 | ), valueType: prometheus.CounterValue, |
@@ -167,7 +201,6 @@ func NewDiskstatsCollector() (Collector, error) { | |||
167 | } | 201 | } |
168 | 202 | ||
169 | func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { | 203 | func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { |
170 | procDiskStats := procFilePath("diskstats") | ||
171 | diskStats, err := getDiskStats() | 204 | diskStats, err := getDiskStats() |
172 | if err != nil { | 205 | if err != nil { |
173 | return fmt.Errorf("couldn't get diskstats: %s", err) | 206 | return fmt.Errorf("couldn't get diskstats: %s", err) |
@@ -179,8 +212,8 @@ func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { | |||
179 | continue | 212 | continue |
180 | } | 213 | } |
181 | 214 | ||
182 | if len(stats) != len(c.descs) { | 215 | if len(stats) > len(c.descs) { |
183 | return fmt.Errorf("invalid line for %s for %s", procDiskStats, dev) | 216 | return fmt.Errorf("invalid line for %s for %s", procFilePath(diskstatsFilename), dev) |
184 | } | 217 | } |
185 | 218 | ||
186 | for i, value := range stats { | 219 | for i, value := range stats { |
@@ -194,8 +227,8 @@ func (c *diskstatsCollector) Update(ch chan<- prometheus.Metric) error { | |||
194 | return nil | 227 | return nil |
195 | } | 228 | } |
196 | 229 | ||
197 | func getDiskStats() (map[string]map[int]string, error) { | 230 | func getDiskStats() (map[string][]string, error) { |
198 | file, err := os.Open(procFilePath("diskstats")) | 231 | file, err := os.Open(procFilePath(diskstatsFilename)) |
199 | if err != nil { | 232 | if err != nil { |
200 | return nil, err | 233 | return nil, err |
201 | } | 234 | } |
@@ -204,22 +237,19 @@ func getDiskStats() (map[string]map[int]string, error) { | |||
204 | return parseDiskStats(file) | 237 | return parseDiskStats(file) |
205 | } | 238 | } |
206 | 239 | ||
207 | func parseDiskStats(r io.Reader) (map[string]map[int]string, error) { | 240 | func parseDiskStats(r io.Reader) (map[string][]string, error) { |
208 | var ( | 241 | var ( |
209 | diskStats = map[string]map[int]string{} | 242 | diskStats = map[string][]string{} |
210 | scanner = bufio.NewScanner(r) | 243 | scanner = bufio.NewScanner(r) |
211 | ) | 244 | ) |
212 | 245 | ||
213 | for scanner.Scan() { | 246 | for scanner.Scan() { |
214 | parts := strings.Fields(scanner.Text()) | 247 | parts := strings.Fields(scanner.Text()) |
215 | if len(parts) < 4 { // we strip major, minor and dev | 248 | if len(parts) < 4 { // we strip major, minor and dev |
216 | return nil, fmt.Errorf("invalid line in %s: %s", procFilePath("diskstats"), scanner.Text()) | 249 | return nil, fmt.Errorf("invalid line in %s: %s", procFilePath(diskstatsFilename), scanner.Text()) |
217 | } | 250 | } |
218 | dev := parts[2] | 251 | dev := parts[2] |
219 | diskStats[dev] = map[int]string{} | 252 | diskStats[dev] = parts[3:] |
220 | for i, v := range parts[3:] { | ||
221 | diskStats[dev][i] = v | ||
222 | } | ||
223 | } | 253 | } |
224 | 254 | ||
225 | return diskStats, scanner.Err() | 255 | return diskStats, scanner.Err() |
diff --git a/collector/diskstats_linux_test.go b/collector/diskstats_linux_test.go index 405bf28..84a7de4 100644 --- a/collector/diskstats_linux_test.go +++ b/collector/diskstats_linux_test.go | |||
@@ -37,4 +37,8 @@ func TestDiskStats(t *testing.T) { | |||
37 | if want, got := "68", diskStats["mmcblk0p2"][10]; want != got { | 37 | if want, got := "68", diskStats["mmcblk0p2"][10]; want != got { |
38 | t.Errorf("want diskstats mmcblk0p2 %s, got %s", want, got) | 38 | t.Errorf("want diskstats mmcblk0p2 %s, got %s", want, got) |
39 | } | 39 | } |
40 | |||
41 | if want, got := "11130", diskStats["sdb"][14]; want != got { | ||
42 | t.Errorf("want diskstats sdb %s, got %s", want, got) | ||
43 | } | ||
40 | } | 44 | } |
diff --git a/collector/fixtures/e2e-64k-page-output.txt b/collector/fixtures/e2e-64k-page-output.txt index f694567..decad90 100644 --- a/collector/fixtures/e2e-64k-page-output.txt +++ b/collector/fixtures/e2e-64k-page-output.txt | |||
@@ -290,6 +290,18 @@ node_cpu_seconds_total{cpu="7",mode="softirq"} 0.31 | |||
290 | node_cpu_seconds_total{cpu="7",mode="steal"} 0 | 290 | node_cpu_seconds_total{cpu="7",mode="steal"} 0 |
291 | node_cpu_seconds_total{cpu="7",mode="system"} 101.64 | 291 | node_cpu_seconds_total{cpu="7",mode="system"} 101.64 |
292 | node_cpu_seconds_total{cpu="7",mode="user"} 290.98 | 292 | node_cpu_seconds_total{cpu="7",mode="user"} 290.98 |
293 | # HELP node_disk_discard_time_seconds_total This is the total number of seconds spent by all discards. | ||
294 | # TYPE node_disk_discard_time_seconds_total counter | ||
295 | node_disk_discard_time_seconds_total{device="sdb"} 11.13 | ||
296 | # HELP node_disk_discarded_sectors_total The total number of sectors discard successfully. | ||
297 | # TYPE node_disk_discarded_sectors_total counter | ||
298 | node_disk_discarded_sectors_total{device="sdb"} 1.925173784e+09 | ||
299 | # HELP node_disk_discards_completed_total The total number of discards completed successfully. | ||
300 | # TYPE node_disk_discards_completed_total counter | ||
301 | node_disk_discards_completed_total{device="sdb"} 68851 | ||
302 | # HELP node_disk_discards_merged_total The total number of discards merged. | ||
303 | # TYPE node_disk_discards_merged_total counter | ||
304 | node_disk_discards_merged_total{device="sdb"} 0 | ||
293 | # HELP node_disk_io_now The number of I/Os currently in progress. | 305 | # HELP node_disk_io_now The number of I/Os currently in progress. |
294 | # TYPE node_disk_io_now gauge | 306 | # TYPE node_disk_io_now gauge |
295 | node_disk_io_now{device="dm-0"} 0 | 307 | node_disk_io_now{device="dm-0"} 0 |
@@ -303,6 +315,7 @@ node_disk_io_now{device="mmcblk0p1"} 0 | |||
303 | node_disk_io_now{device="mmcblk0p2"} 0 | 315 | node_disk_io_now{device="mmcblk0p2"} 0 |
304 | node_disk_io_now{device="nvme0n1"} 0 | 316 | node_disk_io_now{device="nvme0n1"} 0 |
305 | node_disk_io_now{device="sda"} 0 | 317 | node_disk_io_now{device="sda"} 0 |
318 | node_disk_io_now{device="sdb"} 0 | ||
306 | node_disk_io_now{device="sr0"} 0 | 319 | node_disk_io_now{device="sr0"} 0 |
307 | node_disk_io_now{device="vda"} 0 | 320 | node_disk_io_now{device="vda"} 0 |
308 | # HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os. | 321 | # HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os. |
@@ -318,9 +331,10 @@ node_disk_io_time_seconds_total{device="mmcblk0p1"} 0.024 | |||
318 | node_disk_io_time_seconds_total{device="mmcblk0p2"} 0.068 | 331 | node_disk_io_time_seconds_total{device="mmcblk0p2"} 0.068 |
319 | node_disk_io_time_seconds_total{device="nvme0n1"} 222.766 | 332 | node_disk_io_time_seconds_total{device="nvme0n1"} 222.766 |
320 | node_disk_io_time_seconds_total{device="sda"} 9653.880000000001 | 333 | node_disk_io_time_seconds_total{device="sda"} 9653.880000000001 |
334 | node_disk_io_time_seconds_total{device="sdb"} 60.730000000000004 | ||
321 | node_disk_io_time_seconds_total{device="sr0"} 0 | 335 | node_disk_io_time_seconds_total{device="sr0"} 0 |
322 | node_disk_io_time_seconds_total{device="vda"} 41614.592000000004 | 336 | node_disk_io_time_seconds_total{device="vda"} 41614.592000000004 |
323 | # HELP node_disk_io_time_weighted_seconds_total The weighted # of seconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt. | 337 | # HELP node_disk_io_time_weighted_seconds_total The weighted # of seconds spent doing I/Os. |
324 | # TYPE node_disk_io_time_weighted_seconds_total counter | 338 | # TYPE node_disk_io_time_weighted_seconds_total counter |
325 | node_disk_io_time_weighted_seconds_total{device="dm-0"} 1.206301256e+06 | 339 | node_disk_io_time_weighted_seconds_total{device="dm-0"} 1.206301256e+06 |
326 | node_disk_io_time_weighted_seconds_total{device="dm-1"} 0.084 | 340 | node_disk_io_time_weighted_seconds_total{device="dm-1"} 0.084 |
@@ -333,6 +347,7 @@ node_disk_io_time_weighted_seconds_total{device="mmcblk0p1"} 0.024 | |||
333 | node_disk_io_time_weighted_seconds_total{device="mmcblk0p2"} 0.068 | 347 | node_disk_io_time_weighted_seconds_total{device="mmcblk0p2"} 0.068 |
334 | node_disk_io_time_weighted_seconds_total{device="nvme0n1"} 1032.546 | 348 | node_disk_io_time_weighted_seconds_total{device="nvme0n1"} 1032.546 |
335 | node_disk_io_time_weighted_seconds_total{device="sda"} 82621.804 | 349 | node_disk_io_time_weighted_seconds_total{device="sda"} 82621.804 |
350 | node_disk_io_time_weighted_seconds_total{device="sdb"} 67.07000000000001 | ||
336 | node_disk_io_time_weighted_seconds_total{device="sr0"} 0 | 351 | node_disk_io_time_weighted_seconds_total{device="sr0"} 0 |
337 | node_disk_io_time_weighted_seconds_total{device="vda"} 2.0778722280000001e+06 | 352 | node_disk_io_time_weighted_seconds_total{device="vda"} 2.0778722280000001e+06 |
338 | # HELP node_disk_read_bytes_total The total number of bytes read successfully. | 353 | # HELP node_disk_read_bytes_total The total number of bytes read successfully. |
@@ -348,6 +363,7 @@ node_disk_read_bytes_total{device="mmcblk0p1"} 81920 | |||
348 | node_disk_read_bytes_total{device="mmcblk0p2"} 389120 | 363 | node_disk_read_bytes_total{device="mmcblk0p2"} 389120 |
349 | node_disk_read_bytes_total{device="nvme0n1"} 2.377714176e+09 | 364 | node_disk_read_bytes_total{device="nvme0n1"} 2.377714176e+09 |
350 | node_disk_read_bytes_total{device="sda"} 5.13713216512e+11 | 365 | node_disk_read_bytes_total{device="sda"} 5.13713216512e+11 |
366 | node_disk_read_bytes_total{device="sdb"} 4.944782848e+09 | ||
351 | node_disk_read_bytes_total{device="sr0"} 0 | 367 | node_disk_read_bytes_total{device="sr0"} 0 |
352 | node_disk_read_bytes_total{device="vda"} 1.6727491584e+10 | 368 | node_disk_read_bytes_total{device="vda"} 1.6727491584e+10 |
353 | # HELP node_disk_read_time_seconds_total The total number of seconds spent by all reads. | 369 | # HELP node_disk_read_time_seconds_total The total number of seconds spent by all reads. |
@@ -363,6 +379,7 @@ node_disk_read_time_seconds_total{device="mmcblk0p1"} 0.024 | |||
363 | node_disk_read_time_seconds_total{device="mmcblk0p2"} 0.068 | 379 | node_disk_read_time_seconds_total{device="mmcblk0p2"} 0.068 |
364 | node_disk_read_time_seconds_total{device="nvme0n1"} 21.650000000000002 | 380 | node_disk_read_time_seconds_total{device="nvme0n1"} 21.650000000000002 |
365 | node_disk_read_time_seconds_total{device="sda"} 18492.372 | 381 | node_disk_read_time_seconds_total{device="sda"} 18492.372 |
382 | node_disk_read_time_seconds_total{device="sdb"} 0.084 | ||
366 | node_disk_read_time_seconds_total{device="sr0"} 0 | 383 | node_disk_read_time_seconds_total{device="sr0"} 0 |
367 | node_disk_read_time_seconds_total{device="vda"} 8655.768 | 384 | node_disk_read_time_seconds_total{device="vda"} 8655.768 |
368 | # HELP node_disk_reads_completed_total The total number of reads completed successfully. | 385 | # HELP node_disk_reads_completed_total The total number of reads completed successfully. |
@@ -378,9 +395,10 @@ node_disk_reads_completed_total{device="mmcblk0p1"} 17 | |||
378 | node_disk_reads_completed_total{device="mmcblk0p2"} 95 | 395 | node_disk_reads_completed_total{device="mmcblk0p2"} 95 |
379 | node_disk_reads_completed_total{device="nvme0n1"} 47114 | 396 | node_disk_reads_completed_total{device="nvme0n1"} 47114 |
380 | node_disk_reads_completed_total{device="sda"} 2.5354637e+07 | 397 | node_disk_reads_completed_total{device="sda"} 2.5354637e+07 |
398 | node_disk_reads_completed_total{device="sdb"} 326552 | ||
381 | node_disk_reads_completed_total{device="sr0"} 0 | 399 | node_disk_reads_completed_total{device="sr0"} 0 |
382 | node_disk_reads_completed_total{device="vda"} 1.775784e+06 | 400 | node_disk_reads_completed_total{device="vda"} 1.775784e+06 |
383 | # HELP node_disk_reads_merged_total The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt. | 401 | # HELP node_disk_reads_merged_total The total number of reads merged. |
384 | # TYPE node_disk_reads_merged_total counter | 402 | # TYPE node_disk_reads_merged_total counter |
385 | node_disk_reads_merged_total{device="dm-0"} 0 | 403 | node_disk_reads_merged_total{device="dm-0"} 0 |
386 | node_disk_reads_merged_total{device="dm-1"} 0 | 404 | node_disk_reads_merged_total{device="dm-1"} 0 |
@@ -393,6 +411,7 @@ node_disk_reads_merged_total{device="mmcblk0p1"} 3 | |||
393 | node_disk_reads_merged_total{device="mmcblk0p2"} 0 | 411 | node_disk_reads_merged_total{device="mmcblk0p2"} 0 |
394 | node_disk_reads_merged_total{device="nvme0n1"} 4 | 412 | node_disk_reads_merged_total{device="nvme0n1"} 4 |
395 | node_disk_reads_merged_total{device="sda"} 3.4367663e+07 | 413 | node_disk_reads_merged_total{device="sda"} 3.4367663e+07 |
414 | node_disk_reads_merged_total{device="sdb"} 841 | ||
396 | node_disk_reads_merged_total{device="sr0"} 0 | 415 | node_disk_reads_merged_total{device="sr0"} 0 |
397 | node_disk_reads_merged_total{device="vda"} 15386 | 416 | node_disk_reads_merged_total{device="vda"} 15386 |
398 | # HELP node_disk_write_time_seconds_total This is the total number of seconds spent by all writes. | 417 | # HELP node_disk_write_time_seconds_total This is the total number of seconds spent by all writes. |
@@ -408,6 +427,7 @@ node_disk_write_time_seconds_total{device="mmcblk0p1"} 0 | |||
408 | node_disk_write_time_seconds_total{device="mmcblk0p2"} 0 | 427 | node_disk_write_time_seconds_total{device="mmcblk0p2"} 0 |
409 | node_disk_write_time_seconds_total{device="nvme0n1"} 1011.053 | 428 | node_disk_write_time_seconds_total{device="nvme0n1"} 1011.053 |
410 | node_disk_write_time_seconds_total{device="sda"} 63877.96 | 429 | node_disk_write_time_seconds_total{device="sda"} 63877.96 |
430 | node_disk_write_time_seconds_total{device="sdb"} 5.007 | ||
411 | node_disk_write_time_seconds_total{device="sr0"} 0 | 431 | node_disk_write_time_seconds_total{device="sr0"} 0 |
412 | node_disk_write_time_seconds_total{device="vda"} 2.069221364e+06 | 432 | node_disk_write_time_seconds_total{device="vda"} 2.069221364e+06 |
413 | # HELP node_disk_writes_completed_total The total number of writes completed successfully. | 433 | # HELP node_disk_writes_completed_total The total number of writes completed successfully. |
@@ -423,9 +443,10 @@ node_disk_writes_completed_total{device="mmcblk0p1"} 0 | |||
423 | node_disk_writes_completed_total{device="mmcblk0p2"} 0 | 443 | node_disk_writes_completed_total{device="mmcblk0p2"} 0 |
424 | node_disk_writes_completed_total{device="nvme0n1"} 1.07832e+06 | 444 | node_disk_writes_completed_total{device="nvme0n1"} 1.07832e+06 |
425 | node_disk_writes_completed_total{device="sda"} 2.8444756e+07 | 445 | node_disk_writes_completed_total{device="sda"} 2.8444756e+07 |
446 | node_disk_writes_completed_total{device="sdb"} 41822 | ||
426 | node_disk_writes_completed_total{device="sr0"} 0 | 447 | node_disk_writes_completed_total{device="sr0"} 0 |
427 | node_disk_writes_completed_total{device="vda"} 6.038856e+06 | 448 | node_disk_writes_completed_total{device="vda"} 6.038856e+06 |
428 | # HELP node_disk_writes_merged_total The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt. | 449 | # HELP node_disk_writes_merged_total The number of writes merged. |
429 | # TYPE node_disk_writes_merged_total counter | 450 | # TYPE node_disk_writes_merged_total counter |
430 | node_disk_writes_merged_total{device="dm-0"} 0 | 451 | node_disk_writes_merged_total{device="dm-0"} 0 |
431 | node_disk_writes_merged_total{device="dm-1"} 0 | 452 | node_disk_writes_merged_total{device="dm-1"} 0 |
@@ -438,6 +459,7 @@ node_disk_writes_merged_total{device="mmcblk0p1"} 0 | |||
438 | node_disk_writes_merged_total{device="mmcblk0p2"} 0 | 459 | node_disk_writes_merged_total{device="mmcblk0p2"} 0 |
439 | node_disk_writes_merged_total{device="nvme0n1"} 43950 | 460 | node_disk_writes_merged_total{device="nvme0n1"} 43950 |
440 | node_disk_writes_merged_total{device="sda"} 1.1134226e+07 | 461 | node_disk_writes_merged_total{device="sda"} 1.1134226e+07 |
462 | node_disk_writes_merged_total{device="sdb"} 2895 | ||
441 | node_disk_writes_merged_total{device="sr0"} 0 | 463 | node_disk_writes_merged_total{device="sr0"} 0 |
442 | node_disk_writes_merged_total{device="vda"} 2.0711856e+07 | 464 | node_disk_writes_merged_total{device="vda"} 2.0711856e+07 |
443 | # HELP node_disk_written_bytes_total The total number of bytes written successfully. | 465 | # HELP node_disk_written_bytes_total The total number of bytes written successfully. |
@@ -453,6 +475,7 @@ node_disk_written_bytes_total{device="mmcblk0p1"} 0 | |||
453 | node_disk_written_bytes_total{device="mmcblk0p2"} 0 | 475 | node_disk_written_bytes_total{device="mmcblk0p2"} 0 |
454 | node_disk_written_bytes_total{device="nvme0n1"} 2.0199236096e+10 | 476 | node_disk_written_bytes_total{device="nvme0n1"} 2.0199236096e+10 |
455 | node_disk_written_bytes_total{device="sda"} 2.58916880384e+11 | 477 | node_disk_written_bytes_total{device="sda"} 2.58916880384e+11 |
478 | node_disk_written_bytes_total{device="sdb"} 1.01012736e+09 | ||
456 | node_disk_written_bytes_total{device="sr0"} 0 | 479 | node_disk_written_bytes_total{device="sr0"} 0 |
457 | node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 | 480 | node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 |
458 | # HELP node_drbd_activitylog_writes_total Number of updates of the activity log area of the meta data. | 481 | # HELP node_drbd_activitylog_writes_total Number of updates of the activity log area of the meta data. |
diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt index 5f0b8ac..a1e3d76 100644 --- a/collector/fixtures/e2e-output.txt +++ b/collector/fixtures/e2e-output.txt | |||
@@ -290,6 +290,18 @@ node_cpu_seconds_total{cpu="7",mode="softirq"} 0.31 | |||
290 | node_cpu_seconds_total{cpu="7",mode="steal"} 0 | 290 | node_cpu_seconds_total{cpu="7",mode="steal"} 0 |
291 | node_cpu_seconds_total{cpu="7",mode="system"} 101.64 | 291 | node_cpu_seconds_total{cpu="7",mode="system"} 101.64 |
292 | node_cpu_seconds_total{cpu="7",mode="user"} 290.98 | 292 | node_cpu_seconds_total{cpu="7",mode="user"} 290.98 |
293 | # HELP node_disk_discard_time_seconds_total This is the total number of seconds spent by all discards. | ||
294 | # TYPE node_disk_discard_time_seconds_total counter | ||
295 | node_disk_discard_time_seconds_total{device="sdb"} 11.13 | ||
296 | # HELP node_disk_discarded_sectors_total The total number of sectors discard successfully. | ||
297 | # TYPE node_disk_discarded_sectors_total counter | ||
298 | node_disk_discarded_sectors_total{device="sdb"} 1.925173784e+09 | ||
299 | # HELP node_disk_discards_completed_total The total number of discards completed successfully. | ||
300 | # TYPE node_disk_discards_completed_total counter | ||
301 | node_disk_discards_completed_total{device="sdb"} 68851 | ||
302 | # HELP node_disk_discards_merged_total The total number of discards merged. | ||
303 | # TYPE node_disk_discards_merged_total counter | ||
304 | node_disk_discards_merged_total{device="sdb"} 0 | ||
293 | # HELP node_disk_io_now The number of I/Os currently in progress. | 305 | # HELP node_disk_io_now The number of I/Os currently in progress. |
294 | # TYPE node_disk_io_now gauge | 306 | # TYPE node_disk_io_now gauge |
295 | node_disk_io_now{device="dm-0"} 0 | 307 | node_disk_io_now{device="dm-0"} 0 |
@@ -303,6 +315,7 @@ node_disk_io_now{device="mmcblk0p1"} 0 | |||
303 | node_disk_io_now{device="mmcblk0p2"} 0 | 315 | node_disk_io_now{device="mmcblk0p2"} 0 |
304 | node_disk_io_now{device="nvme0n1"} 0 | 316 | node_disk_io_now{device="nvme0n1"} 0 |
305 | node_disk_io_now{device="sda"} 0 | 317 | node_disk_io_now{device="sda"} 0 |
318 | node_disk_io_now{device="sdb"} 0 | ||
306 | node_disk_io_now{device="sr0"} 0 | 319 | node_disk_io_now{device="sr0"} 0 |
307 | node_disk_io_now{device="vda"} 0 | 320 | node_disk_io_now{device="vda"} 0 |
308 | # HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os. | 321 | # HELP node_disk_io_time_seconds_total Total seconds spent doing I/Os. |
@@ -318,9 +331,10 @@ node_disk_io_time_seconds_total{device="mmcblk0p1"} 0.024 | |||
318 | node_disk_io_time_seconds_total{device="mmcblk0p2"} 0.068 | 331 | node_disk_io_time_seconds_total{device="mmcblk0p2"} 0.068 |
319 | node_disk_io_time_seconds_total{device="nvme0n1"} 222.766 | 332 | node_disk_io_time_seconds_total{device="nvme0n1"} 222.766 |
320 | node_disk_io_time_seconds_total{device="sda"} 9653.880000000001 | 333 | node_disk_io_time_seconds_total{device="sda"} 9653.880000000001 |
334 | node_disk_io_time_seconds_total{device="sdb"} 60.730000000000004 | ||
321 | node_disk_io_time_seconds_total{device="sr0"} 0 | 335 | node_disk_io_time_seconds_total{device="sr0"} 0 |
322 | node_disk_io_time_seconds_total{device="vda"} 41614.592000000004 | 336 | node_disk_io_time_seconds_total{device="vda"} 41614.592000000004 |
323 | # HELP node_disk_io_time_weighted_seconds_total The weighted # of seconds spent doing I/Os. See https://www.kernel.org/doc/Documentation/iostats.txt. | 337 | # HELP node_disk_io_time_weighted_seconds_total The weighted # of seconds spent doing I/Os. |
324 | # TYPE node_disk_io_time_weighted_seconds_total counter | 338 | # TYPE node_disk_io_time_weighted_seconds_total counter |
325 | node_disk_io_time_weighted_seconds_total{device="dm-0"} 1.206301256e+06 | 339 | node_disk_io_time_weighted_seconds_total{device="dm-0"} 1.206301256e+06 |
326 | node_disk_io_time_weighted_seconds_total{device="dm-1"} 0.084 | 340 | node_disk_io_time_weighted_seconds_total{device="dm-1"} 0.084 |
@@ -333,6 +347,7 @@ node_disk_io_time_weighted_seconds_total{device="mmcblk0p1"} 0.024 | |||
333 | node_disk_io_time_weighted_seconds_total{device="mmcblk0p2"} 0.068 | 347 | node_disk_io_time_weighted_seconds_total{device="mmcblk0p2"} 0.068 |
334 | node_disk_io_time_weighted_seconds_total{device="nvme0n1"} 1032.546 | 348 | node_disk_io_time_weighted_seconds_total{device="nvme0n1"} 1032.546 |
335 | node_disk_io_time_weighted_seconds_total{device="sda"} 82621.804 | 349 | node_disk_io_time_weighted_seconds_total{device="sda"} 82621.804 |
350 | node_disk_io_time_weighted_seconds_total{device="sdb"} 67.07000000000001 | ||
336 | node_disk_io_time_weighted_seconds_total{device="sr0"} 0 | 351 | node_disk_io_time_weighted_seconds_total{device="sr0"} 0 |
337 | node_disk_io_time_weighted_seconds_total{device="vda"} 2.0778722280000001e+06 | 352 | node_disk_io_time_weighted_seconds_total{device="vda"} 2.0778722280000001e+06 |
338 | # HELP node_disk_read_bytes_total The total number of bytes read successfully. | 353 | # HELP node_disk_read_bytes_total The total number of bytes read successfully. |
@@ -348,6 +363,7 @@ node_disk_read_bytes_total{device="mmcblk0p1"} 81920 | |||
348 | node_disk_read_bytes_total{device="mmcblk0p2"} 389120 | 363 | node_disk_read_bytes_total{device="mmcblk0p2"} 389120 |
349 | node_disk_read_bytes_total{device="nvme0n1"} 2.377714176e+09 | 364 | node_disk_read_bytes_total{device="nvme0n1"} 2.377714176e+09 |
350 | node_disk_read_bytes_total{device="sda"} 5.13713216512e+11 | 365 | node_disk_read_bytes_total{device="sda"} 5.13713216512e+11 |
366 | node_disk_read_bytes_total{device="sdb"} 4.944782848e+09 | ||
351 | node_disk_read_bytes_total{device="sr0"} 0 | 367 | node_disk_read_bytes_total{device="sr0"} 0 |
352 | node_disk_read_bytes_total{device="vda"} 1.6727491584e+10 | 368 | node_disk_read_bytes_total{device="vda"} 1.6727491584e+10 |
353 | # HELP node_disk_read_time_seconds_total The total number of seconds spent by all reads. | 369 | # HELP node_disk_read_time_seconds_total The total number of seconds spent by all reads. |
@@ -363,6 +379,7 @@ node_disk_read_time_seconds_total{device="mmcblk0p1"} 0.024 | |||
363 | node_disk_read_time_seconds_total{device="mmcblk0p2"} 0.068 | 379 | node_disk_read_time_seconds_total{device="mmcblk0p2"} 0.068 |
364 | node_disk_read_time_seconds_total{device="nvme0n1"} 21.650000000000002 | 380 | node_disk_read_time_seconds_total{device="nvme0n1"} 21.650000000000002 |
365 | node_disk_read_time_seconds_total{device="sda"} 18492.372 | 381 | node_disk_read_time_seconds_total{device="sda"} 18492.372 |
382 | node_disk_read_time_seconds_total{device="sdb"} 0.084 | ||
366 | node_disk_read_time_seconds_total{device="sr0"} 0 | 383 | node_disk_read_time_seconds_total{device="sr0"} 0 |
367 | node_disk_read_time_seconds_total{device="vda"} 8655.768 | 384 | node_disk_read_time_seconds_total{device="vda"} 8655.768 |
368 | # HELP node_disk_reads_completed_total The total number of reads completed successfully. | 385 | # HELP node_disk_reads_completed_total The total number of reads completed successfully. |
@@ -378,9 +395,10 @@ node_disk_reads_completed_total{device="mmcblk0p1"} 17 | |||
378 | node_disk_reads_completed_total{device="mmcblk0p2"} 95 | 395 | node_disk_reads_completed_total{device="mmcblk0p2"} 95 |
379 | node_disk_reads_completed_total{device="nvme0n1"} 47114 | 396 | node_disk_reads_completed_total{device="nvme0n1"} 47114 |
380 | node_disk_reads_completed_total{device="sda"} 2.5354637e+07 | 397 | node_disk_reads_completed_total{device="sda"} 2.5354637e+07 |
398 | node_disk_reads_completed_total{device="sdb"} 326552 | ||
381 | node_disk_reads_completed_total{device="sr0"} 0 | 399 | node_disk_reads_completed_total{device="sr0"} 0 |
382 | node_disk_reads_completed_total{device="vda"} 1.775784e+06 | 400 | node_disk_reads_completed_total{device="vda"} 1.775784e+06 |
383 | # HELP node_disk_reads_merged_total The total number of reads merged. See https://www.kernel.org/doc/Documentation/iostats.txt. | 401 | # HELP node_disk_reads_merged_total The total number of reads merged. |
384 | # TYPE node_disk_reads_merged_total counter | 402 | # TYPE node_disk_reads_merged_total counter |
385 | node_disk_reads_merged_total{device="dm-0"} 0 | 403 | node_disk_reads_merged_total{device="dm-0"} 0 |
386 | node_disk_reads_merged_total{device="dm-1"} 0 | 404 | node_disk_reads_merged_total{device="dm-1"} 0 |
@@ -393,6 +411,7 @@ node_disk_reads_merged_total{device="mmcblk0p1"} 3 | |||
393 | node_disk_reads_merged_total{device="mmcblk0p2"} 0 | 411 | node_disk_reads_merged_total{device="mmcblk0p2"} 0 |
394 | node_disk_reads_merged_total{device="nvme0n1"} 4 | 412 | node_disk_reads_merged_total{device="nvme0n1"} 4 |
395 | node_disk_reads_merged_total{device="sda"} 3.4367663e+07 | 413 | node_disk_reads_merged_total{device="sda"} 3.4367663e+07 |
414 | node_disk_reads_merged_total{device="sdb"} 841 | ||
396 | node_disk_reads_merged_total{device="sr0"} 0 | 415 | node_disk_reads_merged_total{device="sr0"} 0 |
397 | node_disk_reads_merged_total{device="vda"} 15386 | 416 | node_disk_reads_merged_total{device="vda"} 15386 |
398 | # HELP node_disk_write_time_seconds_total This is the total number of seconds spent by all writes. | 417 | # HELP node_disk_write_time_seconds_total This is the total number of seconds spent by all writes. |
@@ -408,6 +427,7 @@ node_disk_write_time_seconds_total{device="mmcblk0p1"} 0 | |||
408 | node_disk_write_time_seconds_total{device="mmcblk0p2"} 0 | 427 | node_disk_write_time_seconds_total{device="mmcblk0p2"} 0 |
409 | node_disk_write_time_seconds_total{device="nvme0n1"} 1011.053 | 428 | node_disk_write_time_seconds_total{device="nvme0n1"} 1011.053 |
410 | node_disk_write_time_seconds_total{device="sda"} 63877.96 | 429 | node_disk_write_time_seconds_total{device="sda"} 63877.96 |
430 | node_disk_write_time_seconds_total{device="sdb"} 5.007 | ||
411 | node_disk_write_time_seconds_total{device="sr0"} 0 | 431 | node_disk_write_time_seconds_total{device="sr0"} 0 |
412 | node_disk_write_time_seconds_total{device="vda"} 2.069221364e+06 | 432 | node_disk_write_time_seconds_total{device="vda"} 2.069221364e+06 |
413 | # HELP node_disk_writes_completed_total The total number of writes completed successfully. | 433 | # HELP node_disk_writes_completed_total The total number of writes completed successfully. |
@@ -423,9 +443,10 @@ node_disk_writes_completed_total{device="mmcblk0p1"} 0 | |||
423 | node_disk_writes_completed_total{device="mmcblk0p2"} 0 | 443 | node_disk_writes_completed_total{device="mmcblk0p2"} 0 |
424 | node_disk_writes_completed_total{device="nvme0n1"} 1.07832e+06 | 444 | node_disk_writes_completed_total{device="nvme0n1"} 1.07832e+06 |
425 | node_disk_writes_completed_total{device="sda"} 2.8444756e+07 | 445 | node_disk_writes_completed_total{device="sda"} 2.8444756e+07 |
446 | node_disk_writes_completed_total{device="sdb"} 41822 | ||
426 | node_disk_writes_completed_total{device="sr0"} 0 | 447 | node_disk_writes_completed_total{device="sr0"} 0 |
427 | node_disk_writes_completed_total{device="vda"} 6.038856e+06 | 448 | node_disk_writes_completed_total{device="vda"} 6.038856e+06 |
428 | # HELP node_disk_writes_merged_total The number of writes merged. See https://www.kernel.org/doc/Documentation/iostats.txt. | 449 | # HELP node_disk_writes_merged_total The number of writes merged. |
429 | # TYPE node_disk_writes_merged_total counter | 450 | # TYPE node_disk_writes_merged_total counter |
430 | node_disk_writes_merged_total{device="dm-0"} 0 | 451 | node_disk_writes_merged_total{device="dm-0"} 0 |
431 | node_disk_writes_merged_total{device="dm-1"} 0 | 452 | node_disk_writes_merged_total{device="dm-1"} 0 |
@@ -438,6 +459,7 @@ node_disk_writes_merged_total{device="mmcblk0p1"} 0 | |||
438 | node_disk_writes_merged_total{device="mmcblk0p2"} 0 | 459 | node_disk_writes_merged_total{device="mmcblk0p2"} 0 |
439 | node_disk_writes_merged_total{device="nvme0n1"} 43950 | 460 | node_disk_writes_merged_total{device="nvme0n1"} 43950 |
440 | node_disk_writes_merged_total{device="sda"} 1.1134226e+07 | 461 | node_disk_writes_merged_total{device="sda"} 1.1134226e+07 |
462 | node_disk_writes_merged_total{device="sdb"} 2895 | ||
441 | node_disk_writes_merged_total{device="sr0"} 0 | 463 | node_disk_writes_merged_total{device="sr0"} 0 |
442 | node_disk_writes_merged_total{device="vda"} 2.0711856e+07 | 464 | node_disk_writes_merged_total{device="vda"} 2.0711856e+07 |
443 | # HELP node_disk_written_bytes_total The total number of bytes written successfully. | 465 | # HELP node_disk_written_bytes_total The total number of bytes written successfully. |
@@ -453,6 +475,7 @@ node_disk_written_bytes_total{device="mmcblk0p1"} 0 | |||
453 | node_disk_written_bytes_total{device="mmcblk0p2"} 0 | 475 | node_disk_written_bytes_total{device="mmcblk0p2"} 0 |
454 | node_disk_written_bytes_total{device="nvme0n1"} 2.0199236096e+10 | 476 | node_disk_written_bytes_total{device="nvme0n1"} 2.0199236096e+10 |
455 | node_disk_written_bytes_total{device="sda"} 2.58916880384e+11 | 477 | node_disk_written_bytes_total{device="sda"} 2.58916880384e+11 |
478 | node_disk_written_bytes_total{device="sdb"} 1.01012736e+09 | ||
456 | node_disk_written_bytes_total{device="sr0"} 0 | 479 | node_disk_written_bytes_total{device="sr0"} 0 |
457 | node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 | 480 | node_disk_written_bytes_total{device="vda"} 1.0938236928e+11 |
458 | # HELP node_drbd_activitylog_writes_total Number of updates of the activity log area of the meta data. | 481 | # HELP node_drbd_activitylog_writes_total Number of updates of the activity log area of the meta data. |
diff --git a/collector/fixtures/proc/diskstats b/collector/fixtures/proc/diskstats index 2457197..b15bf9a 100644 --- a/collector/fixtures/proc/diskstats +++ b/collector/fixtures/proc/diskstats | |||
@@ -44,3 +44,6 @@ | |||
44 | 259 0 nvme0n1 47114 4 4643973 21650 1078320 43950 39451633 1011053 0 222766 1032546 | 44 | 259 0 nvme0n1 47114 4 4643973 21650 1078320 43950 39451633 1011053 0 222766 1032546 |
45 | 259 1 nvme0n1p1 1140 0 9370 16 1 0 1 0 0 16 16 | 45 | 259 1 nvme0n1p1 1140 0 9370 16 1 0 1 0 0 16 16 |
46 | 259 2 nvme0n1p2 45914 4 4631243 21626 1036885 43950 39451632 919480 0 131580 940970 | 46 | 259 2 nvme0n1p2 45914 4 4631243 21626 1036885 43950 39451632 919480 0 131580 940970 |
47 | 8 0 sdb 326552 841 9657779 84 41822 2895 1972905 5007 0 60730 67070 68851 0 1925173784 11130 | ||
48 | 8 1 sdb1 231 3 34466 4 24 23 106 0 0 64 64 0 0 0 0 | ||
49 | 8 2 sdb2 326310 838 9622281 67 40726 2872 1972799 4924 0 58250 64567 68851 0 1925173784 11130 | ||