If the VM who installed ELK can access Internet directly , the reporting works well
If the VM who installed ELK can't access Internet or need an account proxy to access Internet, the reporting doesn't work !
Could you please confirm if the reporting fuction needs Internet ? If yes, what does it do to access Internet and which URL it needs to access ? In addition, how to do for the company who use proxy to access Internet ?
The server/VM running Kibana shouldn't require access to the public internet. It does however need access to Kibana itself. The way that Reporting works is that the Kibana server creates an instance of PhantomJS (a headless browser) that opens up Kibana and captures images of the reports.
That's what the Reporting KibanaServer properties are for, it tells the Kibana server the information it needs to use PhantomJS to open up Kibana in the headless browser to capture the images.
So, if you have the server running Kibana firewalled to block outbound traffic to whatever port Kibana is running on, then you will get the Kibana took too long to load error.
The firewall was stopped and I use URL http://IP:5601 to access Kibana so there's no firewall blocked
My VM use bridge mode. With the same configuration, when it's in company network need proxy to access Internet, it doesn't work; When i use home network which can access Internet directly, it works well. Furthermore, if i change the VM to host-only mode with no network environment, it doesn't work either.
There's no output when I do curl http://IP:5601 but the output is shown as below when I added the user and password since it needs authentification after installing x-pack:
With removing all xpack.reporting.kibanaServer settings in kibana.yml, it still doesn't work. The same error Error: Kibana took too long to load - Timeout exceeded (30000)
@Apache_HOU can we try stopping everything besides Kibana and ES, especially anything that is actively indexing documents in Elasticsearch (including metricbeat) to ensure that nothing else is interfering?
@Apache_HOU it ends up that Kibana itself does make a request to the public internet when rendering visualizations to support the Tilemap. There's an underlying issue with the way that this is handled in Kibana that can cause Reporting to timeout because the 'loading' can just stall out - https://github.com/elastic/kibana/issues/10659
@Apache_HOU as a temporary workaround you can set the following in your Kibana.yml that will disable the call to retrieve the Tilemap manifest that is timing out:
It should be noted that this is a temporary work-around, and it might not work long-term as we're essentially hard-coding information that could potentially change at any point in time. I'd recommend only relying upon the above until https://github.com/elastic/kibana/issues/10205 is resolved and upgrading to that version.
I understand well this is a bug but my question is why the reporting function by x-pack will trigger it. Others Kibana features like discover, visualization and daskboard work correctly to me except for reporting function. Compared with other features, what does reporting do more ?
@Apache_HOU Reporting runs a headless browser to create the report, so if your firewall on the Kibana server is configured to drop packets it's triggering the issue. Only Reporting is using the headless browser on the Kibana server.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.