首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ELK Stack从日志中创建json对象

用ELK Stack从日志中创建json对象
EN

Stack Overflow用户
提问于 2017-03-17 18:46:03
回答 1查看 366关注 0票数 0

我有一些日志是由质量中心(HP Alm)和Jenkins之间的桥梁生成的:如下所示:

代码语言:javascript
复制
    Building in workspace D:\Tools\Jenkins\workspace\*******-JenkinsWithQC
[Dani-JenkinsWithQC] $ D:\Tools\Jenkins\workspace\*******-JenkinsWithQC\HpToolsLauncher.exe -paramfile props20022014150821066.txt
"Started..."
Timeout is set to: 5
Run mode is set to: RUN_REMOTE
============================================================================
Starting test set execution
Test set name: JenkinsIntegartionTest, Test set id: 2457
"Number of tests in set: "2
Test 1: [1]Login will run on host: si0vm839
Test 2: [1]Logout will run on host: si0vm839
"Scheduler started at:20.02.2014 15:08:28
-------------------------------------------------------------------------------------------------------
20.02.2014 15:08:29 Running: [1]Login
20.02.2014 15:08:29 Running test: [1]Login, Test id: 938, Test instance id: 1412
Test: [1]Login, Id: 1412, Execution status: Running
Test: [1]Login, Id: 1412, Execution status: Error, Message: Access is denied
20.02.2014 15:08:33 Test complete: [1]Login
-------------------------------------------------------------------------------------------------------
20.02.2014 15:08:33 Running: [1]Logout
20.02.2014 15:08:33 Running test: [1]Logout, Test id: 939, Test instance id: 1413
Test: [1]Logout, Id: 1413, Execution status: Running
Test: [1]Logout, Id: 1413, Execution status: Error, Message: Access is denied
==============\nJob timed out!\n==============
================================================
Run status: Job failed, total tests: 2, succeeded: 0, failures: 0, errors: 2
Build step 'Execute HP tests from HP ALM' changed build result to FAILURE
Finished: FAILURE

我想从这些日志中创建一个JSON,看起来如下所示:

代码语言:javascript
复制
{
    'Build': {
         'TestSet': [
             {
                  'name' .   : 'execution',
                  'id'       : 2457,
                  'startedAt': '20.02.2014 15:08:28',
                  'nbOfTests': 2,
                  'tests' .  : [
                      {
                           'name': "[1]Login",
                           'host': "si0vm839"
                      }
                  ]

             } 
         ]
    }
}

我可以用python脚本来完成这个任务,它可以一行一行地处理regex并创建JSON,但是我认为它不是经过优化的,因为我是Python的新手.

我想知道是否可以用Logstash将它们存储在Elasticsearch中,并构建一个kanban仪表板.

谢谢你的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2017-03-17 21:13:59

可以用Logstash来完成它,涉及到吞食的多行编解码器和一些真正令人讨厌的grok语句。这不是我所期待的项目。事实上,我会用两种方法来解决这个问题:

使用ruby过滤器

这允许内联红宝石按摩大量的字符串到您想要的字段在事件。实际上,您正在以这种方式编写自己的codec

使用exec输入

这将其转换为可解析格式的过程卸载为外部脚本,然后外部脚本将其发送到logstash以注入到ElasticSearch中。因为我不认为你每秒钟要运行多个这样的程序,这可能对你有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42865050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档