提问者:小点点

有人可以提供REST API列表来查询elasticsearch吗?


>

  • 我正在尝试通过logstash将我的日志推送到elasticsearch。
  • 我的logstash. conf有2个日志文件作为输入;elasticsearch作为输出;和grok作为过滤器。这是我的grok匹配:

    grok {
      match => [ "message", "(?<timestamp>[0-9]{4}-[0-9]{2}-[0-9]{2}
    [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}) 
    (?:\[%{GREEDYDATA:caller_thread}\]) (?:%{LOGLEVEL:level}) 
    (?:%{DATA:caller_class})(?:\-%{GREEDYDATA:message})" ]
       }
    

    启动elasticsearch时,我的所有日志都将使用logstash. conf中提到的单独索引名称添加到elasticsearch服务器。

    http://164.99.178.18:9200/_cat/indices?vAPI给了我以下信息:

    健康状况指数pri rep docs. count docs.已删除store.sizepri.store.size

    yellow open   tomcat-log      5   1       6478            0      1.9mb          1.9mb 
    
    yellow open   apache-log      5   1        212            0      137kb   
       137kb 
    

    我读到elasticsearch是基于REST的搜索引擎。因此,如果有任何REST API可用于在elasticsearch中分析我的数据。


  • 共1个答案

    匿名用户

    的确。

    curl localhost:9200/tomcat-log/_search
    

    将返回前10个文档以及索引中的文档总数。

    curl localhost:9200/tomcat-log/_search -d '{
      "query": {
        "match": {
          "level" : "error"
        }
      }
    }'
    

    可能会为您提供tomcat-log中级别等于error的所有文档。

    看看这本书的这一部分。会有所帮助。