[英]Aggregate Jenkins build logs stored in ElasticSearch
我使用Jenkins Logstash插件将我的Jenkins构建日志存储在ElasticSearch中。
我的配置看起来像这样:
该部分效果很好,但我想查看Kibana中的完整日志。
该插件将结果逐步发送到ES,并在每个换行符处中断。 这意味着长日志在Kibana中看起来可能像这样:
每行是一个巨大的JSON输出,其中包含我不关心的大量字段。 我真的只关心消息字段。
我正在阅读有关聚合器的信息,这些聚合器似乎是我所需要的,但是我的结果并没有达到我想要的。
curl -X GET "localhost:9200/_search" -H 'Content-Type: application/json' -d'
{
"aggs" : {
"buildLog" : {
"terms" : {
"field" : "data.url"
}
}
}
}'
打印出一大堆没有我需要的json。
在理想的情况下,我想将每个data.url中的每个消息字段连接起来并获取它。
在SQL中,对此的单个查询可能类似于:
SELECT message FROM jenkins-logstash WHERE data.url='job/playground/36' ORDER BY ASC
其中“ job / playground / 36”是每个data.url的一个示例。
我该怎么做呢?
更新:比以前更好的答案。
我仍然最终使用FileBeat,但是使用ELK v6.5。+ Kibana有一个日志UI! https://www.elastic.co/guide/en/kibana/current/logs-ui.html
FileBeat的默认配置可以正常使用。
__
旧答案:
我最终通过使用FileBeat收集所有日志,然后使用Kibana日志查看器观看每个日志来解决此问题。 我根据source
过滤,然后使用了日志的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.