Awk Bosun中已使用内存的百分比

Awk Bosun中已使用内存的百分比,awk,graph,opentsdb,metric,bosun,Awk,Graph,Opentsdb,Metric,Bosun,我在Bosun中绘制特定图形时遇到问题。这个图表应该包含内存使用率百分比最高的主机,但我找不到任何可用的指标。当然,我使用了os.mem.,就像os.mem.free%一样,但对我来说没有多大帮助。我想从查询中获取两个序列,就像警报一样:moemry和used的总数,used除以total,然后乘以100 问题似乎是我不能划分系列,所以最后一次机会是在Linux中通过greping和awking free命令编写我自己的度量。如果您对另一个后端开放,则支持将scocollector作为数据源 披

我在Bosun中绘制特定图形时遇到问题。这个图表应该包含内存使用率百分比最高的主机,但我找不到任何可用的指标。当然,我使用了os.mem.,就像os.mem.free%一样,但对我来说没有多大帮助。我想从查询中获取两个序列,就像警报一样:moemry和used的总数,used除以total,然后乘以100


问题似乎是我不能划分系列,所以最后一次机会是在Linux中通过greping和awking free命令编写我自己的度量。

如果您对另一个后端开放,则支持将scocollector作为数据源

披露:我为Axibase工作。我们目前还没有为Bosun本身提供存储驱动程序,但是Bosun看起来非常有前途,所以我们正在研究它

在ATSD中,您计算派生的SCOCollector度量,如下所示:

value = 100*value('os.mem.used')/value('os.mem.total')

有时,您只需要重新计算相同的序列,例如,将某些度量值转换为负值。在这种情况下,
replace value
非常有效:

replace-value = -value


如果您真的想要使用百分比而不是自由百分比的图形,您应该使用
100-q(“sum:os.mem.percent\u free{host=$hosts}”,“1h”,“1h”)
。然后,如果要过滤图形上的序列,则应使用filter函数。可在“表达式”页面上使用的示例:

$hosts=ny-redis*|ny-devredis*
$limit=5
$avgfree=avg(q("sum:os.mem.percent_free{host=$hosts}", "1h", ""))
$lowest_free=limit(sort($avgfree,"asc"),$limit)
$percent_used=100-q("sum:os.mem.percent_free{host=$hosts}", "1h", "")
filter($percent_used,$lowest_free)
我们有两个dev实例和两个prod实例,因此在限制为5的情况下,我可以在图中看到它们:

但是您可以将表达式更改为使用
$limit=2
,它只会显示前两个:


但是请注意,比例已被截断。目前,我认为没有任何方法可以指定在表达式页面或警报模板中使用的比例,但您可以获取原始数据,并使用不同的图形库对其进行图形化。

我不确定我是否完全理解您的意图。。。。我认为表达式语言可能可以满足您的需要,但我不完全理解您的问题。如果您添加os.mem.percent_free不是您想要的指标的原因,可能会有所帮助。我不知道Axibase支持的SCOCollector。太棒了@格雷格,谢谢!几个月前,当Bosun登上HN的头版时,我们意外地发现了ScoCollector。这个组合看起来很有前途,我们在所有Windows服务器上安装了ScoCollector,并向现有客户推荐了ScoCollector。酷!我写了很多Windows收藏家,所以若你们发现任何问题,请在twitter(gbrayut)或bosun.slack.com上给我发邮件:-)