Uptime 入门

编辑

此方法仅可用于创建轻量级监控器。 要创建浏览器监控器,请使用Synthetics 应用程序

Heartbeat 是一个轻量级守护进程,您将其安装在远程服务器上,以定期检查服务的状态并确定它们是否可用。它收集性能数据,对其进行格式化,并将数据发送到 Elastic Stack。

Diagram showing which pieces of software are used to configure monitors

Elastic Synthetics 集成是一种创建合成监控器的方法,不再推荐使用。请勿使用 Elastic Synthetics 集成来设置新的监控器。

有关如何从 Elastic Synthetics 集成迁移到项目监控器或 Synthetics 应用程序的详细信息,请参阅从 Elastic Synthetics 集成迁移

如果您过去使用过 Elastic Synthetics 集成来创建监控器,并且需要参考有关该集成的文档,请转到8.3 文档

拉取 Docker 镜像

编辑

Elastic 提供 Docker 镜像,您可以使用这些镜像来运行监控器。首先拉取 Heartbeat Docker 镜像。

docker pull docker.elastic.co/beats/heartbeat:8.17.0

配置

编辑

接下来,创建一个 heartbeat.yml 配置文件。

下面的示例显示如何配置 http 监控器,它是三种轻量级监控器类型之一。

heartbeat.monitors:
- type: http
  id: service-status 
  name: Service Status
  service.name: my-apm-service-name
  hosts: ["https://127.0.0.1:80/service/status"]
  check.response.status: [200]
  schedule: '@every 5s'

每个 monitor 在 Uptime 应用程序中都有自己的 ID 和自己的计划条目。这允许并行运行测试并单独进行分析。

配置 Heartbeat 监控器中了解有关配置选项的更多信息。

请勿使用 Heartbeat 来设置新的 browser 监控器。 请改用Synthetics 应用程序

如果您之前使用 Heartbeat 设置 browser 监控器,可以在8.4 Heartbeat 文档中找到相关资源。

连接到 Elastic Stack

编辑

配置监控器后,在 Docker 中运行它并将监控器连接到 Elastic Stack。

您需要检索您的 Elasticsearch 凭据,用于Elastic Cloud ID或其他Elasticsearch 集群

下面的示例显示了如何运行将数据索引到 Elasticsearch 中的合成测试。您需要插入实际的 cloud.idcloud.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:8.17.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:8.17.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 服务器发行版具有更好的兼容性。将 sandbox: true 选项添加到 Heartbeat 中给定的浏览器监控器,以启用沙箱。这可能需要对 Docker 使用自定义 seccomp 策略,这会带来其自身的额外风险。当针对您信任其内容的站点以及使用最新版本的 Elastic Synthetics 和 Chromium 运行时,这通常是安全的。

在 Kibana 中查看

编辑

Heartbeat 现在正在向 Elastic Stack 发送合成监控数据。导航到 Kibana 中的 Uptime 应用程序,您可以在其中查看每次运行的屏幕截图、设置测试失败时的警报等等。

如果测试失败(在 Uptime 应用程序中显示为 down),您将能够查看失败的步骤脚本、任何错误以及堆栈跟踪。有关更多信息,请参阅分析

管理监控器

编辑

创建监控器后,您需要随着时间的推移管理该监控器。这可能包括更新或永久删除现有监控器。

要更新监控器的配置,请更新 Heartbeat 配置文件中的相关选项,这些更改将反映在监控器中。

要永久删除监控器,请删除 heartbeat.yml 文件中的监控器条目。