簡體   English   中英

聚合存儲在ElasticSearch中的Jenkins構建日志

[英]Aggregate Jenkins build logs stored in ElasticSearch

我使用Jenkins Logstash插件將我的Jenkins構建日志存儲在ElasticSearch中。

我的配置看起來像這樣:

Logstash配置

該部分效果很好,但我想查看Kibana中的完整日志。

該插件將結果逐步發送到ES,並在每個換行符處中斷。 這意味着長日志在Kibana中看起來可能像這樣:

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM