# Install heartbeat with Homebrew, apt, Nix, winget

Lightweight Shipper for Uptime Monitoring. Version 9.4.3 via Homebrew; verified 2026-06-30.

## Install

```sh
sudo av install brew:heartbeat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install heartbeat
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install heartbeat
```

  Evidence: Debian stable package indexes: heartbeat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#heartbeat
```

  Evidence: nixpkgs package indexes: heartbeat from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

### Windows

- winget (92%):

```sh
winget install --id HeartbeatChat.Heartbeat -e
```

  Evidence: Windows Package Manager source index: HeartbeatChat.Heartbeat from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:heartbeat
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/heartbeat>
- **Version:** 9.4.3
- **Source summary:** Lightweight Shipper for Uptime Monitoring
- **Homepage:** <https://www.elastic.co/beats/heartbeat>
- **Repository:** <https://github.com/elastic/beats>
- **Upstream docs:** <https://www.elastic.co/docs/reference/beats/heartbeat>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/elastic/beats.git>
- **Last updated:** 2026-06-30T18:21:50Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- heartbeat (cli)
- heartbeat (alias)

## Build dependencies

- go
- mage

## Install behavior

- Post-install hook: not defined
- Service: declared
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 9.4.3
- Package-manager updated: 2026-06-30
- Local data: ok
- Upstream repository: https://github.com/elastic/beats
- info: No cached GitHub release or tag data was available.
## Project history and usage

Elastic Heartbeat is a lightweight Beat for uptime monitoring. It runs active probes against HTTP, TCP, and ICMP targets and ships availability and response-time events into the Elastic Stack.

### Project history

Heartbeat belongs to Elastic Beats, a family of lightweight Go data shippers for Elasticsearch and Logstash. The Beats repository was created in 2014, and Heartbeat later joined Filebeat, Metricbeat, Packetbeat, Winlogbeat, and related Beats as the service-availability member of that family.

Elastic's November 2018 announcement says Heartbeat was introduced in beta in January 2017 and reached general availability with Elastic Stack 6.5. The same post presents Heartbeat as a lightweight shipper designed for uptime monitoring, configured by a list of URLs or endpoints to check and report to Elasticsearch.

The Heartbeat reference describes the core model: install a lightweight daemon on a remote server, define monitors, schedule checks, and send events about whether services are reachable. Over time, Heartbeat became tied to Kibana's Uptime experience and later to Elastic's broader observability and synthetic-monitoring story.

### Adoption history

Heartbeat adoption followed Elastic Stack operators who wanted uptime data in the same Elasticsearch and Kibana environment as logs, metrics, packet data, and APM traces. The launch article emphasizes combining Heartbeat with Metricbeat, Filebeat, and APM to triage outages from one operational data store.

The official product page positions Heartbeat for testing services from inside or outside a network, pinging ICMP, TCP, and HTTP targets, using TLS, authentication, proxies, and dynamically loaded monitor definitions. That made it useful for infrastructure teams already standardized on Elastic ingestion and dashboards.

Elastic later moved many ingestion workflows toward Elastic Agent and Synthetic Monitoring, but the traditional Heartbeat binary and heartbeat.yml workflow remain documented for lightweight TCP, HTTP, and ICMP monitors configured by operators.

### How it is used

Operators configure `heartbeat.yml` with monitor entries, each declaring a type such as icmp, tcp, or http, a set of hosts or URLs, and a schedule. Heartbeat periodically probes each target and sends events to Elasticsearch or another configured output.

Common workflows include checking whether a website returns an expected status code or body, verifying that a TCP service accepts a connection or payload exchange, confirming host reachability by ICMP, loading dashboards, and alerting on availability or latency changes in Kibana.

The command-line package also includes setup and test commands shared by Beats, plus keystore support for secrets. The batch's curated config and credentials paths reflect Elastic's documented directory layout conventions for heartbeat.yml and heartbeat.keystore.

### Why package nerds care

Heartbeat is package-significant because it is an observability agent: admins expect it to install cleanly, run as a service, read config from predictable paths, and keep secrets in a keystore. Those operational details are as important as the executable itself.

In package-manager terms, it is also part of the Elastic Beats era, when small single-purpose shippers were packaged independently. Installing only Heartbeat gave an operator uptime probes without deploying the whole Elastic Agent stack or writing custom monitoring scripts.

### Timeline

- 2014-02: Elastic Beats repository created.
- 2017-01: Heartbeat introduced in beta according to Elastic's GA announcement.
- 2018-11: Elastic Stack 6.5 announced Heartbeat general availability.
- 2018-11: Elastic Uptime solution launched based on Heartbeat.
- 2019: Beats changelog entries show Heartbeat-specific uptime and SSL metadata fixes in the 6.8 series.
- 2021: Beats changelog entries show Heartbeat synthetics and browser-monitoring work in the 7.x series.
- 2024: Elastic docs preserve the Heartbeat reference alongside migration guidance to Elastic Agent.

### Related projects

- Filebeat, Metricbeat, Packetbeat, Winlogbeat, Auditbeat, and Functionbeat are sibling Beats in the Elastic repository.
- Elasticsearch stores Heartbeat events, while Kibana provides dashboards, Uptime views, alerting, and visualization.
- Logstash can be used as an output path between Beats and Elasticsearch.
- Elastic Agent and Synthetic Monitoring are related successors or broader deployment models for many use cases.
- Metricbeat and APM are often combined with Heartbeat data during outage triage.

### Sources

- <https://api.github.com/repos/elastic/beats>
- <https://github.com/elastic/beats>
- <https://raw.githubusercontent.com/elastic/beats/master/CHANGELOG.asciidoc>
- <https://raw.githubusercontent.com/elastic/beats/master/heartbeat/README.md>
- <https://raw.githubusercontent.com/elastic/beats/master/heartbeat/docs/overview.asciidoc>
- <https://www.elastic.co/beats/heartbeat>
- <https://www.elastic.co/blog/elastic-uptime-monitoring-solution-released>
- <https://www.elastic.co/blog/uptime-monitoring-with-heartbeat-and-the-elastic-stack>
- <https://www.elastic.co/docs/reference/beats/heartbeat>
- <https://www.elastic.co/docs/reference/beats/heartbeat/configuration-heartbeat-options>
- <https://www.elastic.co/docs/reference/beats/heartbeat/configuring-howto-heartbeat>


## Security Notes

formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- formula declares a Homebrew service


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Linux: /etc/heartbeat/heartbeat.yml
- Unix: {path.config}/heartbeat.yml, {path.home}/heartbeat.yml, {extract.path}/heartbeat.yml

## Credential files

- Linux: /var/lib/heartbeat/heartbeat.keystore
- Unix: {path.data}/heartbeat.keystore
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** heartbeat
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - heartbeat - 1:3.0.6-17: normalized package name match | Debian stable package indexes: heartbeat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Subsystem for High-Availability Linux | http://www.linux-ha.org/
- Debian apt - heartbeat-dev - 1:3.0.6-17: normalized package name match | Debian stable package indexes: heartbeat-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Subsystem for High-Availability Linux - development files | http://www.linux-ha.org/
- Debian apt - libheartbeat2-dev - 1:3.0.6-17: normalized package name match | Debian stable package indexes: libheartbeat2-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Subsystem for High-Availability Linux (development files) | http://www.linux-ha.org/
- Debian apt - libheartbeat2t64 - 1:3.0.6-17: normalized package name match | Debian stable package indexes: libheartbeat2t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Subsystem for High-Availability Linux (libraries) | http://www.linux-ha.org/
- Nix - heartbeat: normalized package name match | nixpkgs package indexes: heartbeat from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - heartbeat - 1:3.0.6-14.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: heartbeat from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Subsystem for High-Availability Linux | http://www.linux-ha.org/
- Ubuntu apt - heartbeat-dev - 1:3.0.6-14.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: heartbeat-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Subsystem for High-Availability Linux - development files | http://www.linux-ha.org/
- Ubuntu apt - libheartbeat2-dev - 1:3.0.6-14.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libheartbeat2-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Subsystem for High-Availability Linux (development files) | http://www.linux-ha.org/
- Ubuntu apt - libheartbeat2t64 - 1:3.0.6-14.1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libheartbeat2t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Subsystem for High-Availability Linux (libraries) | http://www.linux-ha.org/
- winget - HeartbeatChat.Heartbeat: normalized package name match | Windows Package Manager source index: HeartbeatChat.Heartbeat from https://cdn.winget.microsoft.com/cache/source.msix


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [mage](https://www.automicvault.com/pkg/brew/mage/) - Build dependency declared by Homebrew.
- [auditbeat](https://www.automicvault.com/pkg/brew/auditbeat/) - Shares the same upstream source repository.
- [filebeat](https://www.automicvault.com/pkg/brew/filebeat/) - Shares the same upstream source repository.
- [metricbeat](https://www.automicvault.com/pkg/brew/metricbeat/) - Shares the same upstream source repository.
- [packetbeat](https://www.automicvault.com/pkg/brew/packetbeat/) - Shares the same upstream source repository.
- [ntopng](https://www.automicvault.com/pkg/brew/ntopng/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking, observability.
- [bmon](https://www.automicvault.com/pkg/brew/bmon/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking.
- [bwm-ng](https://www.automicvault.com/pkg/brew/bwm-ng/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking.
- [cloudprober](https://www.automicvault.com/pkg/brew/cloudprober/) - Shares av.db curated category or tags: cli, monitoring, networking, observability.
- [fprobe](https://www.automicvault.com/pkg/brew/fprobe/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking.
- [ifstat](https://www.automicvault.com/pkg/brew/ifstat/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking.
- [iftop](https://www.automicvault.com/pkg/brew/iftop/) - Shares av.db curated category or tags: cli, monitoring, network-monitoring, networking.

## Combined YAML source

View the package source record on GitHub. [combined/heartbeat.yml](https://github.com/automic-vault/db/blob/main/combined/heartbeat.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
