使用 的 CloudWatch Logs 範例 AWS CLI - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 的 CloudWatch Logs 範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CloudWatch Logs 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 create-log-group

AWS CLI

下列命令會建立名為 的日誌群組my-logs

aws logs create-log-group --log-group-name my-logs
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateLogGroup

下列程式碼範例示範如何使用 create-log-stream

AWS CLI

下列命令會在日誌群組 20150601中建立名為 的日誌串流my-logs

aws logs create-log-stream --log-group-name my-logs --log-stream-name 20150601
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateLogStream

下列程式碼範例示範如何使用 delete-log-group

AWS CLI

下列命令會刪除名為 的日誌群組my-logs

aws logs delete-log-group --log-group-name my-logs
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteLogGroup

下列程式碼範例示範如何使用 delete-log-stream

AWS CLI

下列命令20150531會從名為 的日誌群組中刪除名為 的日誌串流my-logs

aws logs delete-log-stream --log-group-name my-logs --log-stream-name 20150531
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteLogStream

下列程式碼範例示範如何使用 delete-retention-policy

AWS CLI

下列命令會移除先前套用至名為 之日誌群組的保留政策my-logs

aws logs delete-retention-policy --log-group-name my-logs

下列程式碼範例示範如何使用 describe-log-groups

AWS CLI

下列命令描述名為 的日誌群組my-logs

aws logs describe-log-groups --log-group-name-prefix my-logs

輸出:

{ "logGroups": [ { "storedBytes": 0, "metricFilterCount": 0, "creationTime": 1433189500783, "logGroupName": "my-logs", "retentionInDays": 5, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:*" } ] }
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeLogGroups

下列程式碼範例示範如何使用 describe-log-streams

AWS CLI

下列命令顯示以日誌群組 2015中的字首開頭的所有日誌串流my-logs

aws logs describe-log-streams --log-group-name my-logs --log-stream-name-prefix 2015

輸出:

{ "logStreams": [ { "creationTime": 1433189871774, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150531", "logStreamName": "20150531", "storedBytes": 0 }, { "creationTime": 1433189873898, "arn": "arn:aws:logs:us-west-2:0123456789012:log-group:my-logs:log-stream:20150601", "logStreamName": "20150601", "storedBytes": 0 } ] }

下列程式碼範例示範如何使用 get-log-events

AWS CLI

下列命令會從日誌群組 20150601中名為 的日誌串流擷取日誌事件my-logs

aws logs get-log-events --log-group-name my-logs --log-stream-name 20150601

輸出:

{ "nextForwardToken": "f/31961209122447488583055879464742346735121166569214640130", "events": [ { "ingestionTime": 1433190494190, "timestamp": 1433190184356, "message": "Example Event 1" }, { "ingestionTime": 1433190516679, "timestamp": 1433190184356, "message": "Example Event 1" }, { "ingestionTime": 1433190494190, "timestamp": 1433190184358, "message": "Example Event 2" } ], "nextBackwardToken": "b/31961209122358285602261756944988674324553373268216709120" }
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetLogEvents

下列程式碼範例示範如何使用 put-log-events

AWS CLI

下列命令會將日誌事件放入日誌群組 20150601中名為 的日誌串流my-logs

aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events

輸出:

{ "nextSequenceToken": "49542672486831074009579604567656788214806863282469607346" }

上述範例會從目前目錄中名為 的檔案讀取事件的 JSON events 陣列:

[ { "timestamp": 1433190184356, "message": "Example Event 1" }, { "timestamp": 1433190184358, "message": "Example Event 2" }, { "timestamp": 1433190184360, "message": "Example Event 3" } ]

每次後續呼叫都需要使用序列權杖選項指定上一次呼叫提供的下一個序列權杖:

aws logs put-log-events --log-group-name my-logs --log-stream-name 20150601 --log-events file://events2 --sequence-token "49542672486831074009579604567656788214806863282469607346"

輸出:

{ "nextSequenceToken": "49542672486831074009579604567900991230369019956308219826" }
  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutLogEvents

下列程式碼範例示範如何使用 put-retention-policy

AWS CLI

下列命令會將 5 天保留政策新增至名為 的日誌群組my-logs

aws logs put-retention-policy --log-group-name my-logs --retention-in-days 5