我最近为一个客户build立了Nagios ,并且一直在想我们从NagioGrapher获得的一些图表。
例如,所有系统对其物理内存“服务”使用相同的graphicsconfiguration。 但是,有些看起来像这样:

其他人看起来像这样。 这将更接近预期的结果。 
为什么SRV-EXCHANGE的图表在12k和20k行之间有空闲空间,而SRV-TERRA01的graphics在graphics顶部有上限? 有人可能会认为在这个范围内有简单的值,这会导致graphics被绘制成这样,但是图例显示logging的最大值在预期的范围内。
我已经在NagiosGrapherconfiguration中设置了graph_lower_limit 1来将下限设置为0.根据我的理解,还可以通过graph_upper_limit指令为rrdtool设置一个固定的上限。 但据我了解,这将确定一个固定值作为上限。 但是我不明白为什么有这些差异。
最有可能发生的事情是你的rrd文件中有(exception的)峰值,但是graphics的分辨率不够精细,不足以显示它。 考虑使用一些工具来扫描您的文件,并消除这种尖峰。
Rrdtool图有一些关于Y轴的“智能”,以防止标签全部变成奇数,奇数。 所以它更喜欢2,5,10,20,50等等。文档将其描述为“通常从预定范围中select标度”。 上面的图有一个最大值约12K,所以四舍五入到20K。 有一个选项叫做–alt-autoscale(还有–alt-autoscale-min和-alt-autoscale-max),它们倾向于产生更紧密的图,我通常更喜欢。 有关更多详细信息,请参见http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html 。
RRDTool默认情况下会自动select值,这将允许使用类似数据的多个graphics彼此相似。 正如在另一个答案(由TvE)中提到的那样,这些数值落在1,2,5的范围内,并且每个x10 ^ n(0.1,0.2,0.5 / 10,20,50 / 100,200,500 / 1k, 2K,5K /等)。
您可以通过使用--alt-autoscale来改变这种行为,它将根据数据设置graphics的最小值和最大值,而不是上面提到的预设值。
你也可以用--upper-limit 'n'和--lower-limit 'n' (其中'n'是一个值)和--rigid 。 这将使图表坚持你设定的; 忽略保存的数据的值。 这显然不会显示高于--upper-limit的值,也不会低于--lower-limit 。
注意:使用--logarithmic ,– --lower-limit值不能为0。