正在加载

使用内部集合发送监控数据

Elastic Stack

使用内部收集器将 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
    
    1. 指定 api_keyusername/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
    
    1. 此设置标识 Elasticsearch 集群,该 APM Server 实例的监控数据将显示在该集群下的 Stack Monitoring UI 中。 要获取集群的 cluster_uuid,请对该集群调用 GET / API。
    2. 此设置标识作为监控集群一部分的 Elasticsearch 节点的宿主机和端口号。
    3. 指定 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 配置是一个布尔设置,用于启用或禁用 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 集群时要使用的协议的名称。 选项为:httphttps。 默认值为 http。 但是,如果您为 hosts 指定了 URL,则协议的值将被您在 URL 中指定的方案覆盖。

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

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

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

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

© . All rights reserved.