Bird
Raised Fist0
AWScloud~5 mins

Log groups and log streams in AWS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a log group in AWS CloudWatch Logs?
A log group is a container for log streams that share the same retention, monitoring, and access control settings. Think of it like a folder that holds related logs.
Click to reveal answer
beginner
What is a log stream in AWS CloudWatch Logs?
A log stream is a sequence of log events from the same source, like a single file inside a folder. Each stream belongs to one log group.
Click to reveal answer
beginner
How do log groups and log streams relate to each other?
Log groups contain multiple log streams. Each log stream holds logs from one source or instance, while the log group organizes these streams together.
Click to reveal answer
intermediate
Why is it important to set retention policies on log groups?
Retention policies automatically delete old logs after a set time. This helps save storage space and control costs.
Click to reveal answer
intermediate
Can multiple applications write to the same log group?
Yes, multiple applications can write to different log streams within the same log group, keeping their logs organized but separate.
Click to reveal answer
What does a log stream represent in AWS CloudWatch Logs?
AA container for multiple log groups
BA dashboard for monitoring logs
CA policy to delete old logs
DA sequence of log events from a single source
Where do you set retention policies for logs in AWS CloudWatch?
AOn individual log events
BOn log streams
COn log groups
DOn AWS IAM roles
Can a log stream belong to multiple log groups?
ANo, it belongs to only one log group
BYes, it can belong to many log groups
COnly if the log group is deleted
DOnly for AWS managed log streams
What is the best way to organize logs from different applications?
AUse one log group with one log stream
BUse separate log groups for each application
CWrite logs directly to S3 buckets
DUse one log stream for all applications
What happens if you do not set a retention policy on a log group?
ALogs are kept indefinitely
BLogs are archived automatically
CLogs are deleted immediately
DLogs are sent to another AWS account
Explain the difference between a log group and a log stream in AWS CloudWatch Logs.
Think of folders and files.
You got /3 concepts.
    Describe why setting retention policies on log groups is important.
    Consider storage and cost management.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a log group in AWS CloudWatch Logs?
      easy
      A. To organize multiple log streams into a single container
      B. To store individual log events directly
      C. To control user access to AWS services
      D. To monitor AWS billing and cost usage

      Solution

      1. Step 1: Understand log group role

        A log group acts as a container for multiple log streams, grouping logs by application or resource.
      2. Step 2: Differentiate from other options

        Log events are stored in log streams, not directly in log groups. Access control and billing are unrelated.
      3. Final Answer:

        To organize multiple log streams into a single container -> Option A
      4. Quick Check:

        Log group = container for log streams [OK]
      Hint: Log groups hold streams, streams hold logs [OK]
      Common Mistakes:
      • Confusing log groups with log streams
      • Thinking logs are stored directly in log groups
      • Mixing log groups with access control or billing
      2. Which of the following is the correct way to create a log stream named appStream inside a log group appGroup using AWS CLI?
      easy
      A. aws logs create-log-group --log-stream-name appStream --log-group-name appGroup
      B. aws logs create-log-stream --name appStream --group appGroup
      C. aws logs create-log-stream appGroup appStream
      D. aws logs create-log-stream --log-group-name appGroup --log-stream-name appStream

      Solution

      1. Step 1: Identify correct AWS CLI command syntax

        The command to create a log stream is aws logs create-log-stream with parameters --log-group-name and --log-stream-name.
      2. Step 2: Verify aws logs create-log-stream --log-group-name appGroup --log-stream-name appStream matches syntax

        aws logs create-log-stream --log-group-name appGroup --log-stream-name appStream correctly uses the command and parameters in the right order and names.
      3. Final Answer:

        aws logs create-log-stream --log-group-name appGroup --log-stream-name appStream -> Option D
      4. Quick Check:

        Correct CLI syntax = aws logs create-log-stream --log-group-name appGroup --log-stream-name appStream [OK]
      Hint: Remember: create-log-stream needs both group and stream names [OK]
      Common Mistakes:
      • Using create-log-group instead of create-log-stream
      • Swapping parameter names
      • Omitting required flags
      3. Given the following AWS CLI commands executed in order:
      aws logs create-log-group --log-group-name myAppLogs
      aws logs create-log-stream --log-group-name myAppLogs --log-stream-name stream1
      aws logs put-log-events --log-group-name myAppLogs --log-stream-name stream1 --log-events '[{"timestamp":1609459200000,"message":"Start"}]'
      aws logs describe-log-streams --log-group-name myAppLogs

      What will the describe-log-streams command output include?
      medium
      A. A list containing one log stream named 'stream1' with stored events
      B. An empty list because no log streams exist yet
      C. An error stating the log group does not exist
      D. A list of all log groups in the account

      Solution

      1. Step 1: Trace commands creating log group and stream

        The first two commands create a log group 'myAppLogs' and a log stream 'stream1' inside it.
      2. Step 2: Put log event and describe streams

        The third command adds a log event to 'stream1'. The last command lists streams in 'myAppLogs', so it will show 'stream1' with events.
      3. Final Answer:

        A list containing one log stream named 'stream1' with stored events -> Option A
      4. Quick Check:

        Created stream appears in describe output [OK]
      Hint: Create group and stream before putting logs [OK]
      Common Mistakes:
      • Expecting empty list before adding streams
      • Confusing log groups with streams in output
      • Assuming describe lists groups, not streams
      4. You run this AWS CLI command:
      aws logs put-log-events --log-group-name myGroup --log-stream-name myStream --log-events '[{"timestamp":1609459200000,"message":"Hello"}]'

      But you get an error saying the log stream does not exist. What is the most likely fix?
      medium
      A. Remove the timestamp from the log event
      B. Change the log group name to an existing group
      C. Create the log stream 'myStream' inside 'myGroup' before putting events
      D. Use the create-log-group command instead

      Solution

      1. Step 1: Understand error cause

        The error indicates the log stream 'myStream' does not exist in 'myGroup'. You must create the stream before sending logs.
      2. Step 2: Identify correct fix

        Creating the log stream with aws logs create-log-stream resolves the error. Changing group or removing timestamp won't help.
      3. Final Answer:

        Create the log stream 'myStream' inside 'myGroup' before putting events -> Option C
      4. Quick Check:

        Log stream must exist before putting logs [OK]
      Hint: Create log stream first to avoid put-log-events error [OK]
      Common Mistakes:
      • Trying to put logs before stream creation
      • Ignoring error details about missing stream
      • Confusing log group creation with stream creation
      5. You want to organize logs from multiple microservices in AWS CloudWatch. Each microservice should have its own log stream, but all streams must be grouped for easy management and retention. Which setup is best?
      hard
      A. Store logs outside CloudWatch to avoid managing groups and streams
      B. Create one log group for all microservices, and create separate log streams for each microservice inside it
      C. Create one log group per microservice and put all logs in a single stream inside each group
      D. Create one log stream per microservice without using log groups

      Solution

      1. Step 1: Understand grouping and streaming roles

        Log groups organize logs for management and retention. Log streams separate logs by source within groups.
      2. Step 2: Choose best structure for microservices

        Using one log group for all microservices and separate streams per microservice allows easy management and searching.
      3. Step 3: Evaluate other options

        Create one log stream per microservice without using log groups lacks grouping, C creates many groups complicating retention, A ignores CloudWatch benefits.
      4. Final Answer:

        Create one log group for all microservices, and create separate log streams for each microservice inside it -> Option B
      5. Quick Check:

        Group = container; streams = sources [OK]
      Hint: Group logs by app, stream by source inside group [OK]
      Common Mistakes:
      • Skipping log groups and using only streams
      • Creating too many log groups unnecessarily
      • Ignoring CloudWatch log management features
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard