Kibana 中的索引管理
编辑Kibana 中的索引管理
编辑Kibana 的 索引管理 功能提供了一种简单便捷的方式来管理集群的索引、数据流、索引模板 和 丰富策略。良好的索引管理可以确保您的数据以最经济有效的方式正确存储。
要使用这些功能,请访问 堆栈管理 > 索引管理。
所需的权限
编辑如果您使用 Elasticsearch 安全功能,则需要以下 安全权限
monitor
集群权限,用于访问 Kibana 的 索引管理 功能。view_index_metadata
和manage
索引权限,用于查看数据流或索引的数据。manage_index_templates
集群权限,用于管理索引模板。
要添加这些权限,请访问 堆栈管理 > 安全 > 角色 或使用 创建或更新角色 API。
管理索引
编辑在 索引 视图中调查您的索引并执行操作。
管理数据流
编辑在 数据流 视图中调查您的数据流并解决生命周期管理需求。
索引 列中的值表示支持索引的数量。单击此数字可以深入了解详细信息。
数据保留列中的值表示数据流由 数据流生命周期策略 管理。此值是保证存储数据的期间。Elasticsearch 以后可以删除此期间之前的旧数据。
- 要查看有关数据流的更多信息,例如其生成或其当前索引生命周期策略,请单击数据流的名称。在此视图中,您可以导航到 发现 以进一步探索数据流中的数据。
- [预览] 此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 将致力于修复任何问题,但技术预览中的功能不受正式 GA 功能的支持 SLA 的约束。 要编辑数据保留值,请打开 管理 菜单,然后单击 编辑数据保留。只有当您的数据流未由 ILM 策略管理时,此操作才可用。
管理索引模板
编辑在 索引模板 视图中创建、编辑、克隆和删除您的索引模板。对索引模板所做的更改不会影响现有索引。
试一试:创建索引模板
编辑在本教程中,您将创建一个索引模板并使用它来配置两个新索引。
步骤 1. 添加名称和索引模式
-
在 索引模板 视图中,打开 创建模板 向导。
- 在 名称 字段中,输入
my-index-template
。 - 将 索引模式 设置为
my-index-*
,以便模板与具有该索引模式的任何索引匹配。 - 将 数据流、优先级、版本 和 _meta 字段 保留为空白或原样。
步骤 2. 添加设置、映射和别名
-
将 组件模板 添加到您的索引模板。
组件模板是预配置的映射、索引设置和别名集,您可以在多个索引模板中重复使用它们。徽章指示组件模板是否包含映射 (M)、索引设置 (S)、别名 (A) 或三者的组合。
组件模板是可选的。对于本教程,不要添加任何组件模板。
- 定义索引设置。这些是可选的。对于本教程,请将此部分留空。
-
定义一个映射,其中包含一个名为
geo
的 对象 字段,以及一个名为coordinates
的子geo_point
字段或者,您可以单击 加载 JSON 链接并将映射定义为 JSON
{ "properties": { "geo": { "properties": { "coordinates": { "type": "geo_point" } } } } }
您可以在 动态模板 和 高级选项 选项卡中创建其他映射配置。对于本教程,不要创建任何其他映射。
-
定义一个名为
my-index
的别名{ "my-index": {} }
- 在审阅页面上,检查摘要。如果一切正常,请单击 创建模板。
步骤 3. 创建新索引
您现在可以使用索引模板创建新索引了。
-
索引以下文档以创建两个索引:
my-index-000001
和my-index-000002
。resp = client.index( index="my-index-000001", document={ "@timestamp": "2019-05-18T15:57:27.541Z", "ip": "225.44.217.191", "extension": "jpg", "response": "200", "geo": { "coordinates": { "lat": 38.53146222, "lon": -121.7864906 } }, "url": "https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/charles-fullerton.jpg" }, ) print(resp) resp1 = client.index( index="my-index-000002", document={ "@timestamp": "2019-05-20T03:44:20.844Z", "ip": "198.247.165.49", "extension": "php", "response": "200", "geo": { "coordinates": { "lat": 37.13189556, "lon": -76.4929875 } }, "memory": 241720, "url": "https://theacademyofperformingartsandscience.org/people/type:astronauts/name:laurel-b-clark/profile" }, ) print(resp1)
response = client.index( index: 'my-index-000001', body: { "@timestamp": '2019-05-18T15:57:27.541Z', ip: '225.44.217.191', extension: 'jpg', response: '200', geo: { coordinates: { lat: 38.53146222, lon: -121.7864906 } }, url: 'https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/charles-fullerton.jpg' } ) puts response response = client.index( index: 'my-index-000002', body: { "@timestamp": '2019-05-20T03:44:20.844Z', ip: '198.247.165.49', extension: 'php', response: '200', geo: { coordinates: { lat: 37.13189556, lon: -76.4929875 } }, memory: 241_720, url: 'https://theacademyofperformingartsandscience.org/people/type:astronauts/name:laurel-b-clark/profile' } ) puts response
const response = await client.index({ index: "my-index-000001", document: { "@timestamp": "2019-05-18T15:57:27.541Z", ip: "225.44.217.191", extension: "jpg", response: "200", geo: { coordinates: { lat: 38.53146222, lon: -121.7864906, }, }, url: "https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/charles-fullerton.jpg", }, }); console.log(response); const response1 = await client.index({ index: "my-index-000002", document: { "@timestamp": "2019-05-20T03:44:20.844Z", ip: "198.247.165.49", extension: "php", response: "200", geo: { coordinates: { lat: 37.13189556, lon: -76.4929875, }, }, memory: 241720, url: "https://theacademyofperformingartsandscience.org/people/type:astronauts/name:laurel-b-clark/profile", }, }); console.log(response1);
POST /my-index-000001/_doc { "@timestamp": "2019-05-18T15:57:27.541Z", "ip": "225.44.217.191", "extension": "jpg", "response": "200", "geo": { "coordinates": { "lat": 38.53146222, "lon": -121.7864906 } }, "url": "https://media-for-the-masses.theacademyofperformingartsandscience.org/uploads/charles-fullerton.jpg" } POST /my-index-000002/_doc { "@timestamp": "2019-05-20T03:44:20.844Z", "ip": "198.247.165.49", "extension": "php", "response": "200", "geo": { "coordinates": { "lat": 37.13189556, "lon": -76.4929875 } }, "memory": 241720, "url": "https://theacademyofperformingartsandscience.org/people/type:astronauts/name:laurel-b-clark/profile" }
-
使用 获取索引 API 查看新索引的配置。这些索引是使用您之前创建的索引模板配置的。
resp = client.indices.get( index="my-index-000001,my-index-000002", ) print(resp)
response = client.indices.get( index: 'my-index-000001,my-index-000002' ) puts response
const response = await client.indices.get({ index: "my-index-000001,my-index-000002", }); console.log(response);
GET /my-index-000001,my-index-000002
管理丰富策略
编辑使用 丰富策略 视图在摄取过程中将来自现有索引的数据添加到传入文档中。丰富策略包含
- 确定策略如何将丰富数据与传入文档匹配的策略类型
- 将丰富数据存储为文档的源索引
- 用于匹配传入文档的源索引中的字段
- 包含来自源索引的丰富数据(您想要添加到传入文档中的数据)的丰富字段
- 可选 查询。
创建丰富策略时,UI 将引导您完成配置设置和字段选择。在您可以将策略与丰富处理器或 ES|QL 查询一起使用之前,必须执行该策略。
执行后,丰富策略将使用策略的源索引中的丰富数据来创建一个简化的系统索引,称为丰富索引。策略使用此索引来匹配和丰富传入文档。
查看这些示例