Fails to launch Kibana 6 with ES tribe url after upgrading from 5

Tried to follow the upgrade doc and converted the .kibana index to a new index and changed the alias to point here, but I fail to launch Kibana 6 and see the errors below, any hints appreciated, TIA!

{"type":"log","@timestamp":"2019-07-05T13:22:24Z","tags":["warning","config","deprecation"],"pid":23640,"message":"You should set server.basePath along with server.rewriteBasePath. Starting in 7.0, Kibana will expect that all requests start with server.basePath rather than expecting you to rewrite the requests in your reverse proxy. Set server.rewriteBasePath to false to preserve the current behavior and silence this warning."}
{"type":"log","@timestamp":"2019-07-05T13:22:28Z","tags":["fatal","root"],"pid":23640,"message":"TypeError: settings is not a function\n    at /usr/share/kibana/src/legacy/core_plugins/elasticsearch/index.js:91:29\n    at deprecation (/usr/share/kibana/src/deprecation/create_transform.js:36:7)\n    at arrayEach (/usr/share/kibana/node_modules/lodash/index.js:1311:13)\n    at /usr/share/kibana/node_modules/lodash/index.js:3389:13\n    at /usr/share/kibana/src/deprecation/create_transform.js:35:25\n    at getSettings (/usr/share/kibana/src/plugin_discovery/plugin_config/settings.js:31:10)"}

Got two ES clusters and normally have been using a local tribe node. Only if I comment out my elasticsearch.tribe.url in kibana.yml and have it create/use a different kibana.index, it'll launch and create new index(es) ... Funny enough I'm using index dot-kibana with version 5 and launching version 6 with kibana.index: "dot-kibana6" then it still picked up my saved objects from "dot-kibana" and created first index "dot-kibana6_7" and then migrated to "dot-kibana6_8". Should I change kibana.yml to kibana.index: "dot-kibana6_8" now... no tried then it migrated through dot-kibana6_8_9 to dot-kibana6_8_10 and created an alias from kibana.yml setting to latest index it self.

Weirdly it automatically pick up my various index patterns also from back in time like packetbeat, topbeat and also indexes normal in the other ES cluster... wondering how and from what, index templates maybe...

Howto migrate to cross cluster or remote cluster instead of using tribe node as previously?

Again any hints are appreciated, TIA

Attempting to add a remote cluster under Mangement seems to fails if I add with the name of cluster "mx9es" and the only non-seed "node4.:9300" it just fails to connect to this 4-node cluster, isn't this the right way?

my version 5 kibana local tribe node uses this config:

...
tribe:
  on_conflict: prefer_perf

  perf:
    network.host: kibana.<dom1>
    transport.tcp.port: 9300
    cluster.name: mxes2data
    discovery.zen.ping.unicast.hosts: ["kibana.<dom1>", "seed1.<dom1>", "seed2.<dom1>"]

  log:
    network.host: kibana.<dom2>
    transport.tcp.port: 9300
    cluster.name: mx9es
    discovery.zen.ping.unicast.hosts: ["kibana.<dom2>", "seed1.<dom2>", "seed2.<dom2>", "seed3.<dom2>"]
...

Can you share which version of 6 you're migrating to? The stack trace in the original post looks like a bug. For good measure can we take a look at your kibana config? Double checking indentation may help.

Other notes - tribe should work in 6 but is deprecated in favor of cross cluster cluster search, if that's an option.

Index creation issues can be caused by creating the index on the tribe node instead of directly to one of the clusters. Index migrations are probably getting in the way, so we may have to run migrations directly on one of the clusters first and then configure tribe.

Migrating to version 6.8.1.

Instead of tribe need I look into cross-cluster or remote cluster feature, cross right in order to search across both my clusters?

Assume kibana index for version 6 is good to go as is, still got the version 5 index and kibana 5 running against both 6.8.1 ES clusters through a local tribe node on kibana 5 server.

# awk '/^#/ || NF==0{next}{print}' /etc/kibana/kibana.yml
server.port: 1080
server.host: "kibana"
server.basePath: "/perf"
server.rewriteBasePath: false
server.name: "kibana_6"
elasticsearch.hosts: "http://seed2.<dom1>:9200"
kibana.index: "dot-kibana6"
logging.verbose: false
ops.interval: 120000

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