Elastic Search released the version 6.1 of its stack, and once again there are a tons of good new things but this is once again a disappointment for developers writing plugins for Kibana. Once again the compatibility is broken and the code has to be changed. This is painful and I stopped writing plugins for it. I will probably still port the traffic lights plugin for it. (I already have 3 different versions of it, one per Elastic flavour)

I started to use Grafana for a part of my monitoring. It cannot replace Kibana because its visualizations are not as powerful as the ones you will find in Kibana but Grafana is a very nice package, very easy to upgrade, that does not break the third party apps compatibility every time a new version is released.

Developing plugins for Grafana and Kibana

It is very easy to to develop a plugin for grafana. The documentation is quite exhaustive and well done. The application starts quickly and the test and debug process is really fast. Kibana is quite the opposite. It is difficult to find information on how to write external plugins. The test process is painful because Kibana can take a huge time to start and as said previously, every new version breaks the compatibility with the plugins.

I am still a fan boy of the two products, but every version of Kibana seams to be less and less open to the community and more and more focused on the licenced plugins.

You will find below a few examples of plugins for Grafana and Kibana

Grafana Plugins

Kibana Plugins

Docker Compose File for the stack 6.1

Services:

  • Cerebro on port 9000 to check the status of elastic search nodes
  • Grafana on port 3000
  • Elastic Search on port 9200
  • Kibana on port 5601
version: '2'
services:

##############################
  grafana:
    image: grafana/grafana:4.6.3
    container_name: grafana
    ports:
     - 3000:3000


##############################
  cerebro:
    image: snuids/cerebro:v0.7.1
    container_name: cerebro
    ports:
      - 9000:9000
    links:
      - esnode1

##############################
  esnode1:
    image: snuids/elk-es-nox:v6.1.0
    ports:
      - "9200:9200"
      - "9300:9300"
    container_name: esnode1


##############################
  kibana:
    image: snuids/elk-kib-nox-add:v6.1.0a
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_URL=http://esnode1:9200
    container_name: kibana
    links:
      - esnode1