Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline aggregations #4584

Closed
tarunsapra opened this issue Aug 5, 2015 · 144 comments
Closed

Pipeline aggregations #4584

tarunsapra opened this issue Aug 5, 2015 · 144 comments
Labels
Feature:Aggregations Aggregation infrastructure (AggConfig, esaggs, ...) Feature:Visualizations Generic visualization features (in case no more specific feature label is available) release_note:enhancement Team:Beats v5.4.0

Comments

@tarunsapra
Copy link

It would be nice to have Kibana 4.2 beta support pipeline aggregations of ES which is expected in ES 2.0 beta.

@rashidkpc rashidkpc changed the title ElasticSearch Pipelie aggregations in Kibana 4.2 beta Pipeline aggregations Aug 5, 2015
@leoatavalancha
Copy link

+1

3 similar comments
@Pigueiras
Copy link

+1

@kazeborja
Copy link

+1

@pemontto
Copy link

👍

@rcrezende
Copy link

+1

2 similar comments
@novozhenets
Copy link

+1

@webmstr
Copy link

webmstr commented Aug 19, 2015

+1

@AlexIoannides
Copy link

+1

If I could compute a max over a set of maxes, that would make me very happy.

@joelclimbsthings
Copy link

Emphatic +1

@francoisprunier
Copy link

+1. That would definitely be a big selling point for our customers, it happens very often that they want a ratio of some kind (request success rate for a basic example) included in their dashboard, and we can't do it at the moment.

@matwolb
Copy link

matwolb commented Sep 10, 2015

+1. This would be really useful!

@leoatavalancha
Copy link

ES 2.0 beta was released a few days ago. Would be really nice to have this feature implemented on Kibana. Ratios are highly frequently used on any dashboard.

@davmrtl
Copy link

davmrtl commented Sep 17, 2015

+1

3 similar comments
@thehybridtechnician
Copy link

+1

@shendaras
Copy link

+1

@fpbouchard
Copy link

+1

@amitripshtos
Copy link

+1

@skundrik
Copy link
Contributor

skundrik commented Oct 3, 2015

+10, this would be great for performance visualisations (per second type like max count/s over 10 minutes) without having to pull all the seconds buckets to client for processing.

@tcucchietti
Copy link

+1

1 similar comment
@hrchu
Copy link

hrchu commented Oct 21, 2015

+1

@l8liu
Copy link

l8liu commented Oct 21, 2015

It will be great that if Kibana could support the visualization of the moving average of the aggregated time series counts (e.g., daily count) and control chart as shown in this blog

https://www.elastic.co/blog/staying-in-control-with-moving-averages-part-1

It is really important for the application of real time surveillance and monitoring system.

@oryband
Copy link

oryband commented Oct 22, 2015

@avivl
Copy link

avivl commented Oct 22, 2015

💯

@bolshoy
Copy link

bolshoy commented Oct 22, 2015

+1

1 similar comment
@jmaynier
Copy link

+1

@id3a
Copy link

id3a commented Feb 1, 2017

Does anyone know if the Devs are working on this issues? This will be a important feature for kibana especially for dashboards with SLA's and KPI's

@simianhacker
Copy link
Member

I have a PR #9725 slated for 5.4 (fingers crossed) that will add full support for pipeline aggregations. It mainly focuses on the time series use case and introduces 5 compatible visualizations.

@simianhacker
Copy link
Member

There is also some work being done to add derivative support to the current Kibana vis builder for histograms.

@id3a
Copy link

id3a commented Feb 2, 2017

@simianhacker what about a data table visualization with simple pipeline aggregations.
something similar to this:
https://discuss.elastic.co/t/workaround-for-lack-of-support-of-pipeline-aggregations/73551/2

@simianhacker
Copy link
Member

The markdown vis is enhanced with Handlebars.js and you have full access to the data through embedded variables. It also supports some HTML so putting together tables is a pretty easy task.

@simianhacker
Copy link
Member

@id3a Here is what it looks like to create tables with data (with the Markdown vis). The "overall sum" is a pipeline (sibling) aggregation.

image

The user has access to ALL the series returned based on what they setup in the "data" tab. The "Markdown" visualization is kind of a Frankenstein version of "Common Mark Markdown" and "Handlebars Templates"

image

The user can also add custom CSS styling to the Markdown...

image

As you can see, it's pretty powerful and allows you to create your own custom tables (or whatever 😄 )

@leemengtw
Copy link

+1, looking forward to pipeline aggregation visualization!

@id3a
Copy link

id3a commented Feb 3, 2017

@simianhacker That would be a great feature to add as a new visualization.
Can you provide a zip file with this plugin?

@simianhacker
Copy link
Member

@id3a I can't but my branch is here: https://github.com/simianhacker/kibana/tree/metrics

I'm actively working with the visualize team to review this PR and have it merge as a new feature; probably going to be marked as experimental and all that it entails. Here are a few more examples of pipelines in action:

image

image

@AndyRubio
Copy link

+1

@tbragin
Copy link
Contributor

tbragin commented Feb 13, 2017

via @oras from #10306

I have some results of metrics pass/failed duration.
It will be nice if I could count those results and divide with other results or other field
and display the results in visualization.
The advantages of such of feature, that the results will be changed viewing on the dashboard
order to filter used (Such show only pass results, or show only kind of metrics etc,
of course I can use counter with Logstash of pass/failed but where is all the fun :) of dynamics.
I think it can be implemented using Input of java script/painless or whatever such JSON input
with creating of inner filled in the visualization for display of use.
Those operation semiyearly to Timelion operation just with more options of display
in different graphs rather then time line chart,

@M2UNO3
Copy link

M2UNO3 commented Mar 10, 2017

+1

@k2xl
Copy link

k2xl commented Mar 24, 2017

Is this still slated for 5.4?

@epixa
Copy link
Contributor

epixa commented Mar 25, 2017

@k2xl Yep!

@DavidCroenne
Copy link

Great demo during Elastic 2017 keynote:
https://www.elastic.co/elasticon/conf/2017/sf/opening-keynote from 30'
Many thanks, Chris!

@k2xl
Copy link

k2xl commented Mar 29, 2017

Really great job with the demo. Some quick questions

  • Super powerful stuff. It wasn't clear if one can adjust parameters of some of the pipeline aggregations like moving averages (changing to HW moving average or to some other type) I might have simply not caught it in the demo.
  • Grouping by things like term filter to have multiple line charts - will this possible?
  • Can you squeeze this in to 5.3 as a "beta" feature :-D?

Really amazing work!!

@epixa epixa removed the P2 label Apr 25, 2017
@jeffsaremi
Copy link

Need a minimal way to use existing pipeline aggs in Kibana. Do you have this in any shape or form? This would be of a bigger priority than allowing UI-based pipeline formulations.
I just need to paste my existing json and show the results in Kibana. thanks

@thomasneirynck
Copy link
Contributor

@jeffsaremi on the master and 5.x branches of Kibana you'll find support for most parent and sibling aggregations in Visualize. Both as part of the supported metrics for line, bar, and area charts, but also as part of the newly introduced Time Series Visual Builder. If you're just using the defaults from ES, without any custom scripting, that might be sufficient for you.

This will be part of the upcoming Kibana 5.4 release.

@jeffsaremi
Copy link

@thomasneirynck as far as I know, I cannot do the following visually. However my experience is based on 5.3 release. I have not used the development branch yet. I am not even asking for the visual builder to have this but rather for Kibana to allow such underlying query to be used and its results be shown as visualizations. I think this is a more accomplisahble goal for now.

Please take a look at this. This is a pipeline aggregation to do a sum over a series of max's.

http://stackoverflow.com/questions/43690093/how-to-do-nested-aggregation-in-elasticsearch-where-aggregation-is-over-results/43691556#43691556

@tbragin
Copy link
Contributor

tbragin commented May 4, 2017

Closing based on functionality shipped in 5.4:

See the release blog for more info: https://www.elastic.co/blog/kibana-5-4-0-released

@tbragin tbragin closed this as completed May 4, 2017
@tbragin tbragin added the v5.4.0 label May 4, 2017
@jeffsaremi
Copy link

Is there any tutorial for the new aggregations (especially the pipeline ones) and how to use them in Kibana? thanks

@simianhacker
Copy link
Member

@jeffsaremi I'm currently working on some video walkthrough (tutorials) for Time Series Visual Builder to be published soon-ish so keep your eye out on the Elastic Blog.

@k2xl
Copy link

k2xl commented May 5, 2017

Congratulations on the release!!!

@HardCoreCodin
Copy link

The 'Calculate' feature can only do a bucket-script as a top-level, it can't be applied within a parent bucket-aggregation... :(

And that's only in the time-series visualization, there's no bucket-script in the standard visualizations.

Our particular use-cases require both, and it seems like none are supported - not even in 6.x(rc)
Are there any plans for this?

In our use-cases, each document has a start-time and end-time date-type fields, and we need to generate an overall-duration across buckets of those, grouped on some category-field.
This involves first bucketing on that category, then within that doing 2 metrics: min(start-time) and nax(end-time) of the documents in each bucket, then applying a pipeline-script-bucket agg that uses these 2 metric-aggs to compute the duration between them (max_end_time - min_start_time). That gives us a 'duration' metric as the output of each bucket. We then want to apply some metric-pipeline-aggs on them.

An almost identical structure has been detailed here: https://discuss.elastic.co/t/kibana-5-4-bucket-script-visualization/86475

I was able to express that in the query-DSL, and we're using it in production already - but we can't visualize these in Kibana - which REALLY sucks, as our clients have been requesting such visualizations for years, and we've always told them 'we need support from later versions, for pipeline-aggregations'...
Well, now we have those - but actually, don't...
In time-series builder, we have bucket-script pipeline aggregation that can be expressed, but it can't consume/be-applied-on a parent bucket-term-aggregation, and in the other visualization, we have bucket-term-aggregations, and some pipeline-metric-aggregations, but not the needed bucket-script pipeline aggregation needed to express that...

Is there a workaround using some "advanced JSON" thing I can put my query-DSL in there?

@thomasneirynck
Copy link
Contributor

hi @ArnonMarcus

thanks for expanding on your use-case.

For using the raw query DSL in Kibana to produce a Visualization, you may want to look at the Vega-plugin. https://github.com/nyurik/kibana-vega-vis. It takes a raw query-DSL

This is currently a community contribution, but we are considering bringing it (or something like it) into Kibana: #14911.

Thanks,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Aggregations Aggregation infrastructure (AggConfig, esaggs, ...) Feature:Visualizations Generic visualization features (in case no more specific feature label is available) release_note:enhancement Team:Beats v5.4.0
Projects
None yet
Development

No branches or pull requests