When monitoring the company’s server, I found some problems. I originally wanted to use zabbix+grafana. Later, I thought zabbix deployment was too cumbersome, so I switched to Prothemus+grafana. I found such a problem with node exporter . After
searching online for a long time, I found the reason. What is displayed is the centos7 server, and what is not displayed is centos6. The two methods of calculating memory are different.
centos7:
(1 - (node_memory_MemAvailable_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"} / (node_memory_MemTotal_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"})))* 100
Only centos7 will have MemAvailable
((node_memory_MemTotal_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"} - node_memory_MemFree_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"} - node_memory_Buffers_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"} - node_memory_Cached_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"}) / (node_memory_MemTotal_bytes{origin_prometheus=~"$origin_prometheus",job=~"$job"} )) * 100
#改成这样就正常了
# Menavailble=MemTotal - MemFree - MemBuffers - MemCached
Correspondingly, other memory-related items can be displayed normally if modified according to this calculation method.