change edac ecc errors from incremental to absolute (#16970)
Ilya Mashchenko committed
Feb 8, 2024 at 19:06 UTC
8cc28e8be86dd351964a68fbaca88ca7c3abe157
3 files changed
+34
-38
src/collectors/proc.plugin/metadata.yaml
+12
-12
@@ -1658,20 +1658,20 @@ modules:
1658
list: []
1659
alerts:
1660
- name: ecc_memory_mc_noinfo_correctable
1661
- metric: mem.edac_mc
1662
- info: memory controller ${label:controller} ECC correctable errors (unknown DIMM slot) in the last 10 minutes
1661
+ metric: mem.edac_mc_errors
1662
+ info: memory controller ${label:controller} ECC correctable errors (unknown DIMM slot)
1663
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/memory.conf
1664
- name: ecc_memory_mc_noinfo_uncorrectable
1665
- metric: mem.edac_mc
1666
- info: memory controller ${label:controller} ECC uncorrectable errors (unknown DIMM slot) in the last 10 minutes
1665
+ metric: mem.edac_mc_errors
1666
+ info: memory controller ${label:controller} ECC uncorrectable errors (unknown DIMM slot)
1667
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/memory.conf
1668
- name: ecc_memory_dimm_correctable
1669
- metric: mem.edac_mc_dimm
1670
- info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC correctable errors in the last 10 minutes
1669
+ metric: mem.edac_mc_dimm_errors
1670
+ info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC correctable errors
1671
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/memory.conf
1672
- name: ecc_memory_dimm_uncorrectable
1673
- metric: mem.edac_mc_dimm
1674
- info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC uncorrectable errors in the last 10 minutes
1673
+ metric: mem.edac_mc_dimm_errors
1674
+ info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC uncorrectable errors
1675
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/memory.conf
1676
metrics:
1677
folding:
@@ -1692,9 +1692,9 @@ modules:
1692
- name: max_location
1693
description: Last available memory slot in this memory controller.
1694
metrics:
1695
- - name: mem.edac_mc
1695
+ - name: mem.edac_mc_errors
1696
description: Memory Controller (MC) Error Detection And Correction (EDAC) Errors
1697
- unit: errors/s
1697
+ unit: errors
1698
chart_type: line
1699
dimensions:
1700
- name: correctable
@@ -1721,9 +1721,9 @@ modules:
1721
- name: size
1722
description: The amount of memory in megabytes that this memory module manages.
1723
metrics:
1724
- - name: mem.edac_mc
1724
+ - name: mem.edac_mc_errors
1725
description: DIMM Error Detection And Correction (EDAC) Errors
1726
- unit: errors/s
1726
+ unit: errors
1727
chart_type: line
1728
dimensions:
1729
- name: correctable
src/collectors/proc.plugin/sys_devices_system_edac_mc.c
+10
-10
@@ -202,9 +202,9 @@ int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt __maybe_unuse
202
, id
203
, NULL
204
, "edac"
205
- , "mem.edac_mc"
205
+ , "mem.edac_mc_errors"
206
, "Memory Controller (MC) Error Detection And Correction (EDAC) Errors"
207
- , "errors/s"
207
+ , "errors"
208
, PLUGIN_PROC_NAME
209
, "/sys/devices/system/edac/mc"
210
, NETDATA_CHART_PRIO_MEM_HW_ECC_CE
@@ -225,10 +225,10 @@ int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt __maybe_unuse
225
if(read_edac_mc_file(m->name, "max_location", buffer, 1024))
226
rrdlabels_add(m->st->rrdlabels, "max_location", buffer, RRDLABEL_SRC_AUTO);
227
228
- m->ce.rd = rrddim_add(m->st, "correctable", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
229
- m->ue.rd = rrddim_add(m->st, "uncorrectable", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
230
- m->ce_noinfo.rd = rrddim_add(m->st, "correctable_noinfo", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
231
- m->ue_noinfo.rd = rrddim_add(m->st, "uncorrectable_noinfo", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
228
+ m->ce.rd = rrddim_add(m->st, "correctable", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
229
+ m->ue.rd = rrddim_add(m->st, "uncorrectable", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
230
+ m->ce_noinfo.rd = rrddim_add(m->st, "correctable_noinfo", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
231
+ m->ue_noinfo.rd = rrddim_add(m->st, "uncorrectable_noinfo", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
232
}
233
234
rrddim_set_by_pointer(m->st, m->ce.rd, (collected_number)m->ce.count);
@@ -250,9 +250,9 @@ int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt __maybe_unuse
250
, id
251
, NULL
252
, "edac"
253
- , "mem.edac_mc_dimm"
253
+ , "mem.edac_mc_dimm_errors"
254
, "DIMM Error Detection And Correction (EDAC) Errors"
255
- , "errors/s"
255
+ , "errors"
256
, PLUGIN_PROC_NAME
257
, "/sys/devices/system/edac/mc"
258
, NETDATA_CHART_PRIO_MEM_HW_ECC_CE + 1
@@ -283,8 +283,8 @@ int do_proc_sys_devices_system_edac_mc(int update_every, usec_t dt __maybe_unuse
283
if (read_edac_mc_rank_file(m->name, d->name, "size", buffer, 1024))
284
rrdlabels_add(d->st->rrdlabels, "size", buffer, RRDLABEL_SRC_AUTO);
285
286
- d->ce.rd = rrddim_add(d->st, "correctable", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
287
- d->ue.rd = rrddim_add(d->st, "uncorrectable", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
286
+ d->ce.rd = rrddim_add(d->st, "correctable", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
287
+ d->ue.rd = rrddim_add(d->st, "uncorrectable", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
288
}
289
290
rrddim_set_by_pointer(d->st, d->ce.rd, (collected_number)d->ce.count);
src/health/health.d/memory.conf
+12
-16
@@ -19,67 +19,63 @@ component: Memory
19
## ECC Controller
20
21
template: ecc_memory_mc_correctable
22
- on: mem.edac_mc
22
+ on: mem.edac_mc_errors
23
class: Errors
24
type: System
25
component: Memory
26
os: linux
27
hosts: *
28
- lookup: sum -10m unaligned of correctable, correctable_noinfo
28
+ calc: $correctable + $correctable_noinfo
29
units: errors
30
every: 1m
31
warn: $this > 0
32
- delay: down 1h multiplier 1.5 max 1h
32
summary: System ECC memory ${label:controller} correctable errors
34
- info: Memory controller ${label:controller} ECC correctable errors in the last 10 minutes
33
+ info: Memory controller ${label:controller} ECC correctable errors
34
to: sysadmin
35
36
template: ecc_memory_mc_uncorrectable
38
- on: mem.edac_mc
37
+ on: mem.edac_mc_errors
38
class: Errors
39
type: System
40
component: Memory
41
os: linux
42
hosts: *
44
- lookup: sum -10m unaligned of uncorrectable,uncorrectable_noinfo
43
+ calc: $uncorrectable + $uncorrectable_noinfo
44
units: errors
45
every: 1m
46
crit: $this > 0
48
- delay: down 1h multiplier 1.5 max 1h
47
summary: System ECC memory ${label:controller} uncorrectable errors
50
- info: Memory controller ${label:controller} ECC uncorrectable errors in the last 10 minutes
48
+ info: Memory controller ${label:controller} ECC uncorrectable errors
49
to: sysadmin
50
51
## ECC DIMM
52
53
template: ecc_memory_dimm_correctable
56
- on: mem.edac_mc_dimm
54
+ on: mem.edac_mc_dimm_errors
55
class: Errors
56
type: System
57
component: Memory
58
os: linux
59
hosts: *
62
- lookup: sum -10m unaligned of correctable
60
+ calc: $correctable
61
units: errors
62
every: 1m
63
warn: $this > 0
66
- delay: down 1h multiplier 1.5 max 1h
64
summary: System ECC memory DIMM ${label:dimm} correctable errors
68
- info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC correctable errors in the last 10 minutes
65
+ info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC correctable errors
66
to: sysadmin
67
68
template: ecc_memory_dimm_uncorrectable
72
- on: mem.edac_mc_dimm
69
+ on: mem.edac_mc_dimm_errors
70
class: Errors
71
type: System
72
component: Memory
73
os: linux
74
hosts: *
78
- lookup: sum -10m unaligned of uncorrectable
75
+ calc: $uncorrectable
76
units: errors
77
every: 1m
78
crit: $this > 0
82
- delay: down 1h multiplier 1.5 max 1h
79
summary: System ECC memory DIMM ${label:dimm} uncorrectable errors
84
- info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC uncorrectable errors in the last 10 minutes
80
+ info: DIMM ${label:dimm} controller ${label:controller} (location ${label:dimm_location}) ECC uncorrectable errors
81
to: sysadmin