Kibana Fails due to Depreciation Warning

I have installed kibana following the elastic guide and configured it to point to my two elastic node via elasticsearch.hosts: ["https://xx.xx.xx.xx:9200","https://xx.xx.xx.xx:9200"]. The only other settings i've changed are the server.host variable to the IP of the host and the elastic username and password to the kibana_system user.

However when starting i get this error, but unsure how to fix it:
Feb 16 10:48:14 kibana[29468]: DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version. Feb 16 10:48:14 kibana[29468]: at Object.connect (_tls_wrap.js:1619:15) Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createConnection (https.js:129:22) Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createSocket (/usr/share/kibana/node_modules/agentkeepalive/lib/_http_agent.js:26 5:26) Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createSocket (/usr/share/kibana/node_modules/agentkeepalive/lib/agent.js:77:11) Feb 16 10:48:14 kibana[29468]: at HttpsAgent.addRequest (/usr/share/kibana/node_modules/agentkeepalive/lib/_http_agent.js:239: 10) Feb 16 10:48:14 kibana[29468]: at new ClientRequest (_http_client.js:306:16) Feb 16 10:48:14 kibana[29468]: at Object.request (https.js:313:10) Feb 16 10:48:14 kibana[29468]: at Object.request (/usr/share/kibana/node_modules/agent-base/patch-core.js:25:22) Feb 16 10:48:14 kibana[29468]: at HttpConnector.request (/usr/share/kibana/node_modules/elasticsearch/src/lib/connectors/http. js:182:23) Feb 16 10:48:14 kibana[29468]: at sendReqWithConnection (/usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:263 :35) Feb 16 10:48:14 kibana[29468]: at Object.utils.applyArgs (/usr/share/kibana/node_modules/elasticsearch/src/lib/utils.js:188:19 ) Feb 16 10:48:14 kibana[29468]: at wrapper (/usr/share/kibana/node_modules/lodash/lodash.js:5213:19) Feb 16 10:48:14 kibana[29468]: at processTicksAndRejections (internal/process/task_queues.js:75:11) Feb 16 10:48:14 kibana[29468]: at runNextTicks (internal/process/task_queues.js:62:3) Feb 16 10:48:14 kibana[29468]: at processTimers (internal/timers.js:494:9) Feb 16 10:48:14 kibana[29468]: Terminating process... Feb 16 10:48:14 systemd[1]: kibana.service: Main process exited, code=exited, status=1/FAILURE Feb 16 10:48:14 systemd[1]: kibana.service: Failed with result 'exit-code'. Feb 16 10:48:17 systemd[1]: kibana.service: Service hold-off time over, scheduling restart. Feb 16 10:48:17 systemd[1]: kibana.service: Scheduled restart job, restart counter is at 3. Feb 16 10:48:17 systemd[1]: Stopped Kibana. Feb 16 10:48:17 systemd[1]: kibana.service: Start request repeated too quickly. Feb 16 10:48:17 systemd[1]: kibana.service: Failed with result 'exit-code'. Feb 16 10:48:17 systemd[1]: Failed to start Kibana.

As a potential workaround this could work:
NODE_OPTIONS="--no-warnings" yarn start --run-examples

cc @jportner / @Larry_Gregory any inputs here?

That example is for running Kibana from source. It's close, but I don't think it will work without an export (read more below).

@Gosborne I reformatted the logs that you provided:

Feb 16 10:48:14 kibana[29468]: DeprecationWarning: Setting the TLS ServerName to an IP address is not permitted by RFC 6066. This will be ignored in a future version.
Feb 16 10:48:14 kibana[29468]: at Object.connect (_tls_wrap.js:1619:15)
Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createConnection (https.js:129:22)
Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createSocket (/usr/share/kibana/node_modules/agentkeepalive/lib/_http_agent.js:26 5:26)
Feb 16 10:48:14 kibana[29468]: at HttpsAgent.createSocket (/usr/share/kibana/node_modules/agentkeepalive/lib/agent.js:77:11)
Feb 16 10:48:14 kibana[29468]: at HttpsAgent.addRequest (/usr/share/kibana/node_modules/agentkeepalive/lib/_http_agent.js:239: 10)
Feb 16 10:48:14 kibana[29468]: at new ClientRequest (_http_client.js:306:16)
Feb 16 10:48:14 kibana[29468]: at Object.request (https.js:313:10)
Feb 16 10:48:14 kibana[29468]: at Object.request (/usr/share/kibana/node_modules/agent-base/patch-core.js:25:22)
Feb 16 10:48:14 kibana[29468]: at HttpConnector.request (/usr/share/kibana/node_modules/elasticsearch/src/lib/connectors/http. js:182:23)
Feb 16 10:48:14 kibana[29468]: at sendReqWithConnection (/usr/share/kibana/node_modules/elasticsearch/src/lib/transport.js:263 :35)
Feb 16 10:48:14 kibana[29468]: at Object.utils.applyArgs (/usr/share/kibana/node_modules/elasticsearch/src/lib/utils.js:188:19 )
Feb 16 10:48:14 kibana[29468]: at wrapper (/usr/share/kibana/node_modules/lodash/lodash.js:5213:19)
Feb 16 10:48:14 kibana[29468]: at processTicksAndRejections (internal/process/task_queues.js:75:11)
Feb 16 10:48:14 kibana[29468]: at runNextTicks (internal/process/task_queues.js:62:3)
Feb 16 10:48:14 kibana[29468]: at processTimers (internal/timers.js:494:9)
Feb 16 10:48:14 kibana[29468]: Terminating process...
Feb 16 10:48:14 systemd[1]: kibana.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 10:48:14 systemd[1]: kibana.service: Failed with result 'exit-code'.
Feb 16 10:48:17 systemd[1]: kibana.service: Service hold-off time over, scheduling restart.
Feb 16 10:48:17 systemd[1]: kibana.service: Scheduled restart job, restart counter is at 3.
Feb 16 10:48:17 systemd[1]: Stopped Kibana.
Feb 16 10:48:17 systemd[1]: kibana.service: Start request repeated too quickly.
Feb 16 10:48:17 systemd[1]: kibana.service: Failed with result 'exit-code'.
Feb 16 10:48:17 systemd[1]: Failed to start Kibana.

This looks fairly straightforward. Starting in Node 12+ (which we upgraded Kibana to use in the Kibana 7.11 release), Node will emit this warning when you try to establish a TLS connection using an IP address. You should use a hostname or a fully-qualified domain name (FQDN) instead. But this isn't something you'll have to worry about in production for a long time.

As to why this is causing a start failure: are you running Kibana from source? If you are doing so and running it in dev mode (not recommended for production), it is configured throw an error when encountering a Node deprecation warning.

I recommend using the default distribution of Kibana which you can download here, but if you need to get this working in dev mode for some reason, you can use this command to run Kibana from source:

export NODE_OPTIONS="--no-warnings" && yarn start

The export directive is needed to make this environment variable available to the Node process when running it with yarn start.

1 Like