1

Install

  Package managers Apt/Yum users can install from official repositories.

deb (Debian/Ubuntu)

curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-6.0.1-amd64.deb 
sudo dpkg -i heartbeat-6.0.1-amd64.deb

rpm (Redhat/Centos/Fedora)

curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-6.0.1-x86_64.rpm 
sudo rpm -vi heartbeat-6.0.1-x86_64.rpm

macOS

curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-6.0.1-darwin-x86_64.tar.gz 
tar xzvf heartbeat-6.0.1-darwin-x86_64.tar.gz

Windows y

  • Download the Heartbeat Windows zip file from the official downloads page.

  • Extract the contents of the zip file into C:\Program Files.

  • Rename the heartbeat-<version>-windows directory to Heartbeat.

  • Open a PowerShell prompt as an Administrator (right-click the PowerShell icon and select Run As Administrator). If you are running Windows XP, you may need to download and install PowerShell.

  • Run the following commands to install Heartbeat as a Windows service:

    PS > cd 'C:\Program Files\Heartbeat'
    PS C:\Program Files\Heartbeat> .\install-service-heartbeat.ps1`
    
      If script execution is disabled on your system, you need to set the execution policy for the current session to allow the script to run. For example: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-heartbeat.ps1.
  My OS isn't here! Don't see your system? Check out the official downloads page for more options (including 32-bit versions).
2

Locate the configuration file

deb/rpm /etc/heartbeat/heartbeat.yml
mac/win <EXTRACTED_ARCHIVE>/heartbeat.yml

3

Configure the monitors

The following example shows a basic configuration for each of the three different types of monitors, ICMP, TCP, and HTTP.

heartbeat.monitors:
- type: icmp
  schedule: '*/5 * * * * * *'
  hosts: ["myhost"]
- type: tcp
  schedule: '@every 5s'
  hosts: ["myhost:7"]  # default TCP Echo Protocol
  check.send: "Check"
  check.receive: "Check"
- type: http
  schedule: '@every 5s'
  urls: ["http://localhost:80/service/status"]
  check.response.status: 200
heartbeat.scheduler:
  limit: 10
  There's also a full example configuration file called heartbeat.full.yml that shows all the possible options.
4

Configure output

We'll be shipping to Logstash so that we have the option to run filters before the data is indexed.
Comment out the elasticsearch output block.

## Comment out elasticsearch output
#output.elasticsearch:
#  hosts: ["localhost:9200"]

Uncomment and change the logstash output to match below.

output.logstash:
    hosts: ["your-logstash-host:your-port"]
    loadbalance: true
    ssl.enabled: true
5

Validate configuration

Let's check the configuration file is syntactically correct.

deb/rpm

heartbeat -e -c /etc/heartbeat/heartbeat.yml

mac/win
Ran from the extracted archive dir

heartbeat -e -c heartbeat.yml
6

Start heartbeat

Ok, time to start ingesting data!

deb

$ sudo service heartbeat start

win

PS C:\Program Files\heartbeat> Start-Service heartbeat