elastic/elasticsearch-metrics-reporter-java

Store values in nested object

Opened this issue · 6 comments

Right now a document looks like this:

{
  name: "test.cache-evictions"
  value: 25
}

I think it would be easier to visualize things in Kibana, if the documents where structured like this:

{
  test: {
    cache-evictions: {
      value: 25
    }
  }
}

That way, you can easily create a graph in kibana that shows only the value of the evictions by specifing the path test.cache-evictions. I think this is the way marvel stores metrics into elasticsearch..

What do you think about that?

Besides, it would be nice if you could sotre arbitrary metadata within a document like the host or cluter name. With graphite I would normally include that information into the prefix. But when storing the metrics into elasticsearch that would make it difficult to view only the metrics of a certain host.

@felixbarny for arbitrary metadata, I have a pull request to address the same issue: #8

@spinscale what is your opinion on this?

huge sorry folks, I didnt have yet time to take a look, will try to do this as soon as possible (on this one and on the PR as well). Thx for the ping!

Which visualisation tool do you use for metrics reported by this tool? It feels like Kibana isn't such a great tool for displaying time series data. But it seems like elasticsearch isn't too far away from what InfluxDB does and the metrics 2.0 approach could easily be mapped to elasticsearch.
Are there any plans for Elasticsearch and Kibana to implement more specific timeseries related features? Like what is possible with Grafana on top of Graphite or InfluxDB.

The ability to pass in additional fields such as host & server names would be a very useful feature to have. @spinscale Please do take a look!