配置 Heartbeat 监控器

编辑

要配置 Heartbeat,请定义一组 monitors 来检查您的远程主机。可以直接在 heartbeat.yml 配置文件中指定监控器,也可以在由 heartbeat.config.monitors.path 引用的目录中的外部动态加载文件中指定。使用外部文件的一个优点是可以自动重新加载这些文件,而无需停止 Heartbeat 进程。

每个 monitor 项都是一个 yaml 列表中的条目,因此以短划线 (-) 开头。您可以定义要使用的监控器类型、要检查的主机以及控制 Heartbeat 行为的其他可选设置。

以下示例配置了三个监控器,分别通过 icmptcphttp 协议直接在 heartbeat.yml 文件中进行检查,并演示了如何使用 TCP Echo 和 HTTP 响应验证

# heartbeat.yml
heartbeat.monitors:
- type: icmp
  id: ping-myhost
  name: My Host Ping
  hosts: ["myhost"]
  schedule: '*/5 * * * * * *'
- 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 5s'
- 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'
heartbeat.scheduler:
  limit: 10

使用 heartbeat.yml 配置文件很方便,但有两个缺点:当监控器数量很大时,管理起来会很困难,并且当其内容更改时,它不会自动重新加载 heartbeat。

通过 heartbeat.config.monitors 定义监控器,以防止这些问题发生在您身上。为此,您的 heartbeat.yml 文件应包含以下内容

# heartbeat.yml
heartbeat.config.monitors:
  # Directory + glob pattern to search for configuration files
  path: /path/to/my/monitors.d/*.yml
  # If enabled, heartbeat will periodically check the config.monitors path for changes
  reload.enabled: true
  # How often to check for changes
  reload.period: 1s

然后,在 heartbeat.config.monitors.path 指向的目录中定义一个或多个文件。如果您愿意,可以在给定的文件中指定多个监控器。这些文件的内容仅为监控器定义,例如通常位于 heartbeat.monitors 部分下的内容 heartbeat.yml。请参阅下面的示例

# /path/to/my/monitors.d/localhost_service_check.yml
- type: http
  id: service-status
  name: Service Status
  hosts: ["https://127.0.0.1:80/service/status"]
  check.response.status: [200]
  schedule: '@every 5s'

监控器类型

编辑

您可以配置 Heartbeat 以使用以下监控器类型

icmp
使用 ICMP(v4 和 v6)回显请求来 ping 配置的主机。需要特殊权限或 root 访问权限。
tcp
通过 TCP 连接,并可以选择通过发送和/或接收自定义负载来验证端点。
http
通过 HTTP 连接,并可以选择验证主机是否返回预期的响应。将使用 Elastic-Heartbeat 作为用户代理产品。

tcphttp 监控器类型都支持 SSL/TLS 和一些代理设置。

正在寻找浏览器监控器选项? Heartbeat 浏览器检查处于 beta 测试阶段,并且永远不会公开发布。

如果您想设置浏览器检查,我们强烈建议通过 项目Kibana 中的 Synthetics 应用程序来使用 Synthetics 来创建和管理浏览器监控器。

如果您需要参考以前如何设置 beta 版 Heartbeat 浏览器检查,请参阅 8.7 的浏览器选项文档