To configure Heartbeat, you edit the configuration file. For rpm and deb,
you’ll find the configuration file at
For mac and win, look in the archive that you just extracted. There’s also a
full example configuration file called
heartbeat.full.yml that shows all
Heartbeat provides monitors to check the status of hosts at set intervals.
You configure each monitor individually. Heartbeat currently provides monitors
for ICMP, TCP, and HTTP (see Overview for more about these
monitors). Here is an example that configures Heartbeat to use an
heartbeat.monitors: - type: icmp schedule: '*/5 * * * * * *' hosts: ["myhost"] output.elasticsearch: hosts: ["myhost:9200"]
To configure Heartbeat:
Specify the list of monitors that you want to enable. Each item in the list begins with a dash (-). The following example configures Heartbeat to use two monitors, an
icmpmonitor and a
icmpmonitor is scheduled to run exactly every 5 seconds (10:00:00, 10:00:05, and so on). The
scheduleoption uses a cron-like syntax based on this
tcpmonitor is set to run every 5 seconds from the time when Heartbeat was started. Heartbeat adds the
@everykeyword to the syntax provided by the
modespecifies whether to ping one IP (
any) or all resolvable IPs (
See Configuration Options (Reference) for a full description of each configuration option.
If you are sending output to Elasticsearch, set the IP address and port where Heartbeat can find the Elasticsearch installation:
output.elasticsearch: hosts: ["192.168.1.42:9200"]
If you are sending output to Logstash, see Configuring Heartbeat to Use Logstash instead.
To test your configuration file, change to the directory where the
Heartbeat binary is installed, and run Heartbeat in the foreground with
the following options specified:
./heartbeat -configtest -e. Make sure
your config files are in the path expected by Heartbeat
(see Directory Layout). If you installed from DEB or RPM packages, run
./heartbeat.sh -configtest -e.