Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Add heartbeat (experimental) #2743
This PR introduces the new experimental heartbeat to the beats repository.
Heartbeat will monitor services for availability by active (and in future hopefully passive) probing. Heartbeat already supports ping via ICMP, TCP and HTTP. Including support for TLS. One can already configure some simple validators and even reconfigure single monitors without restarting heartbeat. Plus, given a hostname heartbeat can optionally ping all resolvable IPs.
See the default configuration file with all modules and settings available being documented.
Heartbeat provides a set of configurable monitor types somewhat similar to metricbeat modules, all supporting live (re-)loading most settings from external json based configuration files.
There are 3 kind of settings per module:
Different kind of monitors might introduce different set of "task generating settings". The number of concurrent active I/O tasks can be limited using
All but the
The file being watched consists of multiple JSON objects. By passing an empty file, all active monitoring tasks will be removed from the scheduler.
Being able to overwrite literally any setting, also implies any monitor specific ping parameters can be overwritten/changed on the fly. E.g. timeouts for ICMP ping, certificates for TCP/TLS based ping, or validation settings for HTTP(S) based ping.
example: change TLS certificate_authorities for already configured host in monitor:
example: add new TCP hosts with one adding a 'hello message' validator: