Elastic Heartbeat Configuration
Monitor the status of hosts at set intervals using ICMP, TCP, and HTTP.
Heartbeat is a lightweight shipping agent used to monitor the health of services running on the host. The results can then be shipped to one or more destinations, including Logstash.
Follow this step by step guide to get 'logs' from your system to Logit.io:
Step 2 - Locate the configuration file
deb/rpm /etc/heartbeat/heartbeat.yml
mac/win <EXTRACTED_ARCHIVE>/heartbeat.yml
Step 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
Step 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"]
Step 5 - Validate configuration
If you have issues starting in the next step, you can use these commands below to troubleshoot.
Let's check the configuration file is syntactically correct by running directly inside the terminal.
If the file is invalid, will print an error loading config file
error message with details on how to correct the problem.
deb/rpm
sudo -e -c /etc//.yml
macOS
cd <EXTRACTED_ARCHIVE>
sudo ./ -e -c .yml
Windows
cd <EXTRACTED_ARCHIVE>
.\.exe -e -c .yml
Step 6 - Start heartbeat
Ok, time to start ingesting data!
deb/rpm
sudo systemctl enable heartbeat
sudo systemctl start heartbeat
mac
./heartbeat
Windows
Start-Service heartbeat
Step 7 - Check Logit.io for your logs
Now you should view your data:
If you don't see logs take a look at How to diagnose no data in Stack below for how to diagnose common issues.
Step 8 - how to diagnose no data in Stack
If you don't see data appearing in your Stack after following the steps, visit the Help Centre guide for steps to diagnose no data appearing in your Stack or Chat to support now.
Step 9 - Heartbeat Logging Overview
Heartbeat is a lightweight shipping agent created by Elastic as part of their Beats group of log shippers. Compared to other tools in the Beats family, such as Metricbeat & Winlogbeat, Heartbeat is a relatively new addition to the Elastic Stack.
Heartbeat is the only member of the Beats family that Elastic recommends you to install on a separate network/machine to the one you are currently wishing to monitor.
Heartbeat was created to allow observability of the health of services running on the host (this includes uptime monitoring functionality as standard). These results can then be shipped to one or more destinations, including Logstash.
Heartbeat supports HTTP, ICMP and TCP protocols for monitoring service availability.
If you need to keep a close eye on uptime for the purposes of complying with your company’s service level agreement (SLA) then you’ll find that Heartbeat is integral for monitoring these instances based on the URLs & metrics you supply to the application, prior to indexing. This feedback can be triggered based on the custom schedule you select during configuration.
If you need any further assistance with migrating your Heartbeat data to Logstash we're here to help you get started. Feel free to reach out by contacting our support team by visiting our dedicated Help Centre or via live chat & we'll be happy to assist.