jenkins - 使用 ELK 从日志中获取 Jenkins 构建数据
问题描述
我目前正在使用 filebeat 从 /var/log/jenkins 发送我的 Jenkins 构建日志。我使用 Logstash 了解构建日志,因此我可以在 Kibana 中显示成功/失败等,并制作一些仪表板 --> 这很好用。我似乎无法得到的一件事是整个工作的总构建时间。我正在使用管道和多管道构建作业类型。我可以在控制台日志中看到构建阶段的总时间,但无论我为 Jenkins 全局设置的日志级别如何,这些都不会显示在日志中。有没有人设法做到这一点?谢谢
解决方案
我们一直在使用这个 Jenkins logstash-plugin https://wiki.jenkins.io/display/JENKINS/Logstash+Plugin 成功地将数据从 Jenkins 作业存储到 elasticsearch。
此插件支持的索引器可在此链接中找到 https://wiki.jenkins.io/display/JENKINS/Logstash+Plugin#LogstashPlugin-IndexersCurrentlySupported
我们使用的是弹性搜索索引器,它将数据直接存储到弹性搜索,但如果您希望数据通过 logstash 传输,您可以使用 Logstash 索引器。
数据的有效负载格式如下 https://wiki.jenkins.io/display/JENKINS/Logstash+Plugin#LogstashPlugin-JSONPayloadFormat
推荐阅读
- javascript - 拆分字符串并获取倒数第二个逗号
- ruby - 当我给出颜色名称时,我怎么能得到一个十六进制代码
- php - 如何删除包装长文本的特定单词的html标签
- php - 即使路径正确,图像也无法加载
- gradle - Gradle Copy 任务与 eachFile if 子句工作不一致,我做错了什么?
- android - FloatingActionMenu 上的 setOnTouchListener 无法正常工作
- javascript - 有没有更好的方法来实现基于范围的 if 语句?
- docker - 如何通过公共 IP 将整个 docker swarm 集群暴露给外部世界?
- css - 选择选项在 Mozilla Firefox 上是透明的
- angular - Angular 6 Keyup 自动货币