0

我有幾個lambda函數。我需要從我的所有lambda函數中生成日誌並加載到我們的內部數據倉庫中。我想到了這些解決方案。我需要從雲觀看日誌中刪除日誌並將其加載到s3,並從s3加載到數據倉庫

  1. 已將lambda函數訂閱到我的lambda函數的cloudwatch日誌組,並拋光並記錄消息並將其推送到s3。

    • 優點:工作和實施起來很簡單。
    • 缺點:我沒有辦法讓 「重放」。說我的出口商出於某種原因失敗。我不能 重播此動作。
  2. 有一個每10分鐘左右運行一次的lambda函數並創建導出任務並從cloudwatch中刪除日誌並將它們加載到s3。

    import boto3 
    client = boto3.client('logs') 
    response = client.create_export_task(
    taskName='export_task', 
    logGroupName='/aws/lambda/<lambda_function_1>', 
    fromTime=from_time, 
    to=to_time, 
    destination='<application_logs>', 
    destinationPrefix='<lambda_function_1>' 
    ) 
    
    
    response = client.create_export_task(
    taskName='export_task', 
    logGroupName='/aws/lambda/<lambda_function_2>', 
    fromTime=from_time, 
    to=to_time, 
    destination='<application_logs>', 
    destinationPrefix='<lambda_function_2>' 
    

    二create_export_task這裏

    An error occurred (LimitExceededException) when calling the 
    CreateExportTask operation: Resource limit exceeded." 
    

失敗,我不能創建多個導出任務。有沒有辦法解決這個問題?

回答

0

您創建(創建)了多少個日誌組?有一個限制,我認爲是每個帳戶5000個日誌組。此錯誤表示:「由於」LimitExceededException「,Lambda無法創建日誌組。

在CloudWatch中查找以」/ aws/lambda /「開頭的名稱,我將使用CLI列出日誌組和然後像「WC」一個程序來計算數量。

您可以聯繫亞馬遜的支持,以增加此限制。

Limit Increase

+0

so Aws爲每個lambda函數創建一個日誌組。我沒有創建日誌組的問題。我有創建導出任務的問題。 –

+0

我認爲你需要在調用第二個create_export_task之前添加一個延遲。 –

+0

是啊..但尋找更優雅的解決方案。 –

相關問題