Configure lightweight monitors
editConfigure lightweight monitors
editTo configure lightweight monitors define a set of monitors
to check your remote hosts.
Each monitor
item is an entry in a YAML list and begins with a dash (-
).
You can define the type of monitor to use, the hosts to check, and other
optional settings.
Lightweight monitors can be configured using any of the following:
-
YAML files in Project Monitors.
[beta]
This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
Set up a project and configure monitors in YAML
files in the
journeys
directory. - Uptime app UI. [beta] This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features. Go to the Uptime app in Kibana and configure monitors using the Monitor Management UI.
-
YAML files in Heartbeat.
Set up Heartbeat and configure monitors in the
heartbeat.yml
config file, or in external dynamically loaded files located in the directory referenced byheartbeat.config.monitors.path
. Read more about these options in Configure Heartbeat monitors.
Monitor types
edit-
http
-
Connects via HTTP and optionally verifies that the host returns the
expected response. Will use
Elastic-Heartbeat
as the user agent product. -
icmp
- Uses an ICMP (v4 and v6) Echo Request to ping the configured hosts. Requires special permissions or root access.
-
tcp
- Connects via TCP and optionally verifies the endpoint by sending and/or receiving a custom payload.
The following example configures three monitors checking via the http
, icmp
, and tcp
protocols and demonstrates how to use TCP Echo and HTTP response verification:
heartbeat.monitors: - type: http name: Todos Lightweight id: todos-lightweight urls: "https://elastic.github.io/synthetics-demo/" schedule: '@every 1m' - type: icmp id: ping-myhost name: My Host Ping hosts: ["myhost"] schedule: '@every 5m' - type: tcp id: myhost-tcp-echo name: My Host TCP Echo hosts: ["myhost:777"] # default TCP Echo Protocol check.send: "Check" check.receive: "Check" schedule: '@every 60s'
Configuration options
editYou can find a complete reference of available configuration options in the Heartbeat documentation.
If you are using Project Monitors or the Uptime app UI to configure lightweight monitors, it is important to note that while the most commonly used Heartbeat configuration options are supported, some configuration options are not yet supported in these beta products.
There are some common monitor configuration options that are the same for all monitors. For a complete list, refer to Common monitor options.
Each monitor type has additional configuration options that are specific to that monitor type. Refer to:
The tcp
and http
monitor types both support SSL/TLS and some proxy
settings.