我试图模仿这个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(叔步骤))/步。