As you may know we have added support for Elasticsearch to the Nuxeo Platform in the latest release, bring it greater scalability. We use it to index all the documents in your instance. The results outside of the scalability enhancements is a much better response time when browsing Nuxeo.

One of the other benefits of this integration is that we now have an easy to use reporting solution with Kibana. We talked about Kibana in a previous post about monitoring. Kibana lets you visualize logs and time-stamped data. Elasticsearch works seamlessly with Kibana to let you see and interact with your data.

So now you can very quickly and easily create custom dashboards to have stats about your documents. I like to add a histogram of all the dc:modified values of the documents. This gives me a very good idea of my instance activity. I usually also add the total of documents, a pie chart with some business values like the coverage or topic… And one of my favorites is the trend widget. It allow me to see the evolution of a query over time. I usually put a query for each workflow. Look at this screenshot to get a better idea.

Kibana Reporting

And the cool thing about Kibana is that the data is updated real time and filtered real time. Let’s say you are interested in a pic of activity on the histogram. Simply select the pic on the widget by dragging the mouse on it and it will automatically add a filter. Filters are automatically applied to every query. In the end, what you are really doing here is faceted browsing (outside of the webapp, but it’s coming).

Kibana Reporting Filtered

And the other good part is that setting up Kibana is dead easy. It’s simply an AngularJS application that queries Elasticsearch directly. So you just have to download it, deploy it on a web server and make sure the Elasticsearch address is correct in the configuration file. That’s pretty much all you have to do.