Графит строит приращения из Logstash в плавающем
Я пытался имитировать этот http://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}"
]
}
}
Я использую следующий API URL для создания этого графика
render/?width=600&height=320&hideLegend=1&from=-60minutes&until=-0minutes&target=stats.logstash.*.nginx_web.response.*
Может кто-нибудь указать мне правильное направление относительно того, куда идти, чтобы решить мою проблему?
2 ответа
Поскольку это старый вопрос (на момент этого ответа), я просто добавляю его сюда как ссылку для всех, кто интересуется тем же.
В кулинарной книге Logstash есть сведения о том, как понимать графит и как агрегировать данные. Смотрите это здесь
Если вы используете более новую версию logstash, то у вас будет папка statsd_count, которая даст вам количество приращений, полученных Graphite, вместо усреднения его за 10 секунд. для тебя.
Согласно записи в журнале готовки, если в течение 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 хранит целочисленные значения счетчика ответов, чтобы показать точку на графике, которая уменьшает более раннее значение счетчика с более поздней и делит его на время шага. (Count(т)-count(трет-шаг))/ шаг.