Kibana 中的索引管理
编辑Kibana 中的索引管理
编辑Kibana 的 索引管理 功能提供了一种简单便捷的方式来管理您的集群索引、数据流、索引模板 和 丰富策略。实践良好的索引管理可确保您的数据以正确且最具成本效益的方式存储。
要使用这些功能,请转到 堆栈管理 > 索引管理。
所需的权限
编辑如果您使用 Elasticsearch 安全功能,则需要以下 安全权限
- 使用
monitor
集群权限访问 Kibana 的 索引管理 功能。 - 使用
view_index_metadata
和manage
索引权限查看数据流或索引的数据。 - 使用
manage_index_templates
集群权限管理索引模板。
要添加这些权限,请转到 堆栈管理 > 安全 > 角色 或使用 创建或更新角色 API。
管理索引
编辑在 索引 视图中调查您的索引并执行操作。
管理数据流
编辑在 数据流 视图中调查您的数据流并满足生命周期管理需求。
索引 列中的值表示支持索引的数量。单击此数字以深入了解详细信息。
数据保留列中的值表示数据流由 数据流生命周期策略 管理。此值是保证存储数据的时间段。超过此时间段的数据可能会在稍后由 Elasticsearch 删除。
- 要查看有关数据流的更多信息,例如其生成或其当前的索引生命周期策略,请单击流的名称。在此视图中,您可以导航到 Discover 以进一步浏览数据流中的数据。
- [预览] 此功能为技术预览版,可能会在未来版本中更改或删除。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 查询使用策略之前,您必须执行该策略。
执行后,丰富策略会使用策略源索引中的丰富数据来创建名为丰富索引的精简系统索引。策略使用此索引来匹配和丰富传入文档。
查看以下示例