如何每秒监视logstash事件

时间:2014-11-02 17:04:16

标签: events logstash metrics

什么是最好的&在不使用graphite,statsd的情况下,在我的环境中每秒计算logstash事件的简单方法?

谢谢!

2 个答案:

答案 0 :(得分:0)

使用像marvel这样的东西,你可以查看这种数据 - 尽管它不是特定于logstash的 - 它通常都是所有索引。基础数据可通过_stats/indexing网址获取,但您需要做一些工作才能使其可用。您需要轮询它,然后计算增量并除以轮询之间的间隔,得出每秒的速率。

例如:

curl -s http://localhost:9200/_stats/indexing

返回如下数据:

"_all" : {
  "primaries" : {
    "indexing" : {
      "index_total" : 98241849,
      "index_time_in_millis" : 23590766,
      "index_current" : 1,
      "delete_total" : 8,
      "delete_time_in_millis" : 4,
      "delete_current" : 0
    }
  },
  "total" : {
    "indexing" : {
      "index_total" : 195892197,
      "index_time_in_millis" : 46639803,
      "index_current" : 2707,
      "delete_total" : 16,
      "delete_time_in_millis" : 14,
      "delete_current" : 0
    }
  }
 ...

答案 1 :(得分:0)

logstash文档建议使用名为“metrics”的过滤器插件,以生成此信息。我个人使用输出插件“file”来将结果与管道分开

以下是the documentation提供的示例:

input {
  generator {
    type => "generated"
  }
}

filter {
  if [type] == "generated" {
    metrics {
      meter => "events"
      add_tag => "metric"
    }
  }
}

output {
  # only emit events with the 'metric' tag
  if "metric" in [tags] {
    stdout {
      codec => line {
        format => "rate: %{[events][rate_1m]}"
      }
    }
  }
}