为 Fleet 管理的数据流启用和禁用高级索引功能

编辑

为 Fleet 管理的数据流启用和禁用高级索引功能编辑

Fleet 为其数据流提供对几个高级功能的支持,包括

这些功能可以通过使用索引模板 API 和一些关键设置来为 Fleet 管理的数据流启用和禁用。

如果您已经使用 @custom 组件模板进行摄取或保留自定义(例如,如 教程:自定义数据保留策略 中所示),请注意确保在发出这些请求时不会覆盖您的自定义项。

我们建议使用 Kibana Dev Tools 来运行以下请求。将 <NAME> 替换为给定集成数据流的名称。例如,指定 metrics-nginx.stubstatus 会导致向 _component_template/metrics-nginx.stubstatus@custom 发出 PUT 请求。使用索引管理界面来探索哪些集成数据流可供您使用。

执行完以下给定请求后,您还需要执行数据流滚动,以确保所有传入数据都立即使用您的新设置进行摄取。例如

POST metrics-nginx.stubstatus-default/_rollover

请参考以下步骤来启用或禁用高级数据流功能

启用 TSDS编辑

TSDS 使用合成 _source,因此如果您想试用这两个功能,则只需要启用 TSDS。

由于 Elasticsearch API 中的限制,TSDS 必须在 索引模板 级别启用。因此,您需要发出一些顺序请求来启用或禁用 TSDS。

  1. 发送 GET 请求以检索索引模板

    GET _index_template/<NAME>
  2. 使用从 GET 请求返回的 JSON 负载来填充 PUT 请求,例如

    PUT _index_template/<NAME>
    {
      # You can copy & paste this directly from the GET request above
      "index_patterns": [
        "<index pattern from GET request>"
      ],
    
      # Make sure this is added
      "template": {
        "settings": {
          "index": {
            "mode": "time_series"
          }
        }
      },
    
      # You can copy & paste this directly from the GET request above
      "composed_of": [
        "<NAME>@package",
        "<NAME>@custom",
        ".fleet_globals-1",
        ".fleet_agent_id_verification-1"
      ],
    
      # You can copy & paste this directly from the GET request above
      "priority": 200,
    
      # Make sure this is added
      "data_stream": {
        "allow_custom_routing": false
      }
    }

禁用 TSDS编辑

要禁用 TSDS,请按照与 启用 TSDS 相同的步骤操作,但为 index.mode 指定 null 而不是 time_series。请按照以下步骤操作,或者您可以复制 NGINX 示例

  1. 发送 GET 请求以检索索引模板

    GET _index_template/<NAME>
  2. 使用从 GET 请求返回的 JSON 负载来填充 PUT 请求,例如

    PUT _index_template/<NAME>
    {
      # You can copy/paste this directly from the GET request above
      "index_patterns": [
        "<index pattern from GET request>"
      ],
    
      # Make sure this is added
      "template": {
        "settings": {
          "index": {
            "mode": null
          }
        }
      },
    
      # You can copy/paste this directly from the GET request above
      "composed_of": [
        "<NAME>@package",
        "<NAME>@custom",
        ".fleet_globals-1",
        ".fleet_agent_id_verification-1"
      ],
    
      # You can copy/paste this directly from the GET request above
      "priority": 200,
    
      # Make sure this is added
      "data_stream": {
        "allow_custom_routing": false
      }
    }

    例如,以下负载会禁用 nginx.stubstatus 上的 TSDS

    {
      "index_patterns": [
          "metrics-nginx.stubstatus-*"
      ],
    
      "template": {
        "settings": {
          "index": {
            "mode": null
          }
        }
      },
    
      "composed_of": [
        "metrics-nginx.stubstatus@package",
        "metrics-nginx.stubstatus@custom",
        ".fleet_globals-1",
        ".fleet_agent_id_verification-1"
      ],
    
      "priority": 200,
    
      "data_stream": {
        "allow_custom_routing": false
      }
    }

启用合成 _source编辑

PUT _component_template/<NAME>@custom

{
  "template": {
    "mappings": {
      "_source": {
        "mode": "synthetic"
      }
    }
  }
}

禁用合成 _source编辑

PUT _component_template/<NAME>@custom

{
  "template": {
    "mappings": {
      "_source": {}
    }
  }
}