[Hawkular-dev] Proposal for Query DSL
John Sanda
jsanda at redhat.com
Mon Apr 17 22:33:50 EDT 2017
Hi Ben,
Comments inline...
> On Apr 17, 2017, at 6:10 PM, Benjamin Heiskell <bheiskell at datto.com> wrote:
>
> Hey all,
>
> I recently deployed Hawkular because I found its scaling model appealing. It has been working well for our basic monitoring usage when combined with Grafana.
>
> One of my consumers is trying to graph KPIs that involve cross-metric mathematics like sums, division, and moving averages (i.e., post-ingress transformations). I looked into how to accomplish this with Hawkular, but I didn't see any obvious way to do it. The stats endpoint seems to only support aggregations on a single metric/tag at a time. I'm finding that we can't visualize these metrics the same way you can with other TSDBs like Graphite/Prometheus.
The stats endpoints actually do support querying across multiple metrics; however, docs are really lacking which makes it that much easier to miss. I have some docs updates underway. I will try to get to include sections on stats queries. Let me provide a few examples for now.
GET /hawkular/metrics/gauges/stats?tags=$tagsQuery
where tagsQuery might be like:
'hostname=host1'
'hostname=host1 AND env=stage’
'hostname=h <http://myserver.com/>ost1 OR hostname=host2’
'hostname IN [host1, host2, host3]'
'hostname NOT IN [host4, host5]’
The /gauges/stats endpoints supports all the other parameter that are supported by /gauges/{id}/stats. There is a corresponding endpoint for counters:
GET /hawkular/metrics/counters/stats?tags=$tagsQuery
You can also query for rates:
GET /hawkular/metrics/counters/rates/stats=$tagsQuery
Again, these endpoints all support the same query parameters.
There are POST version as well where the query parameters are instead specified as JSON in the request body.
POST /hawkular/metrics/gauges/stats/query
POST /hawkular/metrics/counters/stats/query
The POST endpoints were added in support of the Grafana data source plugin. See https://issues.jboss.org/browse/HWKMETRICS-410 <https://issues.jboss.org/browse/HWKMETRICS-410> and https://issues.jboss.org/browse/HWKMETRICS-465 <https://issues.jboss.org/browse/HWKMETRICS-465> for background on the POST endpoints.
There are some other endpoints that provide batch query support. I will save the details on those since are not inquiring about them.
>
> I did a little research, and found Heiko Rupp's blog post on HawkFX where he seems to already be exploring this idea [1]. Perhaps the query language item on the 2017 road map refers to incorporating this?
>
> I would like to assist in developing this feature. Given that there is already a tags DSL, it seems like it would make sense to extend that to support metric transformations.
>
> Grafana is also considering adding this to Grafana itself, but it doesn't look like the ticket has any traction [2]. Additionally, shipping potentially megabytes of data to Grafana (or the user's browser) to aggregate doesn't seem ideal.
>
> I documented a few TSDB DSLs styles here [3].
>
> What do you all think?
Absolutely agree that Hawkular Metrics would benefit greatly from query language. It would compliment the Grafana plugin nicely. Contributions of any kind, mailing list, IRC (#hawkular) discussion, pull requests, etc, are always welcomed and appreciated. I suggest creating a ticket at https://issues.jboss.org/secure/CreateIssue!default.jspa <https://issues.jboss.org/secure/CreateIssue!default.jspa> (be sure to select Hawkular Metrics for the project.
>
> Thanks,
> Ben
>
> [1] http://pilhuhn.blogspot.com/2016/09/computed-metrics-for-hawkfx.html <http://pilhuhn.blogspot.com/2016/09/computed-metrics-for-hawkfx.html>
> [2] https://github.com/grafana/grafana/issues/3677 <https://github.com/grafana/grafana/issues/3677>
> [3] https://gist.github.com/bheiskell/25af2543ee8588f70895b0311ef291d3 <https://gist.github.com/bheiskell/25af2543ee8588f70895b0311ef291d3>
>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hawkular-dev/attachments/20170417/3b7031b3/attachment-0001.html
More information about the hawkular-dev
mailing list