- AWS CLI installed:
aws --version - AWS account with CloudWatch Logs access
- Terminal access
aws configureEnter when prompted:
- Access Key ID: Your AWS access key
- Secret Access Key: Your AWS secret key
- Default region: e.g.,
us-east-1 - Output format:
json(recommended)
# Create multiple profiles for different environments
aws configure --profile dev
aws configure --profile staging
aws configure --profile production# Configure SSO profile
aws configure sso --profile company-admin
aws sso login --profile company-adminexport AWS_ACCESS_KEY_ID=your-key
export AWS_SECRET_ACCESS_KEY=your-secret
export AWS_DEFAULT_REGION=us-east-1If running on EC2, attach an IAM role with CloudWatch permissions:
# No configuration needed - cwlogs will automatically use the IAM role and detect the region
./cwlogsFeatures:
- Automatically uses EC2 instance IAM role
- Auto-detects EC2 region from instance metadata
- No AWS CLI setup required
Your AWS user/role needs these CloudWatch permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:DescribeLogGroups",
"logs:FilterLogEvents"
],
"Resource": "*"
}
]
}Test your setup:
# Check credentials
aws sts get-caller-identity
# List available profiles
aws configure list-profiles
# Test CloudWatch access
aws logs describe-log-groups --max-items 5
# Test specific profile
aws logs describe-log-groups --profile production --max-items 5# cwlogs automatically detects and uses available profiles
./cwlogs# Use specific profile
./cwlogs production
# Use profile with region
./cwlogs production us-west-2
# Use flags
./cwlogs --profile dev --region eu-west-1"No AWS profiles found"
# Solution: Configure AWS CLI
aws configure"Access denied"
# Check credentials
aws sts get-caller-identity
# Check CloudWatch permissions
aws logs describe-log-groups"SSO session expired"
# Re-authenticate
aws sso login --profile your-profile"No log groups found"
# Check region
aws configure get region
# List log groups in specific region
aws logs describe-log-groups --region us-west-2
# On EC2: cwlogs auto-detects region, but you can override
./cwlogs default us-west-2List profiles:
aws configure list-profilesSwitch default profile:
export AWS_PROFILE=productionCheck current configuration:
aws configure list- Use IAM roles instead of access keys when possible
- Rotate access keys regularly
- Use least-privilege permissions
- Never commit credentials to code
- Use descriptive profile names:
company-dev,company-prod - Group profiles by environment or account
- Document profile purposes for team members
- Set appropriate default regions for each profile
- Use region override in cwlogs when needed:
./cwlogs profile region - Consider data residency and compliance requirements