小编Pos*_*ion的帖子

在推送到ES之前,Cloudwatch到Elasticsearch解析/标记化日志事件

提前感谢您的帮助.

在我的场景中 - 需要将Cloudwatch多行日志发送到elasticsearch服务.ECS - awslog-> Cloudwatch ---使用lambda - > ES Domain (基本流程虽然非常开放,可以改变数据从CW传送到ES的方式)

我能够使用multi_line_start_pattern来解决多线问题但是我现在遇到的主要问题是 - 我的日志有ODL格式(格式如下)

[yyyy-mm-ddThh:mm:ss.SSS-Z][ProductName-Version][Log Level]
[Message ID][LoggerName][Key Value Pairs][[
Message]]
Run Code Online (Sandbox Code Playgroud)

我想在存储到ES(与完整的日志行)之前解析和标记日志事件. 例如:

[2018-05-31T11:08:49.148-0400] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=43 _ThreadName=Thread-8] [timeMillis: 1527692929148] [levelValue: 800] [[
[] INFO : (DummyApplicationFunctionJPADAO) EntityManagerFactory located under resource lookup name [null], resource name=AuthorizationPU]]
Run Code Online (Sandbox Code Playgroud)

需要使用格式进行解析和标记

    timestamp            2018-05-31T11:08:49.148-0400 
    ProductName-Version glassfish 4.1  
    LogLevel            INFO 
    MessageID
    LoggerName 
   KeyValuePairs tid:  _ThreadID=43 _ThreadName=Thread-8
   Message           [] INFO : (DummyApplicationFunctionJPADAO) 
                    EntityManagerFactorylocated under resource lookup name 
                    [null], resource name=AuthorizationPU
Run Code Online (Sandbox Code Playgroud)

在上面的Key …

amazon-ecs elasticsearch amazon-cloudwatch aws-lambda

5
推荐指数
1
解决办法
596
查看次数