Kibana reporting, Cannot read property 'payload' of undefined

Hi All,

I have some issues generating a report. The GUI reports the following error:

There was an error generating your report for the "imp_actions" visualization: HeadlessError: Phantom Process died

Having turned on verbose logging I noticed the below error in the logs.

{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijr0gls3ed9ed53g62j - querying for outstanding jobs"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - querying for outstanding jobs"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijr0gls3ed9ed53g62j - 0 outstanding jobs returned"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - 1 outstanding jobs returned"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - Claimed job undefined"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - Starting job undefined"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - Failure occurred on job undefined: TypeError: Cannot read property 'payload' of undefined\n    at Promise (/usr/share/kibana/plugins/x-pack/plugins/reporting/server/lib/esqueue/worker.js:197:48)\n    at Worker._performJob (/usr/share/kibana/plugins/x-pack/plugins/reporting/server/lib/esqueue/worker.js:193:26)\n    at jobs.reduce.then.claimedJob (/usr/share/kibana/plugins/x-pack/plugins/reporting/server/lib/esqueue/worker.js:326:21)"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","worker","debug"],"pid":21520,"message":"PDF: Worker error: (undefined)"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - Failing job undefined"}
{"type":"log","@timestamp":"2018-05-30T07:45:53Z","tags":["reporting","esqueue","worker","debug"],"pid":21520,"message":"jhsstijz0gls3ed9ed580v7g - _failJob failed to update job undefined: TypeError: Unable to build a path with those params. Supply at least index, type, id\n    at exec (/usr/share/kibana/node_modules/elasticsearch/src/lib/client_action.js:301:11)\n    at Object.action (/usr/share/kibana/node_modules/elasticsearch/src/lib/client_action.js:61:16)\n    at Worker._failJob (/usr/share/kibana/plugins/x-pack/plugins/reporting/server/lib/esqueue/worker.js:157:24)\n    at workerOutput.then.e (/usr/share/kibana/plugins/x-pack/plugins/reporting/server/lib/esqueue/worker.js:277:19)"}
{"type":"log","@timestamp":"2018-05-30T07:45:54Z","tags":["plugin","debug"],"pid":21520,"message":"Checking Elasticsearch version"}

My kibana.yml looks like this:

server.host: "0.0.0.0"
server.maxPayloadBytes: 1048576
server.name: "logweb.tb.ukmail.iss.local"
elasticsearch.url: "http://10.80.3.7:9200"
kibana.index: .kibana
elasticsearch.pingTimeout: 2500
elasticsearch.requestTimeout: 60000
elasticsearch.shardTimeout: 0
elasticsearch.startupTimeout: 5000
logging.dest: /var/log/kibana/kibana.log
logging.verbose: true
xpack.monitoring.elasticsearch.url: 'http://10.80.3.80:9200'
xpack.reporting.encryptionKey: nQPdxkCTVTZ4Os0ihhOaGwGXqavih4N7
xpack.reporting.kibanaServer.hostname: logweb.tb.ukmail.iss.local
xpack.reporting.queue.timeout: 60000
xpack.reporting.kibanaServer.protocol: http

Hey @pjanzen, which version of Kibana are you running? Have you had reports generate successfully before and this just started occurring, or has reporting always error'ed out?

Hi,

I am using openjdk version "1.8.0_111" and kibana (and relevant plugins) 6.2.4, I got reporting working in the end. For that I did a couple of things.

  1. I added QT_QPA_PLATFORM=phantom to /etc/default/kibana. (not sure of that is needed or not)
  2. As I have multitenant system where I have 4 kibana hosts pointing to the same ES cluster I pointed xpack.reporting.kibanaServer.hostname all to the same kibana instance. This is not ideal of course but I have not found a way around this.

From there is started working.

Interesting... I haven't heard of users having to set QT_QPA_PLATFORM=phantom

In your multi-tenant scenario, are you running 4 instances of Kibana against different .kibana indices so they have their own dashboard/visualiations/etc. If that's the case, I'd recommend setting xpack.reporting.index to a different value for each instance of Kibana.

If you're running multiple instances of Kibana against the same .kibana index in a high availability deployment, I'd suggest configuring a load-balancer/reverse-proxy and using the https://www.elastic.co/guide/en/kibana/current/reporting-settings-kb.html#reporting-kibana-server-settings to have Reporting hit the load balancer.

In regard of QT_QPA_PLATFORM=phantom I had the same error as in this thread. Playing with phantomjs on the CLI gave me a error and that I had to set that. So I tought, what if kibana has a similar problem under the hood and I added that. This cleared up the headless error. From there I played with the urls.

I will create for each kibana pair a xpack.reporting.index and remove the setting from /etc/default/kibana and see what happens..

Thanks for the advice.

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