2017-08-21 52 views
1

我正在使用資源受限系統,無法使用文件系統和網絡。我在這個系統中生成了一些日誌,併發布這些日誌作爲我的迴應的一部分。這些日誌與響應分離併發布到Kinesis。 我有JsonLayout中的以下日誌數據作爲Kinesis的有效負載。將Kinesis的日誌數據寫入Cloudwatch的最佳方式是什麼?

{ 
    "timeMillis" : 1503336276808, 
    "thread" : "main", 
    "level" : "ERROR", 
    "loggerName" : "com.psr", 
    "message" : "From tests", 
    "endOfBatch" : false, 
    "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger", 
    "threadId" : 1, 
    "threadPriority" : 5 
} 
{ 
    "timeMillis" : 1503336312411, 
    "thread" : "main", 
    "level" : "ERROR", 
    "loggerName" : "com.psr", 
    "message" : "more logs", 
    "endOfBatch" : false, 
    "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger", 
    "threadId" : 1, 
    "threadPriority" : 5 
} 

我想利用這些日誌來衡量指標,並且可以在未來輕鬆搜索。 Cloudwatch似乎是實現這些目標的完美目的地。

當前計劃是使用AWS lambda並將有效負載直接記錄到cloudwatch。這看起來不夠優雅和嘈雜,因爲日誌和日誌組的時間將被lambda中的最終日誌記錄時間所包裹。

有沒有更好的方法來做到這一點?

回答

1

我們使用lambda做了類似的解決方案。

我們創建kinesis作爲lambda的觸發器,我們做一些清理並將數據插入到彈性搜索中。使用Kibana,我們搜索日誌數據並對日誌數據應用過濾。

正如您所提到的,您有一些限制條件可以驗證此解決方案適合您。

您還可以使用elasticsearch查找kinesis firehose集成

相關問題