【发布时间】:2021-05-20 09:54:07
【问题描述】:
让我们从我的设置开始。 应用程序服务器将日志文件发送到 kinesis 数据流,然后将它们发送到 kinesis firehose,最终将它们发送到弹性搜索。 所有 kinesis 组件都是 AWS 特定的工具。 总而言之,这意味着我几乎无法控制弹性搜索之前的设置。 也就是说,日志正在正确流动并到达弹性搜索。到目前为止,一切都很好。 问题是映射完全错误。所有字段都标记为文本,并且无法识别时间戳。 我已经为具有正确映射的新索引准备了一个模板:
{
"cms_access-template": {
"order": 0,
"index_patterns": [
"cms_access-*"
],
"settings": {},
"mappings": {
"properties": {
"request": {
"type": "text"
},
"referrer": {
"type": "text"
},
"agent": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"size": {
"type": "integer"
},
"ident": {
"type": "text"
},
"host": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"client": {
"type": "ip"
},
"time": {
"type": "integer"
},
"user": {
"type": "text"
},
"X-Forwarder-For": {
"type": "text"
},
"status": {
"type": "text",
"fields": {
"keyword": {
"ignore_above": 256,
"type": "keyword"
}
}
},
"timestamp": {
"format": "dd/MMM/yyyy:HH:mm:ss +SSSS",
"type": "date"
}
}
},
"aliases": {}
}
}
如您所见,这是一个简单的 apache 访问日志。 当我尝试基于这些索引创建索引模式时,无法识别时间戳,并且所有字段都设置为文本。
我是弹性搜索的新手,也许我遗漏了一些东西。 模板是否用于为新索引准备映射?如果是这样,如何链接它们? 我四处搜索,发送带有索引的映射似乎很常见。但我不能这样做,因为 AWS 中使用的 kinesis 工具没有办法。 您能帮我创建将从模板中获取映射的新索引吗?
【问题讨论】:
-
您能发送一份数据样本吗? json格式(来自elastic),如果可能的话,来源(集成到elastic之前)?
标签: elasticsearch amazon-kinesis elk amazon-kinesis-firehose