web-dev-qa-db-ja.com

グラファイトは、Logstashからの増分をfloatでプロットしています

私はこれを模倣しようとしていました logstash.net/docs/1.1.0/tutorials/metrics-from-logs

私は次の設定をしています

nginx(アプリサーバー)==インクリメントを送信==> Etsy statsD =====>グラファイト

グラフは正常にプロットされていますが、正しくプロットされていないため、この設定は正常に機能しています。上記の構成によると、グラフのステップ値は整数である必要があることは理解していますが、添付のグラフに従ってY軸(ヒット)で浮動小数点数を取得しており、このグラフをどのように解釈するかについて完全に困惑しています。

Logstashエージェントの構成

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 => "X.X.X.X"
        increment => [
                        "nginx.response.%{Response}"
                     ]
    }
}

このグラフを生成するために次のURLAPIを使用しています

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

enter image description here

誰かが私の問題を解決するためにどこに行くべきかについて正しい方向に私を向けることができますか?

2
kaji

これは(この回答の時点で)古い質問なので、同じことを疑問に思っている他の人のための参照としてここに投げています。

Logstashのクックブックには、Graphiteの理解とデータの集計方法に関するエントリがあります。見てください ここ

新しいバージョンのlogstashを使用している場合は、statsd_countフォルダーがあり、Graphiteが受け取った増分の数がわかります。 、10秒で平均化する代わりに。あなたのために。

Logstashクックブックによると entry 、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)の行に沿って何かが表示されます。

1
Adam

グラフの値は平均値であるため、整数ではありません。

statsdは、応答カウンターの整数値を格納して、グラフ上にポイントを表示し、前のカウンター値を後から減らし、ステップ時間で除算します。 (Count(t)-count(t-step))/ step。

0
DukeLion