Elasticsearch-head – new GUI up on GitHub


(Paul Smith) #1

Hi, just thought I'd pass on some info, one our our intrepid UI engineers at
Aconex is building for us a useful in house tool to combine with our
upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

We have a lot of plans for this, Ben has ideas just about leaking out his
ears. We'll (and by that I mean him, because he knows JavaScript way better
than I) develop this as a powerful front-end for ElasticSearch, particular
in the cases for searching logs, but I think it will also be a very useful
tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind, which
should work a bit like the OSX Finder view's Column mode, allowing
drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly
chosen, but there you go.

stay tuned...

Paul


(Lukáš Vlček) #2

Hi,

looks nice! What is the "browse" tab meant to do? It probably does not work
for me (I use Chrome 9.0.597.45 beta and the tab output is completely
empty).

BTW I am trying to work on JavaScript client for ES (can be found here
https://github.com/lukas-vlcek/elasticsearch-js) did you have a chance to
look at it? I have some stuff that is not currently committed (an event
module that allows to register custom handler functions for specific events
[like when new node is added, or new index created, ...etc]). As far a I can
see there is no independent ES client in your code and it is a bit mixed
with UI code into one JS file. May be we could join forces in order to
produce something more modular and less monolithic. What do you think?

Regards,
Lukas

On Mon, Jan 17, 2011 at 5:03 AM, Paul Smith tallpsmith@gmail.com wrote:

Hi, just thought I'd pass on some info, one our our intrepid UI engineers
at Aconex is building for us a useful in house tool to combine with our
upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

https://github.com/mobz/elasticsearch-head

We have a lot of plans for this, Ben has ideas just about leaking out his
ears. We'll (and by that I mean him, because he knows JavaScript way better
than I) develop this as a powerful front-end for ElasticSearch, particular
in the cases for searching logs, but I think it will also be a very useful
tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind, which
should work a bit like the OSX Finder view's Column mode, allowing
drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly
chosen, but there you go.

stay tuned...

Paul


(Lukáš Vlček) #3

I would just note that I do not consider myself JS expert so if you find my
code weird then it probably is, however, any feedback is welcome.

On Mon, Jan 17, 2011 at 8:54 AM, Lukáš Vlček lukas.vlcek@gmail.com wrote:

Hi,

looks nice! What is the "browse" tab meant to do? It probably does not work
for me (I use Chrome 9.0.597.45 beta and the tab output is completely
empty).

BTW I am trying to work on JavaScript client for ES (can be found here
https://github.com/lukas-vlcek/elasticsearch-js) did you have a chance to
look at it? I have some stuff that is not currently committed (an event
module that allows to register custom handler functions for specific events
[like when new node is added, or new index created, ...etc]). As far a I can
see there is no independent ES client in your code and it is a bit mixed
with UI code into one JS file. May be we could join forces in order to
produce something more modular and less monolithic. What do you think?

Regards,
Lukas

On Mon, Jan 17, 2011 at 5:03 AM, Paul Smith tallpsmith@gmail.com wrote:

Hi, just thought I'd pass on some info, one our our intrepid UI engineers
at Aconex is building for us a useful in house tool to combine with our
upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

https://github.com/mobz/elasticsearch-head

We have a lot of plans for this, Ben has ideas just about leaking out his
ears. We'll (and by that I mean him, because he knows JavaScript way better
than I) develop this as a powerful front-end for ElasticSearch, particular
in the cases for searching logs, but I think it will also be a very useful
tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind, which
should work a bit like the OSX Finder view's Column mode, allowing
drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly
chosen, but there you go.

stay tuned...

Paul


(Lukáš Vlček) #4

FYI: I just pushed some updates to demos (tried to structure and document
them better and added one WIP demo for live nodes stats charting...).

On Mon, Jan 17, 2011 at 8:57 AM, Lukáš Vlček lukas.vlcek@gmail.com wrote:

I would just note that I do not consider myself JS expert so if you find my
code weird then it probably is, however, any feedback is welcome.

On Mon, Jan 17, 2011 at 8:54 AM, Lukáš Vlček lukas.vlcek@gmail.comwrote:

Hi,

looks nice! What is the "browse" tab meant to do? It probably does not
work for me (I use Chrome 9.0.597.45 beta and the tab output is completely
empty).

BTW I am trying to work on JavaScript client for ES (can be found here
https://github.com/lukas-vlcek/elasticsearch-js) did you have a chance to
look at it? I have some stuff that is not currently committed (an event
module that allows to register custom handler functions for specific events
[like when new node is added, or new index created, ...etc]). As far a I can
see there is no independent ES client in your code and it is a bit mixed
with UI code into one JS file. May be we could join forces in order to
produce something more modular and less monolithic. What do you think?

Regards,
Lukas

On Mon, Jan 17, 2011 at 5:03 AM, Paul Smith tallpsmith@gmail.com wrote:

Hi, just thought I'd pass on some info, one our our intrepid UI engineers
at Aconex is building for us a useful in house tool to combine with our
upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

https://github.com/mobz/elasticsearch-head

We have a lot of plans for this, Ben has ideas just about leaking out his
ears. We'll (and by that I mean him, because he knows JavaScript way better
than I) develop this as a powerful front-end for ElasticSearch, particular
in the cases for searching logs, but I think it will also be a very useful
tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind,
which should work a bit like the OSX Finder view's Column mode, allowing
drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly
chosen, but there you go.

stay tuned...

Paul


(Paul Smith) #5

On Monday, 17 January 2011, Lukáš Vlček lukas.vlcek@gmail.com wrote:

Hi,
looks nice! What is the "browse" tab meant to do? It probably does not work for me (I use Chrome 9.0.597.45 beta and the tab output is completely empty).

The browse view will be the area like the osx finder column mode where
one can drill down through the index in deeper levels based on the use
of facets. Right now it's just empty. (sorry a bit vapor ware at the
moment)

It's still very much WIP, perhaps premature to announce but Ben had
this working pretty quick.

BTW I am trying to work on JavaScript client for ES (can be found here https://github.com/lukas-vlcek/elasticsearch-js) did you have a chance to look at it? I have some stuff that is not currently committed (an event module that allows to register custom handler functions for specific events [like when new node is added, or new index created, ...etc]). As far a I can see there is no independent ES client in your code and it is a bit mixed with UI code into one JS file. May be we could join forces in order to produce something more modular and less monolithic. What do you think?

Ive forwarded this to Ben for further comments. A bigger community is
always a good thing IMHO.

Regards,Lukas

On Mon, Jan 17, 2011 at 5:03 AM, Paul Smith tallpsmith@gmail.com wrote:
Hi, just thought I'd pass on some info, one our our intrepid UI engineers at Aconex is building for us a useful in house tool to combine with our upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

https://github.com/mobz/elasticsearch-head
We have a lot of plans for this, Ben has ideas just about leaking out his ears. We'll (and by that I mean him, because he knows JavaScript way better than I) develop this as a powerful front-end for ElasticSearch, particular in the cases for searching logs, but I think it will also be a very useful tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind, which should work a bit like the OSX Finder view's Column mode, allowing drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly chosen, but there you go.
stay tuned...
Paul


(Clinton Gormley) #6

https://github.com/mobz/elasticsearch-head

very nice indeed.

one feature request I'd make is for the results to be presented as a
collapsible tree, rather than as plain JSON

and possibly the use of filters, transformation functions on the
results.

eg, i want to look at the JVM memory usage of each node.

With the Perl API I do this:

$mem = map {$_->{jvm}{mem}} values %{$es->node_stats->{nodes}}

It'd be nice to be able to specify a JS function which would transform
the raw results of the node stats, then pass it back to your code to
display as a collapsible tree.

(Also, I note that GET /_cluster/nodes/stats is not available in the
right hand tabs)

keep up the good work

clint


(Lukáš Vlček) #7

Sure, my work is still in motion as well (thus I did not make any official
announcement yet). The thing is that it is quite easy to hack some AJAX tool
for ES quickly but doing it "properly" is harder and it would be great if we
(as a community) can build something more robust and general. My goal with
ES JS client is to provide something that would make building GUI tools
easier. As of now the client covers whole REST API almost completely (there
is someone still pushing new functionality into ES ...), the next important
step is to implement event module, I already start implementing it but would
love to brainstorm with anybody who is more experienced in JS coding about
how to do it properly.

Looking forward to hear back.

Regards,
Lukas

On Mon, Jan 17, 2011 at 10:25 AM, Paul Smith tallpsmith@gmail.com wrote:

On Monday, 17 January 2011, Lukáš Vlček lukas.vlcek@gmail.com wrote:

Hi,
looks nice! What is the "browse" tab meant to do? It probably does not
work for me (I use Chrome 9.0.597.45 beta and the tab output is completely
empty).

The browse view will be the area like the osx finder column mode where
one can drill down through the index in deeper levels based on the use
of facets. Right now it's just empty. (sorry a bit vapor ware at the
moment)

It's still very much WIP, perhaps premature to announce but Ben had
this working pretty quick.

BTW I am trying to work on JavaScript client for ES (can be found here
https://github.com/lukas-vlcek/elasticsearch-js) did you have a chance to
look at it? I have some stuff that is not currently committed (an event
module that allows to register custom handler functions for specific events
[like when new node is added, or new index created, ...etc]). As far a I can
see there is no independent ES client in your code and it is a bit mixed
with UI code into one JS file. May be we could join forces in order to
produce something more modular and less monolithic. What do you think?

Ive forwarded this to Ben for further comments. A bigger community is
always a good thing IMHO.

Regards,Lukas

On Mon, Jan 17, 2011 at 5:03 AM, Paul Smith tallpsmith@gmail.com
wrote:
Hi, just thought I'd pass on some info, one our our intrepid UI engineers
at Aconex is building for us a useful in house tool to combine with our
upcoming use of Flume->ElasticSearch, and we've licensed it under ASL 2.

https://github.com/mobz/elasticsearch-head
We have a lot of plans for this, Ben has ideas just about leaking out his
ears. We'll (and by that I mean him, because he knows JavaScript way better
than I) develop this as a powerful front-end for ElasticSearch, particular
in the cases for searching logs, but I think it will also be a very useful
tool for triaging things inside production for ElasticSearch.

In particular I'm a bit pumped by the "browse" mode Ben has in mind,
which should work a bit like the OSX Finder view's Column mode, allowing
drill-down (thanks to ES faceting).

Ben has now realised the name of his GitHub project is probably badly
chosen, but there you go.
stay tuned...
Paul


(Lukáš Vlček) #8

On Mon, Jan 17, 2011 at 10:38 AM, Clinton Gormley
clinton@iannounce.co.ukwrote:

https://github.com/mobz/elasticsearch-head

very nice indeed.

one feature request I'd make is for the results to be presented as a
collapsible tree, rather than as plain JSON

and possibly the use of filters, transformation functions on the
results.

eg, i want to look at the JVM memory usage of each node.

Clinton, you can try this


Note is it hardcoded to show stats taken from the first node in cluster
found in response so probably not useful for production now (indeed it is
demo) but this can give you an essence of what is possible. :slight_smile:

With the Perl API I do this:

$mem = map {$_->{jvm}{mem}} values %{$es->node_stats->{nodes}}

It'd be nice to be able to specify a JS function which would transform
the raw results of the node stats, then pass it back to your code to
display as a collapsible tree.

(Also, I note that GET /_cluster/nodes/stats is not available in the
right hand tabs)

keep up the good work

clint


(Clinton Gormley) #9

Clinton, you can try
this https://github.com/lukas-vlcek/elasticsearch-js/tree/master/demo/stats
Note is it hardcoded to show stats taken from the first node in
cluster found in response so probably not useful for production now
(indeed it is demo) but this can give you an essence of what is
possible. :slight_smile:

Oh that is very nice indeed :slight_smile:

nice work lukas


(Paul Smith) #10

On Monday, 17 January 2011, Clinton Gormley clinton@iannounce.co.uk wrote:

https://github.com/mobz/elasticsearch-head

very nice indeed.

one feature request I'd make is for the results to be presented as a
collapsible tree, rather than as plain JSON

It is collapsible. Just click on a node in the results. (it's not
obvious at the moment). A table view is coming soon currently in the
structured query view only.

and possibly the use of filters, transformation functions on the
results.

eg, i want to look at the JVM memory usage of each node.

With the Perl API I do this:

$mem = map {$_->{jvm}{mem}} values %{$es->node_stats->{nodes}}

It'd be nice to be able to specify a JS function which would transform
the raw results of the node stats, then pass it back to your code to
display as a collapsible tree.

(Also, I note that GET /_cluster/nodes/stats is not available in the
right hand tabs)

That coming, very simple.

keep up the good work

clint


(Lukáš Vlček) #11

Just be careful with this. There is opened issue regarding the nodes/stats
API https://github.com/elasticsearch/elasticsearch/issues#issue/629
https://github.com/elasticsearch/elasticsearch/issues#issue/629It seems
that some people do not suffer from this issue but some really do (at least
I know of two), so I would definitely not recommend to give this a try on
production!

On Mon, Jan 17, 2011 at 10:57 AM, Clinton Gormley
clinton@iannounce.co.ukwrote:

Clinton, you can try
this
https://github.com/lukas-vlcek/elasticsearch-js/tree/master/demo/stats
Note is it hardcoded to show stats taken from the first node in
cluster found in response so probably not useful for production now
(indeed it is demo) but this can give you an essence of what is
possible. :slight_smile:

Oh that is very nice indeed :slight_smile:

nice work lukas


(Clinton Gormley) #12

It is collapsible. Just click on a node in the results. (it's not
obvious at the moment). A table view is coming soon currently in the
structured query view only.

sweet - i see that now

clint


(system) #13