使用内部收集发送监控数据编辑

使用内部收集器将 Beats 监控数据直接发送到您的监控集群。或者,作为内部收集的替代方法,可以使用 使用 Metricbeat 收集。使用内部收集而不是 Metricbeat 的好处是您需要安装和维护的软件更少。

  1. 创建一个 API 密钥或用户,使其具有将系统级监控数据发送到 Elasticsearch 的适当权限。例如,您可以使用内置的 apm_system 用户或将内置的 apm_system 角色分配给另一个用户。有关所需权限的更多信息,请参阅 创建*监控*用户。有关如何使用 API 密钥的更多信息,请参阅 使用 API 密钥授予访问权限
  2. 在 APM Server 配置文件中添加 monitoring 设置。如果您配置了 Elasticsearch 输出并希望将 APM Server 监控事件发送到同一个 Elasticsearch 集群,请指定以下最小配置

    monitoring:
      enabled: true
      elasticsearch:
        api_key:  id:api_key 
        username: apm_system
        password: somepassword

    指定 api_keyusername/password 之一。

    如果要将监控事件发送到 Elastic Cloud 监控集群,则可以使用两个更简单的设置。定义后,这些设置将覆盖配置中其他部分的设置。例如

    monitoring:
      enabled: true
      cloud.id: 'staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=='
      cloud.auth: 'elastic:{pwd}'

    如果您配置了不同的输出(例如 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

    此设置标识在堆栈监控 UI 中显示此 APM Server 实例的监控数据的 Elasticsearch 集群。要获取集群的 cluster_uuid,请针对该集群调用 GET / API。

    此设置标识属于监控集群的 Elasticsearch 节点的地址和端口号。

    指定 api_keyusername/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 输出设置

  3. 启动 APM Server。
  4. 在 Kibana 中查看监控数据.
内部收集的设置编辑

当您不使用 Metricbeat 收集监控数据时,请使用以下设置来配置内部收集。

您可以在 apm-server.yml 配置文件的 X-Pack 监控部分中指定这些设置

monitoring.enabled编辑

monitoring.enabled 配置是一个布尔设置,用于启用或禁用 X-Pack 监控。如果设置为 true,则启用监控。

默认值为 false

monitoring.elasticsearch编辑

您要将 APM Server 指标发送到的 Elasticsearch 实例。此配置选项包含以下字段

api_key编辑

要用于将监控信息发送到 Elasticsearch 的 API 密钥的详细信息。有关更多信息,请参阅 使用 API 密钥授予访问权限

bulk_max_size编辑

在单个 Elasticsearch 批量 API 索引请求中批量处理的最大指标数。默认值为 50。有关更多信息,请参阅 Elasticsearch

backoff.init编辑

网络错误后尝试重新连接到 Elasticsearch 之前的等待时间(以秒为单位)。等待 backoff.init 秒后,APM Server 尝试重新连接。如果尝试失败,则退避计时器会呈指数级增加,直至达到 backoff.max。成功连接后,退避计时器将重置。默认值为 1s

backoff.max编辑

网络错误后尝试连接到 Elasticsearch 之前的最长等待时间(以秒为单位)。默认值为 60s

compression_level编辑

gzip 压缩级别。将此值设置为 0 将禁用压缩。压缩级别必须在 1(速度最快)到 9(压缩率最高)的范围内。默认值为 0。提高压缩级别会降低网络使用率,但会增加 CPU 使用率。

headers编辑

要添加到每个请求的自定义 HTTP 标头。有关更多信息,请参阅 Elasticsearch

hosts编辑

要连接到的 Elasticsearch 节点列表。监控指标以循环方式分发到这些节点。有关更多信息,请参阅 Elasticsearch

max_retries编辑

发送监控指标失败后重试的次数。在指定的重试次数后,通常会丢弃指标。默认值为 3。有关更多信息,请参阅 Elasticsearch

parameters编辑

要在 URL 中使用索引操作传递的 HTTP 参数字典。

password编辑

APM Server 用于向 Elasticsearch 实例进行身份验证以发送监控数据的密码。

metrics.period编辑

将指标发送到 Elasticsearch 集群的时间间隔(以秒为单位)。每个周期都会生成 APM Server 指标的新快照并安排发布。默认值为 10 * time.Second。

state.period编辑

将状态信息发送到 Elasticsearch 集群的时间间隔(以秒为单位)。每个周期都会生成 APM Server 状态的新快照并安排发布。默认值为 60 * time.Second。

protocol编辑

连接到 Elasticsearch 集群时要使用的协议的名称。选项包括:httphttps。默认值为 http。但是,如果您为 hosts 指定了 URL,则协议的值将被您在 URL 中指定的方案覆盖。

proxy_url编辑

连接到 Elasticsearch 集群时要使用的代理的 URL。有关更多信息,请参阅 Elasticsearch

timeout编辑

Elasticsearch 请求的 HTTP 请求超时(以秒为单位)。默认值为 90

ssl编辑

传输层安全性 (TLS) 或安全套接字层 (SSL) 参数的配置选项,例如用于基于 HTTPS 的连接的证书颁发机构 (CA)。如果缺少 ssl 部分,则主机 CA 将用于与 Elasticsearch 的 HTTPS 连接。有关更多信息,请参阅 SSL/TLS 输出设置

username编辑

APM 服务器用于向 Elasticsearch 实例进行身份验证以传输监控数据的用户 ID。