监控 Fleet 管理的 APM Server
编辑监控 Fleet 管理的 APM Server
编辑本指南假设您已经将 APM 数据摄取到 Elastic Stack 中。
在 8.0 及更高版本中,您可以使用 Metricbeat 收集有关 APM Server 的数据并将其发送到监控集群。要收集和发送监控数据
配置 Elastic Agent 以发送监控数据
编辑-
通过将以下设置添加到
elastic-agent.yml
配置文件来启用 Elastic Agent 的监控 -
注册 Elastic Agent
编辑
elastic-agent.yml
后,必须重新注册 Elastic Agent 才能使更改生效。要在 Fleet 中注册 Elastic Agent
elastic-agent enroll --url <string> --enrollment-token <string> [--ca-sha256 <string>] [--certificate-authorities <string>] [--daemon-timeout <duration>] [--delay-enroll] [--elastic-agent-cert <string>] [--elastic-agent-cert-key <string>] [--elastic-agent-cert-key-passphrase <string>] [--force] [--header <strings>] [--help] [--insecure ] [--proxy-disabled] [--proxy-header <strings>] [--proxy-url <string>] [--staging <string>] [--tag <string>] [global-flags]
有关注册命令的更多信息,请参阅 Elastic Agent 命令参考。
安装和配置 Metricbeat 以收集监控数据
编辑- 在与 Elastic Agent 相同的服务器上安装 Metricbeat。要了解如何操作,请参阅 Metricbeat 入门。如果您已安装 Metricbeat,请跳过此步骤。
-
在 Metricbeat 中启用
beat-xpack
模块。例如,要在
modules.d
目录中启用默认配置,请运行以下命令,使用适合您操作系统的正确命令语法metricbeat modules enable beat-xpack
-
在 Metricbeat 中配置
beat-xpack
模块。完成后,您的
modules.d/beat-xpack.yml
文件应类似于以下内容- module: beat xpack.enabled: true period: 10s hosts: ["https://127.0.0.1:6791"] basepath: "/processes/apm-server-default" username: remote_monitoring_user password: your_password
- 不要更改
module
名称或xpack.enabled
布尔值;这些对于堆栈监控是必需的。我们建议目前接受默认的period
。 -
将
hosts
设置为与elastic-agent.yml
文件中配置的主机:端口匹配。在此示例中,为https://127.0.0.1:6791
。要监控在多个 Elastic Agent 中运行的多个 APM Server 实例,请指定主机列表,例如
hosts: ["https://127.0.0.1:5066","https://127.0.0.1:5067","https://127.0.0.1:5068"]
如果您已将 Elastic Agent 配置为使用加密通信,则必须通过 HTTPS 访问它。例如,使用
hosts
设置,例如https://127.0.0.1:5066
。 - APM Server 指标在
/processes/apm-server-default
中公开。将此位置添加为basepath
。 -
根据您的环境设置
username
和password
设置。如果启用了 Elastic 安全功能,则必须提供用户名和密码,以便 Metricbeat 可以成功收集指标
- 不要更改
-
可选:在 Metricbeat 中禁用系统模块。
默认情况下,系统模块 已启用。但是,它收集的信息不会显示在 Kibana 中的 堆栈监控 页面上。除非您想将这些信息用于其他目的,否则请运行以下命令
metricbeat modules disable system
-
确定发送监控数据的目标位置。
在生产环境中,您应该将部署日志和指标发送到专用的监控部署(称为监控集群)。监控将日志和指标索引到 Elasticsearch,并且这些索引与任何其他索引一样消耗存储、内存和 CPU 周期。通过使用单独的监控部署,您可以避免影响其他生产部署,并且即使在生产部署不可用时也可以查看日志和指标。
例如,在 Metricbeat 配置文件 (
metricbeat.yml
) 中指定 Elasticsearch 输出信息output.elasticsearch: # Array of hosts to connect to. hosts: ["http://es-mon-1:9200", "http://es-mon2:9200"] # Optional protocol and basic auth credentials. #protocol: "https" #api_key: "id:api_key" #username: "elastic" #password: "changeme"
如果您已将监控集群配置为使用加密通信,则必须通过 HTTPS 访问它。例如,使用
hosts
设置,例如https://es-mon-1:9200
。Elasticsearch 监控功能使用摄取管道,因此存储监控数据的集群必须至少具有一个摄取节点。
如果在监控集群上启用了 Elasticsearch 安全功能,则必须提供有效的用户 ID 和密码,以便 Metricbeat 可以成功发送指标
有关这些配置选项的更多信息,请参阅 配置 Elasticsearch 输出。
- 启动 Metricbeat 以开始收集 APM 监控数据。
- 在 Kibana 中查看监控数据.