Kibana: Unable to include settings for disabled plugins

Created on 15 Nov 2017  路  18Comments  路  Source: elastic/kibana

As of https://github.com/elastic/kibana/pull/12554, we prevent Kibana from starting up when the config includes invalid keys. This aligns with the behavior in ES.

However, the available settings do not include those of disabled plugins.

 > bin/kibana --xpack.monitoring.enabled=false --xpack.monitoring.ui.container.elasticsearch.enabled=true
  log   [17:40:36.493] [fatal] "xpack.monitoring.ui.container.elasticsearch.enabled" setting was not applied. Check for spelling errors and ensure that expected plugins are installed and enabled.

This is particularly a problem with kibana-docker, where we default xpack.monitoring.ui.container.elasticsearch.enabled=true and a user wishes to disable monitoring.

Raised here: https://github.com/elastic/kibana-docker/issues/56

Operations bug

All 18 comments

cc: @spalger

CC @jarpy @gingerwizard

@tylersmalley have you tested this with #14745 by chance?

@spalger, I have not. Will check it out, thanks.

@spalger, still seeing the error with your branch and the corresponding x-pack branch.

I'm trying the kibana 6.1.2 docker image and I get that error
FATAL "xpack.monitoring.ui.container.elasticsearch.enabled" setting was not applied.
Including a kibana.yml with that flag set to true doesn't make any difference.

Is there any solution to that problem?

Thank you.

@AntouanK, what docker image are you using?

@tylersmalley
I tried the latest 6.1.2 and went back all the way to 5.5.3 because that the latest one that's working.
( I think in all the 6.x ones I get the Kibana issue, and then on the 5.6 I have an Elasticsearch issue )

I am using 6.1.2 as well. I remove xpack and set the environment variable to false.

In Dockerfile: ENV XPACK_SECURITY_ENABLED false
In run.sh: bin/kibana-plugin remove x-pack

I do this for both Elasticsearch and Kibana. Elasticsearch starts up fine, but Kibana throws the following error:

"message":"\"xpack.monitoring.ui.container.elasticsearch.enabled\" setting was not applied. Check for spelling errors and ensure that expected plugins are installed and enabled."
FATAL "xpack.monitoring.ui.container.elasticsearch.enabled" setting was not applied. Check for spelling errors and ensure that expected plugins are installed and enabled.

Any ideas how to fix this?

@moetemad what happens if you omit the ENV from the dockerfile? Apart from that, I've essentially done the same as you and it seems to work for me (although I'm setting my own Kibana.yml via k8s as opposed to docker ENV but should be the same effect I believe)

@eversC I tried setting the security to false via the yaml first, but it did not work. I set it in Elasticsearch and Kibana. No errors were thrown or anything, but Kibana would not load. Is there any other place I have to disable xpack?

@moetemad, instead of disabling x-pack you can use the OS version.

Click the arrow next to the version your interested in: https://www.docker.elastic.co/

For instance: docker pull docker.elastic.co/kibana/kibana-oss:6.1.2

@moetemad I believe you're seeing the error because i) xpack plugin is disabled in the image AND ii) you're trying to set config for said disabled plugin

I don't think you can do both, so I'd try removing the xpack config ENV (or via yml) you've got set

@tylersmalley Thank you. Do you know what the base image is for this? I am trying to perform some operations such as addgroup, adduser, etc. in my run.sh but it is not letting me do that.
Or do you know when I can get the source which is not dockerized for the oss version?

@tylersmalley @eversC Is there a way I can find the source file? I am trying to replace the ELASTICSEARCH _URL but it is not picking up the env variable. It remains to be http://elasticsearch:9200. Any ideas on how to fix this?
I have the env variable defined in my yaml file, but I see the following error:

["error","elasticsearch","admin"],"pid":1,"message":"Request error, retrying\nGET http://elasticsearch:9200/.kibana/doc/config%3A6.1.2 => getaddrinfo ENOTFOUND elasticsearch elasticsearch:9200"}

@moetemad the default url should be localhost:9200 (see https://www.elastic.co/guide/en/kibana/current/settings.html) so are you sure you're not setting the url already (and hence possibly why it's not changing)? EDIT just found https://www.elastic.co/guide/en/kibana/current/_configuring_kibana_on_docker.html which indicates default is ACTUALLY elasticsearch:9200 -- my bad.

re: the env var, might be worth opening a bash shell to the kibana instance and checking it's being set to what you want?

re: kibana.yml override, again open a bash shell, and check your yml is present, and in the right place? I believe it should be in /usr/share/kibana/config

just to complicate things, I put my kibana.yml in /opt/kibana/config, with /opt/kibana seemingly being symlinked to /usr/share/kibana

if you believe everything is in place (env var, kibana.yml) on your kibana instance, and it's still not working, it would be worth raising a new issue -- this seems to have digressed a lot since OP

@eversC Thanks, I fixed that issue by using a post init in my kubernetes yaml. I have kibana as a docker image and ES as a service on CentOS. The connection is now working and all is good.

There is a problem though. Kibana does not seem to pull data from ES. When I hit : http://host-ip:9200/_cat/indices?v I see all indices with green status. But my kibana shows: Couldn't find any Elasticsearch data

Any ideas why this is happening?

Was this page helpful?
0 / 5 - 0 ratings