A terminal-based user interface (TUI) application for viewing AWS Lambda function logs across multiple profiles and regions.
- 🔍 Browse and filter Lambda functions across AWS profiles
- ⚡ Quick access to recent logs with predefined time ranges
- 📅 Custom date range selection for detailed log analysis
- 🔎 Real-time log filtering and search
- 💨 Fast navigation with keyboard shortcuts
- 📦 Function list caching for improved performance
- Rust (latest stable version)
- AWS credentials configured in
~/.aws/credentials
- AWS config with profiles in
~/.aws/config
- Clone the repository:
git clone https://github.com/resola-ai/rust-aws-tui
cd rust-aws-tui
- Build and install:
cargo install --path .
- Update config.toml with your AWS profiles and regions.
- Use
↑
/↓
ork
/j
to navigate through lists Tab
to switch between panelsEnter
to select/confirmEsc
to go back/cancelq
to quit the application
- Select an AWS profile from the list
- Use
↑
/↓
orj
/k
to navigate profiles - Press
Enter
to select - Press
q
to quit
- Select an AWS profile from the list
- Choose a region
- Browse or search through the Lambda functions list
- Press
Enter
to view logs for the selected function
- Choose from predefined ranges:
- Last 15 minutes
- Last hour
- Last 3 hours
- Last 24 hours
- Or select "Custom Range" to specify exact dates and times
- Use
↑
/↓
to scroll through logs - Type to search/filter logs in real-time
Ctrl+C
to copy selected log entryf
to toggle full-screen mode
Toggle detail view with Enter
Ensure your AWS credentials are properly configured:
[default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_KEY
[other-profile] aws_access_key_id = OTHER_ACCESS_KEY aws_secret_access_key = OTHER_SECRET_KEY
[profile default] region = us-west-2
[profile other-profile] region = eu-west-1
The application caches function lists to improve performance. Cache files are stored in:
- Linux/macOS:
~/.cache/aws-lambda-logs-viewer/
- Windows:
%LOCALAPPDATA%\aws-lambda-logs-viewer\
To clear the cache, delete the cache directory or use the --clear-cache
flag when launching the application.
-
No AWS profiles found
- Verify AWS credentials file exists
- Check file permissions
- Ensure proper file format
-
Cannot fetch Lambda functions
- Verify AWS credentials are valid
- Check IAM permissions
- Ensure network connectivity
-
Slow function loading
- Consider using the cache feature
- Check network latency
- Verify AWS API rate limits
Minimum IAM policy required:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:ListFunctions", "logs:GetLogEvents", "logs:FilterLogEvents", "logs:DescribeLogStreams", "logs:DescribeLogGroups" ], "Resource": "*" } ] }
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.