Heartbeat 快速入门:安装和配置
editHeartbeat 快速入门:安装和配置edit
本指南介绍如何快速开始收集有关主机正常运行时间的的数据。您将学习如何
- 安装 Heartbeat
- 指定要监控的协议
- 将正常运行时间数据发送到 Elasticsearch
- 在 Kibana 中可视化正常运行时间数据
开始之前edit
您需要 Elasticsearch 来存储和搜索您的数据,以及 Kibana 来可视化和管理它。
为了快速入门,请启动我们 托管的 Elasticsearch 服务 的部署。Elasticsearch 服务在 AWS、GCP 和 Azure 上提供。 免费试用.
要安装和运行 Elasticsearch 和 Kibana,请参阅 安装 Elastic Stack.
步骤 1:安装 Heartbeatedit
与您在边缘节点上安装的大多数 Beats 不同,您通常将 Heartbeat 安装为在单独的机器上运行的监控服务的组成部分,并且可能甚至在您要监控的服务所在的网络之外运行。
要下载和安装 Heartbeat,请使用适合您系统的命令
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-8.14.3-amd64.deb sudo dpkg -i heartbeat-8.14.3-amd64.deb
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-8.14.3-x86_64.rpm sudo rpm -vi heartbeat-8.14.3-x86_64.rpm
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-8.14.3-darwin-x86_64.tar.gz tar xzvf heartbeat-8.14.3-darwin-x86_64.tar.gz
curl -L -O https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-8.14.3-linux-x86_64.tar.gz tar xzvf heartbeat-8.14.3-linux-x86_64.tar.gz
- 下载 Heartbeat Windows zip 文件:https://artifacts.elastic.co/downloads/beats/heartbeat/heartbeat-8.14.3-windows-x86_64.zip
- 将 zip 文件的内容解压缩到
C:\Program Files
。 - 将
heartbeat-8.14.3-windows-x86_64
目录重命名为Heartbeat
。 - 以管理员身份打开 PowerShell 提示符(右键单击 PowerShell 图标并选择 以管理员身份运行)。
-
从 PowerShell 提示符中,运行以下命令以将 Heartbeat 安装为 Windows 服务
PS > cd 'C:\Program Files\Heartbeat' PS C:\Program Files\Heartbeat> .\install-service-heartbeat.ps1
如果您的系统禁用了脚本执行,您需要将当前会话的执行策略设置为允许脚本运行。例如:PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-heartbeat.ps1
。
显示的命令适用于 AMD 平台,但 ARM 包也可用。有关可用包的完整列表,请参阅 下载页面。
其他安装选项edit
步骤 2:连接到 Elastic Stackedit
需要与 Elasticsearch 和 Kibana 建立连接才能设置 Heartbeat。
在 heartbeat.yml
中设置连接信息。要找到此配置文件,请参阅 目录布局。
指定 cloud.id 的 Elasticsearch 服务,并将 cloud.auth 设置为有权设置 Heartbeat 的用户。例如
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==" cloud.auth: "heartbeat_setup:YOUR_PASSWORD"
此示例显示了一个硬编码密码,但您应该在 密钥库 中存储敏感值。 |
-
设置 Heartbeat 能够找到 Elasticsearch 安装的地址和端口,并设置有权设置 Heartbeat 的用户的用户名和密码。例如
output.elasticsearch: hosts: ["https://myEShost:9200"] username: "heartbeat_internal" password: "YOUR_PASSWORD" ssl: enabled: true ca_trusted_fingerprint: "b9a10bbe64ee9826abeda6546fc988c8bf798b41957c33d05db736716513dc9c"
此示例显示了一个硬编码密码,但您应该在 密钥库 中存储敏感值。
此示例显示了一个硬编码指纹,但您应该在 密钥库 中存储敏感值。指纹是 CA 证书的 HEX 编码 SHA-256,当您首次启动 Elasticsearch 时,默认情况下会启用安全功能,例如 Elasticsearch 的网络加密 (TLS)。如果您使用的是 Elasticsearch 首次启动时生成的自签名证书,则需要在此处添加其指纹。指纹在 Elasticsearch 启动日志中打印,或者您可以参考 将客户端连接到 Elasticsearch 文档 以了解获取指纹的其他选项。如果您为 Elasticsearch 提供自己的 SSL 证书,请参考 Heartbeat 文档了解如何设置 SSL。
-
如果您打算使用我们预构建的 Kibana 仪表板,请配置 Kibana 端点。如果 Kibana 在与 Elasticsearch 相同的主机上运行,则跳过此步骤。
运行 Kibana 的机器的主机名和端口,例如
mykibanahost:5601
。如果您在端口号后指定路径,请包含方案和端口:http://mykibanahost:5601/path
。username
和password
设置对于 Kibana 是可选的。如果您没有为 Kibana 指定凭据,Heartbeat 将使用为 Elasticsearch 输出指定的username
和password
。要使用预构建的 Kibana 仪表板,此用户必须有权查看仪表板或具有
kibana_admin
内置角色。
要了解有关所需角色和权限的更多信息,请参阅 授予用户访问受保护资源的权限。
您可以将数据发送到其他 输出,例如 Logstash,但这需要额外的配置和设置。
步骤 3:配置 Heartbeat 监控器edit
Heartbeat 提供监控器来以设定的间隔检查主机状态。Heartbeat 目前提供 ICMP、TCP 和 HTTP 的监控器(有关这些监控器的更多信息,请参阅 Heartbeat 概述)。
您分别配置每个监控器。在 heartbeat.yml
中,指定您要启用的监控器列表。列表中的每个项目都以短划线 (-) 开头。以下示例配置 Heartbeat 以使用三个监控器:一个 icmp
监控器、一个 tcp
监控器和一个 http
监控器。
heartbeat.monitors: - type: icmp schedule: '*/5 * * * * * *' hosts: ["myhost"] id: my-icmp-service name: My ICMP Service - type: tcp schedule: '@every 5s' hosts: ["myhost:12345"] mode: any id: my-tcp-service - type: http schedule: '@every 5s' urls: ["http://example.net"] service.name: apm-service-name id: my-http-service name: My HTTP Service
|
|
|
|
|
|
|
要测试您的配置文件,请更改到安装 Heartbeat 二进制文件的目录,并使用以下指定的选项在前景中运行 Heartbeat:./heartbeat test config -e
。确保您的配置文件位于 Heartbeat 预期的路径(请参阅 目录布局),或者使用 -c
标志指定配置文件的路径。
有关配置 Heartbeat 的更多信息,另请参阅
- 配置 Heartbeat
- 配置文件格式
-
heartbeat.reference.yml
:此参考配置文件显示所有未弃用的选项。您会在与heartbeat.yml
相同的位置找到它。
步骤 4:配置 Heartbeat 位置edit
Heartbeat 可以部署在多个位置,这样您就可以检测到这些位置之间的可用性和响应时间差异。配置 Heartbeat 位置以允许 Kibana 在 Uptime 地图上显示特定于位置的信息,并根据位置执行 Uptime 异常检测。
要配置 Heartbeat 实例的位置,请修改 heartbeat.yml
中的 add_observer_metadata
处理器。以下示例将 add_observer_metadata
处理器的 geo.name
指定为 us-east-1a
# ============================ Processors ============================ processors: - add_observer_metadata: # Optional, but recommended geo settings for the location Heartbeat is running in geo: # Token describing this location name: us-east-1a # Lat, Lon " #location: "37.926868, -78.024902"
要测试您的配置文件,请更改到安装 Heartbeat 二进制文件的目录,并使用以下指定的选项在前景中运行 Heartbeat:./heartbeat test config -e
。确保您的配置文件位于 Heartbeat 预期的路径(请参阅 目录布局),或者使用 -c
标志指定配置文件的路径。
有关配置 Heartbeat 的更多信息,另请参阅
- 配置 Heartbeat
- 配置文件格式
-
heartbeat.reference.yml
:此参考配置文件显示所有未弃用的选项。您会在与heartbeat.yml
相同的位置找到它。
步骤 5:设置资产edit
Heartbeat 附带用于解析、索引和可视化数据的预定义资产。要加载这些资产
- 确保
heartbeat.yml
中指定的用户 有权设置 Heartbeat。 -
从安装目录中,运行
heartbeat setup -e
heartbeat setup -e
./heartbeat setup -e
./heartbeat setup -e
PS > .\heartbeat.exe setup -e
-e
是可选的,并将输出发送到标准错误而不是配置的日志输出。
此步骤加载用于写入 Elasticsearch 的推荐 索引模板。它不会安装 Heartbeat 仪表板。Heartbeat 仪表板和安装步骤可在 uptime-contrib GitHub 存储库中找到。
需要与 Elasticsearch(或 Elasticsearch 服务)建立连接才能设置初始环境。如果您使用的是其他输出,例如 Logstash,请参阅 手动加载索引模板。
步骤 6:启动 Heartbeatedit
在启动 Heartbeat 之前,请修改 heartbeat.yml
中的用户凭据,并指定 有权发布事件 的用户。
要启动 Heartbeat,请运行
sudo service heartbeat-elastic start
如果您使用 init.d
脚本启动 Heartbeat,则无法指定命令行标志(请参阅 命令参考)。要指定标志,请在前景中启动 Heartbeat。
另请参阅 Heartbeat 和 systemd。
sudo service heartbeat-elastic start
如果您使用 init.d
脚本启动 Heartbeat,则无法指定命令行标志(请参阅 命令参考)。要指定标志,请在前景中启动 Heartbeat。
另请参阅 Heartbeat 和 systemd。
您将以 root 身份运行 Heartbeat,因此您需要更改配置文件的所有权,或者使用指定的 |
您将以 root 身份运行 Heartbeat,因此您需要更改配置文件的所有权,或者使用指定的 |
PS C:\Program Files\heartbeat> Start-Service heartbeat
默认情况下,Windows 日志文件存储在 C:\ProgramData\heartbeat\Logs
中。
Heartbeat 现在已准备好检查您的服务的状况并将事件发送到您定义的输出。
步骤 7:在 Kibana 中查看您的数据edit
Heartbeat 提供预构建的 Kibana 仪表盘和 UI 用于可视化服务状态。这些仪表盘可在 uptime-contrib GitHub 仓库中找到。
如果您之前已加载仪表盘,现在可以打开它们。
要打开仪表盘:
-
启动 Kibana
- 登录您的 Elastic Cloud 帐户。
- 导航到您部署中的 Kibana 终端节点。
将您的浏览器指向 https://127.0.0.1:5601,将
localhost
替换为 Kibana 主机的名称。 -
在侧边导航栏中,点击 发现。要查看 Heartbeat 数据,请确保已选择预定义的
heartbeat-*
索引模式。如果您在 Kibana 中没有看到数据,请尝试将时间过滤器更改为更大的范围。默认情况下,Kibana 显示最近 15 分钟的数据。
- 在侧边导航栏中,点击 仪表盘,然后选择您要打开的仪表盘。
这些仪表盘是示例,我们建议您根据需要 定制它们。
下一步:编辑
现在您已经将正常运行时间数据流式传输到 Elasticsearch,了解如何统一您的日志、指标、正常运行时间和应用程序性能数据。
-
通过安装和配置其他 Elastic Beats 来摄取来自其他来源的数据
Elastic Beats 用于捕获 基础架构指标
日志
Windows 事件日志
应用程序性能指标
审核事件
-
使用 Kibana 中的可观察性应用程序跨所有数据进行搜索
Elastic 应用程序 用于 探索有关整个生态系统中的系统和服务的指标
实时跟踪相关日志数据
监控您应用程序和服务中的可用性问题
监控应用程序性能
分析安全事件