生产环境中的监控编辑

在生产环境中,您应该将监控数据发送到一个单独的监控集群,以便即使您正在监控的节点不可用,历史数据也能保存。

Elastic Agent 和 Metricbeat 是将监控数据收集并发送到监控集群的推荐方法。

如果您之前配置了旧的收集方法,您应该迁移到使用 Elastic AgentMetricbeat 收集。不要将旧的收集方法与其他收集方法一起使用。

如果您至少拥有 Gold 订阅,使用专用监控集群还可以让您从一个中心位置监控多个集群。

要在单独的集群中存储监控数据

  1. 设置您要用作监控集群的 Elasticsearch 集群。例如,您可以设置一个包含节点 es-mon-1es-mon-2 的两个主机集群。

    • 理想情况下,监控集群和生产集群运行在相同的 Elastic Stack 版本上。但是,最新版本的 8.x 上的监控集群也可以与使用相同主版本的生产集群一起使用。使用 8.x 的监控集群也可以与使用最新版本的 7.x 的生产集群一起使用。
    • 监控集群中必须至少有一个 摄取节点;它不需要是专用的摄取节点。
    1. (可选) 验证监控集群上是否禁用了监控数据的收集。默认情况下,xpack.monitoring.collection.enabled 设置为 false

      例如,您可以使用以下 API 来查看和更改此设置

      response = client.cluster.get_settings
      puts response
      
      response = client.cluster.put_settings(
        body: {
          persistent: {
            'xpack.monitoring.collection.enabled' => false
          }
        }
      )
      puts response
      GET _cluster/settings
      
      PUT _cluster/settings
      {
        "persistent": {
          "xpack.monitoring.collection.enabled": false
        }
      }
    2. 如果监控集群上启用了 Elasticsearch 安全功能,请创建可以发送和检索监控数据的用户

      如果您计划使用 Kibana 查看监控数据,用户名和密码凭据必须在 Kibana 服务器和监控集群上都有效。

      • 如果您计划使用 Elastic Agent,请创建一个具有 remote_monitoring_collector 内置角色 的用户。
      • 如果您计划使用 Metricbeat,请创建一个具有 remote_monitoring_collector 内置角色的用户,以及一个具有 remote_monitoring_agent 内置角色 的用户。或者,使用 remote_monitoring_user 内置用户
      • 如果您计划使用 HTTP 导出器通过生产集群路由数据,请创建一个具有 remote_monitoring_agent 内置角色 的用户。

        例如,以下请求创建一个具有 remote_monitoring_agent 角色的 remote_monitor 用户

        POST /_security/user/remote_monitor
        {
          "password" : "changeme",
          "roles" : [ "remote_monitoring_agent"],
          "full_name" : "Internal Agent For Remote Monitoring"
        }

        或者,使用 remote_monitoring_user 内置用户

  2. 配置您的生产集群以收集数据并将其发送到监控集群

  3. (可选) 配置 Logstash 以收集数据并将其发送到监控集群
  4. (可选) 配置 Enterprise Search 监控
  5. (可选) 配置 Beats 以收集数据并将其发送到监控集群。对于由 Elastic Agent 管理的 Beats,请跳过此步骤。

  6. (可选) 配置 APM Server 监控
  7. (可选) 配置 Kibana 以收集数据并将其发送到监控集群

  8. (可选) 为监控创建一个专用的 Kibana 实例,而不是使用单个 Kibana 实例来访问您的生产集群和监控集群。

    如果您使用 SAML、Kerberos、PKI、OpenID Connect 或令牌身份验证提供程序登录 Kibana,则需要 专用 Kibana 实例。这些上下文使用的安全令牌是特定于集群的;因此,您不能使用单个 Kibana 实例连接到生产集群和监控集群。

    1. (可选) 禁用此 Kibana 实例中的监控数据收集。在 kibana.yml 文件中将 xpack.monitoring.kibana.collection.enabled 设置设置为 false。有关此设置的更多信息,请参阅 Kibana 中的监控设置
  9. 配置 Kibana 以检索和显示监控数据.