@cryptotaxi247 / netdata-1 / commits / 8cc28e8be

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