http - 在Logstash中按时间戳查询项目

标签 http curl elasticsearch logstash

所以我想获取某个时间以来的所有事件,例如"2017-03-02T21:56:53.033Z"以来的所有事件。

我创建了一个runtime_timestamp字段,该字段仅复制了@timestamp字段,因为我正在将这些数据解析为C#,并且@符号在其中不能很好地发挥作用。

这是我的Logstash过滤器,可以起作用。我知道这是一个事实。

 filter {
    mutate {
            add_field => ["runtime_timestamp", "%{@timestamp}"]

    }
}

这是我现在所拥有的,不起作用。
{
 "query": {
 "range": {
  "runtime_timestamp": 
    "2017-03-02T21:56:53.033Z"
},
"_source": {
"includes": [
  "runtime_timestamp",
  "id_orig_p",
  "id_orig_p",
  "id_orig_h",
  "conn_state",
  "id_resp_h",
  "id_resp_p",
  "service",
  "proto",
  "tags"
]
},
"sort": [
{
  "@timestamp": {
    "order": "desc"
  }
}
]
}

现在,我从此查询中收到以下错误。
 {
  "error" : {
  "root_cause" : [
  {
    "type" : "parsing_exception",
    "reason" : "[range] query does not support [runtime_timestamp]",
    "line" : 5,
    "col" : 9
  }
  ],
   "type" : "parsing_exception",
   "reason" : "[range] query does not support [runtime_timestamp]",
   "line" : 5,
   "col" : 9
  },
  "status" : 400
}

我也用timestamp代替runtime_timestamp尝试了此查询,但仍然出现相同的错误。

最佳答案

您的范围查询格式不正确。尝试以下方法(gte表示大于或等于):

{
    "query": {
        "range" : {
            "runtime_timestamp" : {
                "gte": "2017-03-02T21:56:53.033Z", 
            }
        }
    }
}

关于http - 在Logstash中按时间戳查询项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42567104/

相关文章:

ruby - 如何将嵌套的哈希参数传递给searchkick

java - 编写 Hadoop 减少输出到 Elasticsearch

具有嵌套聚合的 Elasticsearch 查询导致内存不足

apache-flex - 如何实现 HTTP 隧道

javascript - 发出 HTTP 请求而不打开新连接

json - 如何将 cURL 转换为 JSON

ruby - 将 `Authorization Bearer` 哈希添加到 Net::HTTP 发布请求(Ruby)

Python:如果脚本在 requests.get() 执行时停止会怎样?

API 设计 - 用 400 响应有用错误消息的最佳方式是什么?

java - 将 Curl url 转换为 Java