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

编辑

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

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

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

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

    指定 api_keyusername/password 之一。

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

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

    如果您配置了不同的输出,例如 Logstash,或者您想将 Metricbeat 监控事件发送到单独的 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: beats_system
        password: somepassword

    此设置标识 Elasticsearch 集群,在该集群下,此 Metricbeat 实例的监控数据将在 Stack Monitoring UI 中显示。要获取集群的 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

  3. 启动 Metricbeat。
  4. 在 Kibana 中查看监控数据.