>
我的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中分析我的数据。
的确。
curl localhost:9200/tomcat-log/_search
将返回前10个文档以及索引中的文档总数。
curl localhost:9200/tomcat-log/_search -d '{
"query": {
"match": {
"level" : "error"
}
}
}'
可能会为您提供tomcat-log中级别等于error的所有文档。
看看这本书的这一部分。会有所帮助。