回答

0

編程,使用boto3(蟒蛇),

log_client=boto3.client('logs') 
result_1=log_client.describe_log_streams(logGroupName='<NAME>') 

(我不知道是什麼日誌組名字EC2實例樣子;對於LAMBDA他們是形式'/aws/lambda/FuncName'的嘗試抓住你看到的名稱在控制檯中)。

result_1包含兩個有用的鍵:logStreams(你想要的結果)和nextToken(對於分頁,我會讓你查看使用情況)。

現在result_1['logStreams']是包含logStreamName的對象列表。 firstEventTimestamplastEventTimestamp也是有用的。

現在,你有日誌流的名稱,你可以使用

log_client.get_log_events(logGroupName='<name>',logStreamName='<name>' 

的響應包含要在日誌事件分頁nextForwardTokennextBackwardTokenevents。每個事件包含一個timestamp和一個message

我會留給你看看API來看看其他參數對你有用。順便說一下,控制檯可讓您將日誌流式傳輸到S3存儲桶或AWS的ElasticSearch服務。 ElasticSearch使用起來很愉快,Kibana的用戶界面非常直觀,即使不學習查詢語言,也可以得到結果。

0

您可以使用控制檯或AWS CLI將CloudWatch日誌下載到Amazon S3。您需要知道日誌組名稱,從&到日誌中的時間戳,目標存儲桶和前綴。亞馬遜爲您的日誌建議一個單獨的S3存儲桶。一旦你有一個桶,你創建一個導出任務,在(在控制檯中)導航 - 日誌 - 選擇你的日誌組 - 操作 - 導出數據到S3 - 填寫你的導出細節 - 選擇導出數據。亞馬遜的文檔解釋得非常好:http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html。如果你想使用它,CLI命令也在那裏。我想象用CLI你也可以編寫你的導出腳本,但是你必須以某種方式定義變量,所以你不要覆蓋現有的導出。

如果這是您的整體AWS災難恢復計劃的一部分,您可能需要查看一些技巧&最佳實踐,例如Amazon關於AWS災難恢復的白皮書以及NetApp關於使用cloud for disaster recovery的討論。