任何匹配十进制时间戳的elasticsearch数据类型?
any elasticsearch datatype matching decimal timestamp?
我有一个来自日志文件的时间戳,例如 {"ts" : "1486418325.948487"}
我的基础架构是 "filebeat" 5.2.0 --> "elasticsearch" 5.2
我尝试将 "ts" 映射到 "date" -- "epoch_second" 但是在 filebeat 中写入失败。
PUT /auth_auditlog
{
"mappings": {
"auth-auditlogs": {
"properties": {
"ts": {
"type": "date",
"format": "epoch_second"
}
}
}
}
}
filebeat 错误消息如
WARN Can not index event (status=400): {"type":"mapper_parsing_exception","reason":"failed to parse [ts]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"1486418325.948487\""}}
我试过使用“1486418325”是可以的,所以我猜 es 不接受十进制格式的时间戳。但是,python 默认输出时间戳是这种格式。
我的目的是在elasticsearch中正确输入。我想在 elasticsearch 中使用 ts 作为原始时间戳。
除了更改原始日志数据外,欢迎任何解决方案!
Filebeat 没有处理此类内容的处理器。您不能将 @timestamp
替换为您的日志在 Filebeat 中的那个。您可以做的是将这些东西发送到 logstash,然后让 date
过滤器解析纪元。
date {
match => ["timestamp","UNIX","UNIX_MS"]
}
另一种选择是使用摄取节点。虽然我自己没有用过这个,但它似乎也能胜任这项工作。查看文档 here.
我有一个来自日志文件的时间戳,例如 {"ts" : "1486418325.948487"} 我的基础架构是 "filebeat" 5.2.0 --> "elasticsearch" 5.2
我尝试将 "ts" 映射到 "date" -- "epoch_second" 但是在 filebeat 中写入失败。
PUT /auth_auditlog
{
"mappings": {
"auth-auditlogs": {
"properties": {
"ts": {
"type": "date",
"format": "epoch_second"
}
}
}
}
}
filebeat 错误消息如
WARN Can not index event (status=400): {"type":"mapper_parsing_exception","reason":"failed to parse [ts]","caused_by":{"type":"illegal_argument_exception","reason":"Invalid format: \"1486418325.948487\""}}
我试过使用“1486418325”是可以的,所以我猜 es 不接受十进制格式的时间戳。但是,python 默认输出时间戳是这种格式。
我的目的是在elasticsearch中正确输入。我想在 elasticsearch 中使用 ts 作为原始时间戳。 除了更改原始日志数据外,欢迎任何解决方案!
Filebeat 没有处理此类内容的处理器。您不能将 @timestamp
替换为您的日志在 Filebeat 中的那个。您可以做的是将这些东西发送到 logstash,然后让 date
过滤器解析纪元。
date {
match => ["timestamp","UNIX","UNIX_MS"]
}
另一种选择是使用摄取节点。虽然我自己没有用过这个,但它似乎也能胜任这项工作。查看文档 here.