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.16.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。

您需要为Elastic Cloud ID或其他Elasticsearch 集群检索您的 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.16.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.16.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选项以启用沙箱。这可能需要使用带有 docker 的自定义 seccomp 策略,这会带来自身的额外风险。当针对您信任其内容的网站运行以及使用最新版本的 Elastic Synthetics 和 Chromium 时,这通常是安全的。

在 Kibana 中查看

编辑

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

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

管理监控器

编辑

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

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

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