Kibana 7.5.0 error when starting in Docker/Kubernetes

I'm attempting to deploy the Elastic Stack (v7.5.0) to Kubernetes, via the helm charts provided by Elastic. Elasticsearch and Logstash appear to come up correctly. Kibana also initially appears to come up correctly, but shortly after it gives the optimizing message (below), it crashes with the attached error in the logs.

One item I found indicated that it might be a permissions error, but running Kibana as root user didn't change the outcome, and when I look inside the image, it appears that everything is owned by user 1000.

{"type":"log","@timestamp":"2019-12-13T15:25:55Z","tags":["info","plugins","translations"],"pid":8,"message":"Setting up plugin"}
{"type":"log","@timestamp":"2019-12-13T15:25:55Z","tags":["info","plugins","data"],"pid":8,"message":"Setting up plugin"}
{"type":"log","@timestamp":"2019-12-13T15:25:55Z","tags":["info","plugins-system"],"pid":8,"message":"Starting [3] plugins: [security,translations,data]"}
{"type":"log","@timestamp":"2019-12-13T15:26:22Z","tags":["info","optimize"],"pid":8,"message":"Optimizing and caching bundles for graph, monitoring, space_selector, login, overwritten_session, logout, logged_out, ml, dashboardViewer, apm, code, maps, canvas, infra, siem, uptime, elastalert-kibana-plugin, kibana, stateSessionStorageRedirect, status_page and timelion. This may take a few minutes"}
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: read ECONNRESET
    at Pipe.onStreamRead (internal/stream_base_commons.js:111:27)
Emitted 'error' event at:
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

I haven't been able to find much regarding this error.

Update

On doing a little digging, I'm also, at least occasionally, seeing the following error right before the crash:

{ [Error: ENOBUFS: no buffer space available, write] errno: -105, code: 'ENOBUFS', syscall: 'write' }

Today while debugging, I got the following in the log:

Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`
Browserslist: caniuse-lite is outdated. Please run next command `npm update`

This would seem to mesh with my research, which indicates that the error I'm getting is a Node.js issue. However, I'm not able to locate the npm executable on the image. Is it installed?

After further searching, I found this answer to another question, which recommended increasing container memory.

Initially I tested increased memory limits for Kibana when I started troubleshooting this issue. However, I only increased resources.limits.memory, not resources.requests.memory. Once I increased both, Kibana started up as expected. See the following settings:

resources:
  requests:
    cpu: "100m"
    memory: "1Gi"
  limits:
    cpu: "1000m"
    memory: "4Gi"

I suspect I may have increased the resources.limits.memory by more than needed, but I'll continue adjusting it to see where it needs to be.

1 Like

:+1: :+1:

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