{"id":"776f36b7-ac2f-4c4f-9181-a88ee8cbd568","task":"Configure Elastic Heartbeat for uptime synthetics monitoring (HTTP and ICMP checks)","domain":"opentelemetry.io","steps":["Install Elastic Heartbeat on a host or container with access to the targets to monitor; configure heartbeat.yml with the output section pointing to an Elasticsearch cluster or Elastic Cloud endpoint with credentials.","Define monitors in the heartbeat.monitors section; for HTTP checks set type: http, urls as a list of targets, schedule as a cron expression or @every interval, and check.response with expected status codes and optional body content assertions.","For ICMP ping checks set type: icmp and hosts as the list of IP addresses or hostnames; Heartbeat requires elevated privileges (or a Linux capability grant) to send raw ICMP packets — confirm the process has the necessary permissions.","Enable TLS certificate expiry monitoring by setting check.response.status to 200 and ssl.certificate_authorities if using private CAs; Heartbeat also reports the days-until-expiry of the TLS certificate on each check, which can drive certificate expiry alerts.","Configure alerting in Kibana Observability > Alerts; use the built-in Uptime monitor status rule to alert when a monitor is down for a configurable consecutive-check count, and the TLS certificate expiry rule to alert before certificates expire.","View results in Kibana Observability > Uptime (or Synthetics in newer Elastic Stack versions); the overview shows a status timeline per monitor, geographic availability heatmap when multiple agents are configured, and duration trends over time."],"gotchas":["Heartbeat ICMP monitors require the process to run as root or with the CAP_NET_RAW Linux capability; running without this capability causes ICMP monitors to silently fail or fall back to TCP connect, producing misleading results labeled as ICMP.","The heartbeat.yml monitor definitions are re-read on startup only unless dynamic configuration via the config.reloader is enabled; adding or removing monitors requires a Heartbeat process restart unless the reload interval is configured.","Heartbeat and the Elastic Synthetics (browser-based) agent are separate components; HTTP and ICMP checks run via Heartbeat while scripted browser checks require the Elastic Synthetics runner based on Playwright — mixing them up leads to configuration that is ignored rather than erroring."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:48.523Z"},"url":"https://mcp.waymark.network/r/776f36b7-ac2f-4c4f-9181-a88ee8cbd568"}