使用内部集合发送监控数据
Elastic Stack
使用内部收集器将 Beats 监控数据直接发送到您的监控集群。或者,作为内部集合的替代方案,使用 使用 Metricbeat 集合。使用内部集合而不是 Metricbeat 的好处是,您需要安装和维护的软件更少。
创建一个 API 密钥或用户,该密钥或用户具有将系统级监控数据发送到 Elasticsearch 的适当权限。 例如,您可以使用内置的
apm_system
用户或将内置的apm_system
角色分配给另一个用户。 有关所需权限的更多信息,请参见 创建监控角色。 有关如何使用 API 密钥的更多信息,请参见 使用 API 密钥授予访问权限。在 APM Server 配置文件中添加
monitoring
设置。 如果您配置了 Elasticsearch 输出并且希望将 APM Server 监控事件发送到同一 Elasticsearch 集群,请指定以下最小配置monitoring: enabled: true elasticsearch: api_key: id:api_key username: apm_system password: somepassword
- 指定
api_key
或username
/password
之一。
如果您想将监控事件发送到 Elastic Cloud 监控集群,则可以使用两个更简单的设置。 定义后,这些设置将覆盖配置中其他部分的设置。 例如
monitoring: enabled: true cloud.id: 'staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw==' cloud.auth: 'elastic:YOUR_PASSWORD'
如果您配置了不同的输出(例如 Logstash)或者想要将 APM Server 监控事件发送到单独的 Elasticsearch 集群(称为监控集群),则必须指定其他配置选项。 例如
monitoring: enabled: true cluster_uuid: PRODUCTION_ES_CLUSTER_UUID elasticsearch: hosts: ["https://example.com:9200", "https://example2.com:9200"] api_key: id:api_key username: apm_system password: somepassword
- 此设置标识 Elasticsearch 集群,该 APM Server 实例的监控数据将显示在该集群下的 Stack Monitoring UI 中。 要获取集群的
cluster_uuid
,请对该集群调用GET /
API。 - 此设置标识作为监控集群一部分的 Elasticsearch 节点的宿主机和端口号。
- 指定
api_key
或username
/password
之一。
如果要使用 PKI 身份验证将监控事件发送到 Elasticsearch,则必须指定一组不同的配置选项。 例如
monitoring: enabled: true cluster_uuid: PRODUCTION_ES_CLUSTER_UUID elasticsearch: hosts: ["https://example.com:9200", "https://example2.com:9200"] username: "" ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] ssl.certificate: "/etc/pki/client/cert.pem" ssl.key: "/etc/pki/client/cert.key"
您必须明确指定
username
为""
,以便使用客户端证书 (CN
) 中的用户名。 有关 SSL 设置的更多信息,请参见 SSL/TLS 输出设置。- 指定
启动 APM Server。
当您不使用 Metricbeat 来收集监控数据时,请使用以下设置来配置内部集合。
您可以在 apm-server.yml
配置文件的 X-Pack 监控部分中指定这些设置
monitoring.enabled
配置是一个布尔设置,用于启用或禁用 X-Pack 监控。 如果设置为 true
,则启用监控。
默认值为 false
。
您要将 APM Server 指标发送到的 Elasticsearch 实例。 此配置选项包含以下字段
用于将监控信息发送到 Elasticsearch 的 API 密钥的详细信息。 有关更多信息,请参见 使用 API 密钥授予访问权限。
在单个 Elasticsearch 批量 API 索引请求中批量处理的最大指标数。 默认值为 50
。 有关更多信息,请参见 Elasticsearch。
在网络错误后尝试重新连接到 Elasticsearch 之前等待的秒数。 等待 backoff.init
秒后,APM Server 尝试重新连接。 如果尝试失败,则退避计时器将呈指数增长,直到 backoff.max
。 成功连接后,退避计时器将重置。 默认值为 1s
。
在网络错误后尝试连接到 Elasticsearch 之前等待的最大秒数。 默认值为 60s
。
gzip 压缩级别。 将此值设置为 0
会禁用压缩。 压缩级别必须在 1
(最佳速度)到 9
(最佳压缩)的范围内。 默认值为 0
。 增加压缩级别会减少网络使用量,但会增加 CPU 使用量。
要添加到每个请求的自定义 HTTP 标头。 有关更多信息,请参见 Elasticsearch。
要连接到的 Elasticsearch 节点列表。 监控指标以循环方式分发到这些节点。 有关更多信息,请参见 Elasticsearch。
在失败后重试发送监控指标的次数。 在指定的重试次数之后,通常会丢弃指标。 默认值为 3
。 有关更多信息,请参见 Elasticsearch。
要通过 URL 传递给索引操作的 HTTP 参数字典。
APM Server 用于向 Elasticsearch 实例进行身份验证以发送监控数据的密码。
指标发送到 Elasticsearch 集群的时间间隔(以秒为单位)。 每个周期都会生成一个新的 APM Server 指标快照并计划发布。 默认值为 10 * time.Second。
状态信息发送到 Elasticsearch 集群的时间间隔(以秒为单位)。 每个周期都会生成一个新的 APM Server 状态快照并计划发布。 默认值为 60 * time.Second。
连接到 Elasticsearch 集群时要使用的协议的名称。 选项为:http
或 https
。 默认值为 http
。 但是,如果您为 hosts
指定了 URL,则协议的值将被您在 URL 中指定的方案覆盖。
连接到 Elasticsearch 集群时要使用的代理的 URL。 有关更多信息,请参见 Elasticsearch。
Elasticsearch 请求的 HTTP 请求超时(以秒为单位)。 默认值为 90
。
传输层安全性 (TLS) 或安全套接字层 (SSL) 参数(例如用于基于 HTTPS 的连接的证书颁发机构 (CA))的配置选项。 如果缺少 ssl
部分,则主机 CA 将用于与 Elasticsearch 的 HTTPS 连接。 有关更多信息,请参见 SSL/TLS 输出设置。
APM Server 用于向 Elasticsearch 实例进行身份验证以发送监控数据的用户 ID。