time-series - 如何获取内存使用百分比
问题描述
我正在使用收集的内存插件每分钟从 Web 服务器获取指标Interval 60
,并将它们远程存储到influxdb服务器version 1.5.1
中。
这是我的系列:
> SHOW SERIES FROM memory_value WHERE host = 'webserver'
key
---
memory_value,host=webserver,type=memory,type_instance=buffered
memory_value,host=webserver,type=memory,type_instance=cached
memory_value,host=webserver,type=memory,type_instance=free
memory_value,host=webserver,type=memory,type_instance=slab_recl
memory_value,host=webserver,type=memory,type_instance=slab_unrecl
memory_value,host=webserver,type=memory,type_instance=used
这是一些价值观:
> SELECT * FROM memory_value WHERE host='webserver' AND time > now() -1m
name: memory_value
time host type type_instance value
---- ---- ---- ------------- -----
1525704284702691476 webserver memory buffered 2138112
1525704284702691476 webserver memory cached 462839808
1525704284702691476 webserver memory free 1184563200
1525704284702691476 webserver memory slab_recl 45092864
1525704284702691476 webserver memory slab_unrecl 34017280
1525704284702691476 webserver memory used 199811072
要获得总内存,我需要求和free
+ used
,然后获得我需要做的百分比:
used * 100 / (free + used)
我可以free
使用以下方法获取值:
> SELECT mean(value) FROM memory_value WHERE host='webserver' and "type_instance" = 'free' AND time > now() -1m
name: memory_value
time mean
---- ----
1525704816631763155 321410389.3333333
与used
:
> SELECT mean(value) FROM memory_value WHERE host='webserver' and "type_instance" = 'used' AND time > now() -1m
name: memory_value
time mean
---- ----
1525704846204790445 199811072
但想知道如何在同一个查询中获取值,以便我可以sum
获取它们total available memory
,然后计算使用百分比。
我发现我可以使用以下方法对系列求和:
> SELECT SUM(value) FROM memory_value WHERE host='webserver' AND type_instance =~ /(free|used)/ AND time > NOW() -1m
name: memory_value
time sum
---- ---
1525708703989094507 1384349696
但是,现在需要找到如何将所有内容放在一起以计算百分比。
解决方案
推荐阅读
- php - 如何创建动态函数并调用该静态函数
- c# - C# 更新 ListView 项目而不单击 listview 项目行
- android - PlayConsole 上我的 Flutter 应用支持的设备很少
- python - 为什么 xroot.iter() 可以打印 XPath,但不能作为 Python 中的 XPath 列表返回?
- php - 我的会话在登录实时服务器后自动过期?
- clojure - 如何在 -main 而不是退出后继续使用 repl 运行?
- r - R进度条基于给定的秒数
- fonts - 如何给IcoMoon图标一个固定的宽度?
- r - R caret:如何在训练之前将单独的 pca 应用于不同的数据帧?
- python-3.x - 在 MacOS 中导入 numpy c-extensions 失败