配置 Heartbeat 监控
编辑配置 Heartbeat 监控
编辑要配置 Heartbeat,请定义一组monitors
来检查您的远程主机。可以直接在 heartbeat.yml
配置文件中指定监控,也可以在 heartbeat.config.monitors.path
引用的目录中的外部动态加载文件中指定。使用外部文件的一个优点是,这些文件可以在不停止 Heartbeat 进程的情况下自动重新加载。
每个 monitor
项目都是 yaml 列表中的一个条目,因此以破折号 (-) 开头。您可以定义要使用的监控类型、要检查的主机以及控制 Heartbeat 行为的其他可选设置。
以下示例直接在 heartbeat.yml
文件中配置三个监控,通过 icmp
、tcp
和 http
协议进行检查,并演示如何使用 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.yml
的 heartbeat.monitors
部分下的内容。请参见下面的示例。
# /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 配置为使用以下监控类型:
tcp
和 http
监控类型都支持 SSL/TLS 和一些代理设置。
正在寻找浏览器监控选项? Heartbeat 浏览器检查处于测试阶段,将永远不会正式发布。
如果您想设置浏览器检查,我们强烈建议您通过 项目 或 Kibana 中的 Synthetics 应用程序 使用 Synthetics 创建和管理浏览器监控。
如果您需要参考以前如何设置测试版 Heartbeat 浏览器检查,请参考 8.7 版的浏览器选项文档。