Grafana针对内存监控值的学习与使用

发布时间 2023-11-20 07:18:14作者: 济南小老虎

Grafana针对内存监控值的学习与使用


背景

因为学习内存相关的知识, 可以通过pgcacher/sar -r 等命令监控系统信息. 
但是现在发现. 不太直观, 所以想着使用别的方式来进行处理. 
然后想到了使用Grafana的方式进行监控. 下午突击学习了下Panel的简单创建与编辑
感谢帮助过我的同事. 学习永无止境. 

第一步复制一下Panel

打开Grafana->选中想要复制的一个panel 点击右上角的 功能按钮
->点击More ->选择duplicate 复制对应的面板

image


编辑新面板

复制一个对应的查询行信息
注意可以在新增查询信息的第三行 选择 Code 的方式
如果是prometheus的 datasource 
可以输入 对应的PromSQL数据进行查询与展示. 

然后可以 点开当前行信息的 Options 信息 
修改名字等信息. 

就可以单独展示不同的内容. 

设置百分比

在编辑面板的右侧, 打开修改界面. 

选择 overrides 的界面
可以删除掉一个使用名称匹配的展示信息
增加为:
Fields With name matching regex 
比如我使用使用率最后后缀 就可以写上: 
/.*使用率/

然后可以增加 Add override property 

Standard options -> Unit

选择上 Percent (0-100) 

就可以百分比显示. 

但是颜色可能比较单一, 需要完善一下. 

也可以增加一个 override 使用名字匹配. 
然后 选择 Standard options ->Color scheme _.Single color 就可以 

公式

1. 包含Cache的内存使用率
(1 - (node_memory_MemFree_bytes{instance=~"$instance"} / (node_memory_MemTotal_bytes{instance=~"$instance"})))* 100


2. 不包含Cache的内存使用率
(1 - ((node_memory_MemFree_bytes{instance=~"$instance"} + node_memory_Cached_bytes{instance=~"$instance"}) / (node_memory_MemTotal_bytes{instance=~"$instance"})))* 100

注意思路为:

通过Prometheus的端口, 查看所有的监控指标.
然后将对应的数值添加到公式中来. 

需要注意 这两个公式不区分CentOS6和CentOS7 都是一样的. 

内存增量验证

增加缓存的使用 使用命令为
scp -l 1000000 /root/all.dump  /tmp/

可以适当限制一下速度, 避免过快的上升. 
文件复制完,或者是内存空间满之后会进入平台期. 然后删除tmp 目录下的文件
 rm -rf /tmp/all.dump

稍等一会儿 执行清理缓存的命令
echo 3 >/proc/sys/vm/drop_caches

然后就可以看到内存的使用情况.

内存使用情况总结:

开机之后 缓存数量较小, 包含缓存的使用率, 仅仅比不是用的缓存的内存高一点. 
随着复制到tmp 目录下
会有两部分pagecache的占用
1部分是 tmp 目录下不会被 drop_cahes清理的部分. 
还有一部分是scp 复制文件时将原始文件读入内存时的page cache. 

删除 /tmp 目录会清理一部分 缓存
drop_cache会清理另外一部分缓存. 
所以会出现一个大破的上升, 和两个下坡的下降. 

内存使用情况

image