簡體   English   中英

如何從Cloudwatch獲取AWS Lambda中的日志內容

[英]How can I get log content in AWS Lambda from Cloudwatch

我有這個基本的lambda將圖像發布到Web服務器。 從CloudWatch中的事件,我可以成功記錄該lambda函數中發生的任何事情:

在此輸入圖像描述

從這個日志組(lambda函數)我點擊Stream to AWS Lambda ,選擇了一個新的lambda函數,我期望在其中接收我的日志,並且根本沒有放置任何過濾器,所以我可以得到所有日志。

Lambda被正確觸發,但問題是當我堅持我在eventcontext對象中收到的內容時,我擁有所有CloudWatch日志流信息但我沒有看到任何日志。

我得到了什么:

在此輸入圖像描述

是否需要為我指定過濾器以查看任何日志? 因為在過濾器部分,如果我沒有放置任何過濾器並單擊測試過濾器,我會在預覽窗口中獲取所有日志,這似乎意味着它應該將整個日志發送到我的Lambda函數。 此外,它在我看來AWSLogs中的不可讀流以及它在Base64中的日志,但沒有得到任何試圖轉換它的結果。

是的,如jarmod所述,日志是gzip壓縮和base64編碼的。

NodeJs中用於在lambda中提取相同代碼的示例代碼將是:

var zlib = require('zlib');
exports.handler = (input, context, callback) => {
    var payload = new Buffer(input.awslogs.data, 'base64');
    zlib.gunzip(payload, function(e, result) {
        if (e) { 
            context.fail(e);
        } else {
            result = JSON.parse(result.toString());
            console.log(result);
        }
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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