Step 4: Set up the Kibana dashboardsedit

Heartbeat comes packaged with example Kibana dashboards, visualizations, and searches for visualizing Heartbeat data in Kibana. Before you can use the dashboards, you need to create the index pattern, heartbeat-*, and load the dashboards into Kibana. To do this, you can either run the setup command (as described here) or configure dashboard loading in the heartbeat.yml config file.

This requires a Kibana endpoint configuration. If you didn’t already configure a Kibana endpoint, see configured Heartbeat

Make sure Kibana is running before you perform this step. If you are accessing a secured Kibana instance, make sure you’ve configured credentials as described in Step 2: Configure Heartbeat.

To set up the Kibana dashboards for Heartbeat, use the appropriate command for your system. The command shown here loads the dashboards from the Heartbeat package. For more options, such as loading customized dashboards, see Importing Existing Beat Dashboards in the Beats Developer Guide. If you’ve configured the Logstash output, see Set up dashboards for Logstash output.

deb and rpm:

heartbeat setup --dashboards

mac:

./heartbeat setup --dashboards

docker:

docker run docker.elastic.co/beats/heartbeat:6.3.1 setup --dashboards

win:

Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator).

From the PowerShell prompt, change to the directory where you installed Heartbeat, and run:

PS > heartbeat setup --dashboards

Set up dashboards for Logstash outputedit

During dashboard loading, Heartbeat connects to Elasticsearch to check version information. To load dashboards when the Logstash output is enabled, you need to temporarily disable the Logstash output and enable Elasticsearch. To connect to a secured Elasticsearch cluster, you also need to pass Elasticsearch credentials.

Tip

The example shows a hard-coded password, but you should store sensitive values in the secrets keystore.

deb and rpm:

heartbeat setup -e \
  -E output.logstash.enabled=false \
  -E output.elasticsearch.hosts=['localhost:9200'] \
  -E output.elasticsearch.username=heartbeat_internal \
  -E output.elasticsearch.password=YOUR_PASSWORD \
  -E setup.kibana.host=localhost:5601

mac:

./heartbeat setup -e \
  -E output.logstash.enabled=false \
  -E output.elasticsearch.hosts=['localhost:9200'] \
  -E output.elasticsearch.username=heartbeat_internal \
  -E output.elasticsearch.password=YOUR_PASSWORD \
  -E setup.kibana.host=localhost:5601

docker:

docker run docker.elastic.co/beats/heartbeat:6.3.1 setup -e \
  -E output.logstash.enabled=false \
  -E output.elasticsearch.hosts=['localhost:9200'] \
  -E output.elasticsearch.username=heartbeat_internal \
  -E output.elasticsearch.password=YOUR_PASSWORD \
  -E setup.kibana.host=localhost:5601

win:

Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator).

From the PowerShell prompt, change to the directory where you installed Heartbeat, and run:

PS > .\heartbeat.exe setup -e `
  -E output.logstash.enabled=false `
  -E output.elasticsearch.hosts=['localhost:9200'] `
  -E output.elasticsearch.username=heartbeat_internal `
  -E output.elasticsearch.password=YOUR_PASSWORD `
  -E setup.kibana.host=localhost:5601