# Building custom panels in Kibana

**URL:** <https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603>\
**Category:** Elasticsearch\
**Created:** [February 4, 2014, 11:01pm UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603 "2014-02-04T23:01:11Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gabe\_Gorelick\_Feldma](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/gabe_gorelick_feldma/32/1423_2.png) [@Gabe\_Gorelick\_Feldma](https://discuss.elastic.co/u/Gabe_Gorelick_Feldma)\
**Post date:** [February 4, 2014, 11:01pm UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/1 "2014-02-04T23:01:11Z")

</div>

Is there any documentation on implementing custom panels in Kibana?

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/147e8482-3ab4-4da5-843d-9c7c704eb599%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/147e8482-3ab4-4da5-843d-9c7c704eb599%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Tony\_Su](https://avatars.discourse-cdn.com/v4/letter/t/8dc957/32.png) [@Tony\_Su](https://discuss.elastic.co/u/Tony_Su)\
**Post date:** [February 5, 2014, 12:10am UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/2 "2014-02-05T00:10:06Z")

</div>

I've been struggling with this a bit, too.

Lately, I've had some success understanding how the "new" Kibana works by  
installing Marvel and then looking around.  
The biggest issue I'm currently experiencing is exactly what can be  
specified for display. A dropdown would be useful, but for now you just  
need to know.

Tony

On Tuesday, February 4, 2014 3:01:11 PM UTC-8, Gabe Gorelick-Feldman wrote:

> Is there any documentation on implementing custom panels in Kibana?

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/72c978fb-16ac-471c-bd09-ea563fc2c918%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/72c978fb-16ac-471c-bd09-ea563fc2c918%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Binh\_Ly](https://avatars.discourse-cdn.com/v4/letter/b/ce7236/32.png) [@Binh\_Ly](https://discuss.elastic.co/u/Binh_Ly)\
**Post date:** [February 14, 2014, 1:25pm UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/3 "2014-02-14T13:25:59Z")

</div>

It's actually not that difficult. Just need a little patience learning  
AngularJS. The easiest way to start is to look:

1. src/app/panels is where all the panels live - copy one out of here (I'd  
start with the text panel), create a new folder - new name based on your  
panel name, and edit and strip down the editor, module, and js files (just  
rename your panel name in the code accordingly)

2. src/config.js is where you will add your panel to make it visible to  
kibana. Scroll down to the bottom and add it to the list

Assuming you got no syntax errors, clear your browser cache and refresh and  
you should be able to add your new panel onto the dashboard. If something  
is not working, just reverse all the processes above and you can go back to  
your original Kibana state without much problem. You'll probably want to do  
this in a DEV environment and test it first anyway.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/1cd29006-23d1-4a30-b4d9-6ef53434a70b%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/1cd29006-23d1-4a30-b4d9-6ef53434a70b%40googlegroups.com).  
For more options, visit [https://groups.google.com/groups/opt\_out](https://groups.google.com/groups/opt_out).

---

<div class="post-metadata">

**Author:** ![Nick\_B](https://avatars.discourse-cdn.com/v4/letter/n/cab0a1/32.png) [@Nick\_B](https://discuss.elastic.co/u/Nick_B)\
**Post date:** [October 30, 2014, 9:42pm UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/4 "2014-10-30T21:42:30Z")

</div>

I'm having some issues in the app.js file when I try to add my custom panel  
to a row. I keep getting the error "Argument 'custTable' is not a function,  
got undefined". custTable is the name of my custom panel. I've attempted  
going through the actual js but it seems like an endless rabbit hole. Any  
suggestions?

Thanks,  
Nick

On Friday, February 14, 2014 8:25:59 AM UTC-5, Binh Ly wrote:

> It's actually not that difficult. Just need a little patience learning  
> AngularJS. The easiest way to start is to look:
> 
> 1. src/app/panels is where all the panels live - copy one out of here (I'd  
> start with the text panel), create a new folder - new name based on your  
> panel name, and edit and strip down the editor, module, and js files (just  
> rename your panel name in the code accordingly)
> 
> 2. src/config.js is where you will add your panel to make it visible to  
> kibana. Scroll down to the bottom and add it to the list
> 
> Assuming you got no syntax errors, clear your browser cache and refresh  
> and you should be able to add your new panel onto the dashboard. If  
> something is not working, just reverse all the processes above and you can  
> go back to your original Kibana state without much problem. You'll probably  
> want to do this in a DEV environment and test it first anyway.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/03eeb10f-b797-41a6-bb8d-0e49865fd1cd%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/03eeb10f-b797-41a6-bb8d-0e49865fd1cd%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Ritika\_Gupta](https://avatars.discourse-cdn.com/v4/letter/r/3ab097/32.png) [@Ritika\_Gupta](https://discuss.elastic.co/u/Ritika_Gupta)\
**Post date:** [January 6, 2015, 9:38am UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/5 "2015-01-06T09:38:48Z")

</div>

I have been getting error: 'xyz' is not a function, got undefined where xyz  
is name of my panel. I have changed the name of controllers and modules to  
xyz.

Is it possible to write a panel from scratch? How is the rendering done?  
Where are the controllers defined?

On Friday, February 14, 2014 6:55:59 PM UTC+5:30, Binh Ly wrote:

> It's actually not that difficult. Just need a little patience learning  
> AngularJS. The easiest way to start is to look:
> 
> 1. src/app/panels is where all the panels live - copy one out of here (I'd  
> start with the text panel), create a new folder - new name based on your  
> panel name, and edit and strip down the editor, module, and js files (just  
> rename your panel name in the code accordingly)
> 
> 2. src/config.js is where you will add your panel to make it visible to  
> kibana. Scroll down to the bottom and add it to the list
> 
> Assuming you got no syntax errors, clear your browser cache and refresh  
> and you should be able to add your new panel onto the dashboard. If  
> something is not working, just reverse all the processes above and you can  
> go back to your original Kibana state without much problem. You'll probably  
> want to do this in a DEV environment and test it first anyway.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/a4dea828-0c7a-4338-9003-82649f829da7%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/a4dea828-0c7a-4338-9003-82649f829da7%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:40am UTC](https://discuss.elastic.co/t/building-custom-panels-in-kibana/15603/6 "2017-07-06T00:40:35Z")

</div>


