Uptime 入门
Elastic Stack Serverless
请使用 Synthetic 监控 代替 Uptime 应用。
此方法只能用于创建轻量级监控器。 要创建浏览器监控器,请使用 Synthetics 应用。
Heartbeat 是一个轻量级的守护程序,您可以将其安装在远程服务器上,以定期检查服务的状态并确定它们是否可用。它收集性能数据,对其进行格式化,并将数据发送到 Elastic Stack。

Elastic Synthetics 集成是一种创建 synthetic 监控器的方法,不再推荐使用。请勿使用 Elastic Synthetics 集成来设置新的监控器。
有关如何从 Elastic Synthetics 集成迁移到项目监控器或 Synthetics 应用的详细信息,请参阅 从 Elastic Synthetics 集成迁移。
如果您过去使用 Elastic Synthetics 集成创建了监控器,并且需要参考有关该集成的文档,请转到 8.3 文档。
Elastic 提供了可用于运行监控器的 Docker 镜像。首先,拉取 Heartbeat Docker 镜像。
docker pull docker.elastic.co/beats/heartbeat:9.0.0
接下来,创建一个 heartbeat.yml
配置文件。
下面的示例展示了如何配置 http
监控器,它是 三种轻量级监控器之一。
heartbeat.monitors:
- type: http
id: service-status
name: Service Status
service.name: my-apm-service-name
hosts: ["http://localhost:80/service/status"]
check.response.status: [200]
schedule: '@every 5s'
- 每个
monitor
都在 Uptime 应用中获得自己的 ID,并且有自己的计划条目。这允许测试并行运行并单独分析。
阅读有关配置选项的更多信息,请参阅 配置 Heartbeat 监控器。
请勿使用 Heartbeat 设置新的 browser
监控器。 而是使用 Synthetics 应用。
如果您之前使用 Heartbeat 设置了 browser
监控器,则可以在 8.4 Heartbeat 文档中找到资源。
配置监控器后,在 Docker 中运行它并将监控器连接到 Elastic Stack。
您需要检索 Elasticsearch 凭据,以用于 Elastic Cloud ID 或另一个 Elasticsearch 集群。
下面的示例展示了如何运行 synthetics 测试,将数据索引到 Elasticsearch 中。您需要插入您的实际 cloud.id
和 cloud.auth
值才能成功地将数据索引到您的集群。
docker run \
--rm \
--name=heartbeat \
--user=heartbeat \
--volume="$PWD/heartbeat.yml:/usr/share/heartbeat/heartbeat.yml:ro" \
--cap-add=NET_RAW \
docker.elastic.co/beats/heartbeat:9.0.0 heartbeat -e \
-E cloud.id={cloud-id} \
-E cloud.auth=elastic:{cloud-pass}
如果您未使用 Elastic Cloud,请将 -E cloud.id
和 -E cloud.auth
替换为您的 Elasticsearch 主机、用户名和密码。
docker run \
--rm \
--name=heartbeat \
--user=heartbeat \
--volume="$PWD/heartbeat.yml:/usr/share/heartbeat/heartbeat.yml:ro" \
--cap-add=NET_RAW \
docker.elastic.co/beats/heartbeat:9.0.0 heartbeat -e \
-E output.elasticsearch.hosts=["localhost:9200"] \
-E output.elasticsearch.username=elastic \
-E output.elasticsearch.password=changeme
请注意 --volume
选项,它将本地目录挂载到容器中。在这里,我们将工作目录中的 heartbeat.yml
挂载到 Heartbeat 的 heartbeat.yml
预期位置。
Elastic Synthetics 运行 Chromium,但没有其进程 沙箱的额外保护,以实现与 Linux 服务器发行版的更大兼容性。在 Heartbeat 中将 sandbox: true
选项添加到给定的浏览器监控器,以启用沙箱。这可能需要将自定义 seccomp 策略与 docker 一起使用,这会带来自身的额外风险。当针对您信任其内容的站点运行,并且使用 Elastic Synthetics 和 Chromium 的最新版本时,这通常是安全的。
Heartbeat 现在正在将 synthetic 监控数据发送到 Elastic Stack。导航到 Kibana 中的 Uptime 应用,您可以在其中查看每次运行的屏幕截图,设置测试失败时的警报等等。
如果测试确实失败(在 Uptime 应用中显示为 down
),您将能够查看失败的步骤脚本、任何错误和堆栈跟踪。有关更多信息,请参阅 分析。
创建监控器后,您需要随着时间的推移管理该监控器。这可能包括更新或永久删除现有监控器。
要更新监控器的配置,请更新 Heartbeat 配置文件中的相关选项,更改将反映在监控器中。
要永久删除监控器,请删除 heartbeat.yml
文件中的监控器条目。