elasticsearch - ELK-Stack 中未使用/处理的索引模板
问题描述
我的 ELK 堆栈有一些问题。我已经使用 Winlogbeat(用于读取 EVTX 文件)、Elasticsearch 和 Kibana 建立了一个 ELK 堆栈。在 Winlogbeat 中可以定义模板或使用通用模板 ECS。fields.yml 文件已经实现。当我处理我的数据时,一切都很顺利。数据也出现在 elasticsearch/kibana 中。问题是,winlog.record_id 或 winlog.channel 等典型字段的类型在 kibana 中以文本形式出现,而不是作为关键字定义。
我尝试了许多不同的组合来处理 Winlogbeat 中的数据,但我不确定 Winlogbeat 是否真的是问题所在。
我当前的 Winlogbeat 配置如下所示:
winlogbeat.event_logs:
- name: 'c:\path\to\evtx\file.evtx'
setup.template.enabled: true
setup.template.fields: "c:/path/to/fields.yml"
setup.template:
name: "test_"
pattern: "test_*"
overwrite: true
settings:
index.number_of_shards: 1
setup.ilm.enabled: false
output.elasticsearch:
enabled: true
hosts: ["localhost:9200"]
index: "test_evtx"
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- add_docker_metadata: ~
我为 Elasticsearch、Kibana 和 Winlogbeat 使用 7.5.2 版本。
根据我目前的知识,配置是正确的。困扰我的是,在“管理 > 索引管理 > 索引模板”菜单中,我可以看到我的测试索引使用的当前模板。那里的映射设置是正确的,类似于fields.yml中的设置,但是如果我不参考Winlogbeat配置文件中的fields.yml,它们也是这样的。另一方面,如果设置了模板,Kibana 应该在使用创建的索引模式发布数据时使用它,对吧?但是这里的字段类型对于 90% 的情况是文本类型,而不是索引模板中推荐的类型。
因此,要么我误解了索引(模板/模式)的整个概念,要么出现了其他任何问题。有人有建议吗?
解决方案
推荐阅读
- javascript - 将 Ag-grid 与嵌套对象的对象一起使用
- go - 如何在 go-elasticsearch 中使用 gin?
- c - 我如何阅读这个递归 c 编程
- python - 是否有 Python 函数可以并行运行代码?
- python - 无法在 anaconda jupyter notebook 中使用 python 显示图像
- c++ - 彩色鼠标移动
- python-3.x - TKinter 打开文件对话框是否有替代方法?
- python - Python 3:读取一行时的 EOF(Visual Studio 代码)
- javascript - 页面加载后获取 HTML 信息
- jmeter - 我应该为 15 个线程组 100 个用户以下的 Ramp up period 时间