Kibana plugin limitations/constraints

I am having difficulty understanding or finding information that document what limitations if any, kibana plugins are subject to. For instance, what capabilities an external kibana plugin would be lacking, or what kind of constraints are enforced.
Also how does an external plugin communicate with other plugins such as the discover or visualize plugin, etc.. and what constraints are applicable.

Is there a document that describes this in more detail, or someone who can elaborate on this? The kibana plugin documentation is very sparse in this regard.

For reference, I am considering the pros and cons of implementing my own kibana plugin vs a separate service/application. I am looking to do elastic queries, extract info from the results before passing down to subsequent queries. Will also need some logic to execute alternate queries if a certain query returns no results.

Thanks very much!

EDIT: i found this talk from 2017 ( re kibana plugin development and some of the downsides but i'd like a more up to date view regarding this.

Hi @jnc943,

AFAIK, there is indeed no comprehensive write-up on this topic.
Most of what we have on dev documentation is here.

Answering your question, I'd summed up it this way:
You can create a plugin that:

  1. Registers and implements its own app (like discover or dashboard). You can reuse any of underlying Kibana services.
  2. Enhances existing Kibana functionality through one of the many extension points. Unfortunately we don't have a centralized place where all of this extension points are documented. But, for example, through embeddable plugin you can register a new type of panel that can be added in a dashboard app. Or through data plugin you can create a new field formatter.

Here is the list of all existing kibana plugins, some of them expose extension points for your plugin to use.

I would also recommend to run kibana with yarn start --run-examples this will launch Kibana with examples plugins where we showcase some of the extension points. examples/

--- Edit

I find this blog post to be useful for overall Kibana architecture overview:

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.