Reporting: Error 404 and Kibana unable to connect

Hi,

So I am running a set up using Elasticsearch and Kibana in a VM.

I need to use reporting with Kibana, but on installation I get "Reporting: Error 404 Nout Found:undefined".
Upon rebooting the VM, I am not able to connect to Kibana and get "Unable to Connect" in the browser.

The generation URL gives: {"statusCode":404,"error":"Not Found"}

Upon uninstalling reporting, Kibana then seems to load.

I am using:
Kibana version 4.6.4
Elastic search version 2.4.4 (with license installed)

Any ideas?

Thanks.

sounds like your Kibana might be mis-confiwgured or not actually pointing to elasticsearch. . If you have a license you could go to support for help for quicker results but they will probably ask the same thing.

How is kibana configured?

Hi, thanks for the response.

I have Kibana pointed to the correct elasticsearch index and events come through into Kibana just fine.

I have also successfully been able to install other plugins to use, however reporting is giving me this odd issue.

So I am not sure what else in terms of configuration could be incorrect in Kibana.

If you could point me in the right direction to find the problem, it would be much appreciated.

I mean without seeing your configuration, can't real say. Sounds like you set the prefix url but can't say.

Hi, my Kibana configuration according to my YAML file is as follows:

# Kibana is served by a back end server. This controls which port to use.
# server.port: 5601

# The host to bind the server to.
# server.host: "0.0.0.0"

# If you are running kibana behind a proxy, and want to mount it at a path,
# specify that path here. The basePath can't end in a slash.
# server.basePath: ""

# The maximum payload size in bytes on incoming server requests.
# server.maxPayloadBytes: 1048576

# The Elasticsearch instance to use for all your queries.
# elasticsearch.url: "http://localhost:9200"

# preserve_elasticsearch_host true will send the hostname specified in `elasticsearch`. If you set it to false,
# then the host you use to connect to *this* Kibana instance will be sent.
# elasticsearch.preserveHost: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations
# and dashboards. It will create a new index if it doesn't already exist.
# kibana.index: ".kibana"

# The default application to load.
# kibana.defaultAppId: "discover"

# If your Elasticsearch is protected with basic auth, these are the user credentials
# used by the Kibana server to perform maintenance on the kibana_index at startup. Your Kibana
# users will still need to authenticate with Elasticsearch (which is proxied through
# the Kibana server)
# elasticsearch.username: "user"
# elasticsearch.password: "pass"

# SSL for outgoing requests from the Kibana Server to the browser (PEM formatted)
# server.ssl.cert: /path/to/your/server.crt
# server.ssl.key: /path/to/your/server.key

# Optional setting to validate that your Elasticsearch backend uses the same key files (PEM formatted)
# elasticsearch.ssl.cert: /path/to/your/client.crt
# elasticsearch.ssl.key: /path/to/your/client.key

# If you need to provide a CA certificate for your Elasticsearch instance, put
# the path of the pem file here.
# elasticsearch.ssl.ca: /path/to/your/CA.pem

# Set to false to have a complete disregard for the validity of the SSL
# certificate.
# elasticsearch.ssl.verify: true

# Time in milliseconds to wait for elasticsearch to respond to pings, defaults to
# request_timeout setting
# elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or elasticsearch.
# This must be > 0
# elasticsearch.requestTimeout: 30000

# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers.
# elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards.
# Set to 0 to disable.
# elasticsearch.shardTimeout: 0

# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying
# elasticsearch.startupTimeout: 5000

# Set the path to where you would like the process id file to be created.
# pid.file: /var/run/kibana.pid

# If you would like to send the log output to a file you can set the path below.
# logging.dest: stdout

# Set this to true to suppress all logging output.
# logging.silent: false

# Set this to true to suppress all logging output except for error messages.
# logging.quiet: false

# Set this to true to log all events, including system usage information and all requests.
# logging.verbose: false

Kibana and Elasticsearch are both running in the same VM (Centos 7 x64).

I am able to access Elasticsearch in the VM via the browser just fine. It is just that after I install Kibana reporting I can no longer connect to KIbana.

Appreciate your help. Thanks.

I would have bet it was going to be this setting. As last created this same error a week ago.

I would say something did not install correctly for you, double check your file ownerships and look at the log file to see if you have startup errors.

Thank you so much for your response once again!

I am a real nooby here, and did not set up the environment myself.

What is the significance of server.basePath and what should it be set to?

File permissions seem to be correct (when compared to the other plugins installed), and in the console of the browser I can see consecutive calls being made to:

https://VM-IP:5601/api/reporting/jobs/list_completed_since?since=2017-....

And the response for these are 404 not found.

Well since you did not set the basePath don't worry about it to much it lets you Pre-Pend to the URL like if you were using Apache in-front of your kibana and wanted to forward the request back to Kibana Node App

Look in the Kibana logs , try to stop the instance, clear the logs and start it. See if there are any warning/error messages

Also, you talk about installing plugin's maybe your missing one?

I seem to just be getting this log here when trying to generate a report:

Mar 28 18:01:26 localhost.localdomain kibana[644]: {"type":"response","@timestamp":"2017-03-28T17:01:26Z","tags":[],"pid":644,"method":"get","statusCode":404,"req":{"url":"/api/reporting/jobs/list_completed_since?since=2017-03-26T3%3A17%3A01.423Z","method":"get","headers":{"host":"192.168.24.138:5601","user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0","accept":"application/json, text/plain, */*","accept-language":"en-GB,en;q=0.5","accept-encoding":"gzip, defalte","kbn-system-api":"true","kbn-version":"4.6.4","referer":"http://192.168.24.138:5601/app/kibana","connection":"keep-alive"},"remoteAddress":"192.168.24.1","userAgent":192.168.24.1","referer":"http://192.168.24.138:5601/app/kibana"},"res":{"statusCode":404,"responseTime":8,"contentLength":9},"message":"GET /api/reporting/jobs/list_completed_since?since=2017-03-26T3%3A17%3A01.423Z 404 8ms - 9.0B"}

which doesn't seem to give away any more information. :frowning:

The corresponding license has been installed for elasticsearch, so according to the docs the reporting tar.gz file is all that needs to be installed.

Sorry , I don't use the reporting plugin, but seems the reporting module is not installed. Maybe the license you installed is expired?

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