[英]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.