Unable to load Heartbeat dashboards for kibana

I am trying to load Heartbeat dashboards using the following configuration in heartbeat.yml

setup.dashboards.enabled: true

however i faced the following error

D:\gaffar\MonitoringTool\heartbeat-6.0.0-windows-x86_64>heartbeat -e -c heartbeat.yml -d "publish"

2017/12/04 12:56:25.715000 beat.go:426: INFO Home path: [D:\gaffar\MonitoringTool\heartbeat-6.0.0-wi
ndows-x86_64] Config path: [D:\gaffar\MonitoringTool\heartbeat-6.0.0-windows-x86_64] Data path: [D:
gaffar\MonitoringTool\heartbeat-6.0.0-windows-x86_64\data] Logs path: [D:\gaffar\MonitoringTool\hear
2017/12/04 12:56:25.715000 metrics.go:23: INFO Metrics logging every 30s
2017/12/04 12:56:25.716000 beat.go:433: INFO Beat UUID: f6567507-6ecc-4785-ac90-2b15f1a912f6
2017/12/04 12:56:25.716000 beat.go:192: INFO Setup Beat: heartbeat; Version: 6.0.0
2017/12/04 12:56:25.717000 logger.go:18: DBG start pipeline event consumer
2017/12/04 12:56:25.717000 module.go:80: INFO Beat name: INFPU07056
2017/12/04 12:56:25.717000 heartbeat.go:24: WARN Beta: Heartbeat is beta software
2017/12/04 12:56:25.717000 manager.go:110: INFO Select (active) monitor http
2017/12/04 12:56:25.718000 beat.go:625: CRIT Exiting: Error importing Kibana dashboards: fail to cre
ate the Elasticsearch loader: Elasticsearch output is not configured/enabled
Exiting: Error importing Kibana dashboards: fail to create the Elasticsearch loader: Elasticsearch o
utput is not configured/enabled

Can you also share your heartbeat configuration?

please have a look at the configuration and let me know if any changes are required


schedule: "@every 10s"
type: http
  - "http://localhost:8080"

- "localhost:5044"
setup.dashboards.enabled: true

Also the heartbeat's data is moved to logstash before going to elasticsearch

Dashboard loading currently does not work via logstash.

Which elasticsearch version are you using? Due to a bug in 6.0 it's best to configure elasticsearch and kibana for the time of loading the dashboads. By running the heartbeat setup command, no events will be published and heartbeat quits after installing the dashboards and template mappings. See help message:

 ./heartbeat help setup
This command does initial setup of the environment:

 * Index mapping template in Elasticsearch to ensure fields are mapped.
 * Kibana dashboards (where available).
 * ML jobs (where available).

  heartbeat setup [flags]

      --dashboards         Setup dashboards only
  -h, --help               help for setup
      --machine-learning   Setup machine learning job configurations only
      --template           Setup index template only

Global Flags:
  -E, --E setting=value      Configuration overwrite
  -c, --c string             Configuration file, relative to path.config (default "heartbeat.yml")
  -d, --d string             Enable certain debug selectors
  -e, --e                    Log to stderr and disable syslog/file output
      --path.config string   Configuration path
      --path.data string     Data path
      --path.home string     Home path
      --path.logs string     Logs path
      --strict.perms         Strict permission checking on config files (default true)
  -v, --v                    Log at INFO level

You can run it like this:

heartbeat setup -E output.logstash.enabled=false -E 'output.elasticsearch={hosts: "http://es_home:9200", ... }' -e -v -c heartbeat.yml

Considering you might run this command at other times, or you might have passwords for ES/kibana you need to pass, create a second setup.yml file stating:

output.logstash.enabled=false # disable logstash


  kibana: # kibana settings


Then you can run:

heartbeat setup -e -v -c heartbeat.yml -c setup.yml

I understand it's not very user friendly for logstash users. But we hope to find a better solution for loading dashboards via Logstash in the future.

Thanks steffens. This is a good exaplaination. However by just disabling logstash while loading dashboards also works as mentioned.

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