Graphite正在绘制Logstash的增量

我试图模仿这个logstash.net/docs/1.1.0/tutorials/metrics-from-logs

我有以下设置

nginx(应用程序服务器)==发送增量==> Etsy statsD =====> Graphite

这个设置工作正常,因为graphics绘制得很好,但不正确。 根据上面的configuration,我知道图的步骤值应该是整数,但我得到浮点数的Y轴(点击)按照附图,我完全困惑,我怎么解释这个图。

Logstash代理configuration

input { file { type => nginx_web path => ["/var/log/nginx/access.log"] } filter { grok { type => nginx_web pattern => "%{IP:ClientIP} (?:%{HOST:ClientHost}|-) (?:%{USER:ClientUser}|-) \[%{GREEDYDATA:TimeStamp}\] \"(?:%{WORD:Verb} %{URIPATHPARAM:Request} HTTP/%{NUMBER:HTTPversion}|%{DATA:UnparsedRQ})\" %{NUMBER:Response} (?:%{NUMBER:Bytes}|0) (?:%{QUOTEDSTRING:HTTPReferrer|\"-\"}) %{QUOTEDSTRING:HTTPUserAgent}" } output { statsd { type => "nginx_web" host => "XXXX" increment => [ "nginx.response.%{Response}" ] } } 

我正在使用以下URL API来生成此图

 render/?width=600&height=320&hideLegend=1&from=-60minutes&until=-0minutes&target=stats.logstash.*.nginx_web.response.* 

在这里输入图像说明

有人可以指出我正确的方向,在哪里可以解决我的问题?

由于这是一个老问题(在这个答案的时候),我只是把这个扔在这里作为其他人想知道同样的事情的参考。

Logstash的食谱有一个关于理解Graphite和如何聚合数据的条目。 在这里看到

如果碰巧使用的是更新版本的logstash,那么您将拥有statsd_count文件夹,该文件夹将提供Graphite收到的增量数量,而不是在10秒内取平均值。 为你。

根据logstash食谱条目 ,假设你在10秒的范围内有3 200个响应,statsd会产生一些单独的行:

stats.logstash.101010_1.apache.site1.response.200 = 3 / 10 = 0.3 (number of responses with status 200 per second)

但是,在statsd_count文件夹中,您会看到如下内容: stats_count.logstash.101010_1.apache.site1.response.200 = 3 (we have received 3 times status 200 for our period of 10 seconds)

您的图表上的值不是整数,因为它是平均值。

statsd存储响应计数器的整数值,以显示graphics上的一个点,它将减less较早的计数器值,并将其按步长分割。 (计数(t)的-count(叔步骤))/步。