Supported Platforms
| Platform | Notes |
|---|---|
| Redshift Provisioned | All node types (RA3, DC2, DS2) |
| Redshift Serverless | Workgroups with any RPU configuration |
Connection Settings
| Field | Description | Example |
|---|---|---|
| Connection Name | Friendly identifier | Production Redshift |
| Host | Cluster or workgroup endpoint | my-cluster.abc123.us-east-1.redshift.amazonaws.com |
| Port | Database port | 5439 |
| Database | Database name | dev |
| Username | Database user | anomalyarmor |
| Password | User password | See credentials section |
Finding Your Connection Details
- Provisioned Cluster
- Redshift Serverless
- Go to AWS Console > Amazon Redshift > Clusters
- Click on your cluster name
- Find the Endpoint in the cluster details
- Copy the hostname portion (everything before the port)
Creating a Read-Only User
Create a dedicated user with minimal permissions:Verifying Permissions
Test that the user can access metadata:Network Configuration
Security Groups
Add an inbound rule to your Redshift cluster’s security group:- Go to AWS Console > VPC > Security Groups
- Find the security group attached to your Redshift cluster
- Edit inbound rules
- Add rule:
- Type: Custom TCP
- Port:
5439 - Source: AnomalyArmor IP addresses (see Settings > Security)
Public Accessibility
For AnomalyArmor to connect: Option 1: Publicly Accessible Cluster- Enable “Publicly accessible” in cluster settings
- Configure security group as shown above
Redshift clusters in private subnets with no public access require NAT Gateway or VPC peering. Contact us for Enterprise networking options.
SSL/TLS
Redshift requires SSL by default. AnomalyArmor automatically uses SSL for all Redshift connections.Redshift Serverless Considerations
Automatic Scaling
Redshift Serverless scales compute automatically. Our discovery queries are lightweight and consume minimal RPUs.Idle Workgroups
If your workgroup has been idle, the first query may take a few seconds while compute scales up. This is normal behavior.Database Name
Redshift Serverless typically usesdev as the default database. Check your workgroup settings if unsure.
What We Monitor
AnomalyArmor discovers and monitors:| Object Type | Monitored | Notes |
|---|---|---|
| Tables | Yes | All user-created tables |
| Views | Yes | Regular views |
| Materialized Views | Yes | Treated as tables |
| External Tables | Yes | Redshift Spectrum tables (if permissions granted) |
| System Tables | No | Excluded automatically |
Metadata Captured
For each table and view:- Table name and schema
- Column names and data types
- Nullable constraints
- Default values
- Last modified timestamp (for freshness)
What We Query
AnomalyArmor runs these types of queries:Multiple Schemas
To monitor multiple schemas, grant permissions on each:Redshift Spectrum (External Tables)
If you use Redshift Spectrum for querying S3:Troubleshooting
Connection refused
Connection refused
Causes:
- Security group not configured
- Cluster not publicly accessible
- Wrong endpoint
- Verify AnomalyArmor IPs are in security group inbound rules
- Check “Publicly accessible” setting in cluster configuration
- Verify endpoint is correct (check AWS Console)
- Test connectivity:
nc -zv your-endpoint 5439
Connection timeout
Connection timeout
Causes:
- Firewall blocking connection
- Cluster in private subnet without proper routing
- Verify security group allows port 5439 from AnomalyArmor IPs
- If private subnet, ensure NAT Gateway is configured
- Consider enabling “Publicly accessible” for the cluster
- Contact us for VPC peering options (Enterprise)
Authentication failed
Authentication failed
Causes:
- Wrong password
- User doesn’t exist
- Case sensitivity issues
- Verify password (copy-paste to avoid typos)
- Confirm user exists:
SELECT usename FROM pg_user; - Remember: Redshift usernames are case-sensitive when quoted
- Try resetting the password:
Database does not exist
Database does not exist
Causes:
- Wrong database name
- Case sensitivity
- List databases:
SELECT datname FROM pg_database; - Redshift Serverless default is usually
dev - Database names are case-sensitive
No tables found in discovery
No tables found in discovery
Causes:
- User lacks SELECT permission
- Schema permissions missing
- No tables in monitored schemas
- Test as the user:
- Grant schema access:
- Verify tables exist in expected schemas
SSL connection error
SSL connection error
Causes:
- SSL configuration mismatch
- AnomalyArmor uses SSL by default (required for Redshift)
- Ensure your cluster has SSL enabled (default setting)
- Contact support if you have custom SSL requirements
Best Practices
Use a Dedicated User
Create a read-only user specifically for AnomalyArmor:- Don’t use admin accounts
- Don’t share credentials with other tools
- Use a strong, unique password
Use Read Replicas (if available)
If you have Redshift RA3 with data sharing or multiple clusters, consider pointing AnomalyArmor at a read replica to isolate monitoring queries from production workloads.Grant Minimal Permissions
Only grant access to schemas you want to monitor. Avoid:Schedule Discovery After ETL
If you have predictable ETL schedules, run discovery after ETL completes:| Schedule | Time |
|---|---|
| ETL | 2:00 AM daily |
| Discovery | 3:00 AM daily |
Limitations
- IAM authentication: Not yet supported (username/password only)
- Cross-database queries: One connection per database
- Concurrency scaling: Queries run on main cluster, not concurrency scaling
- Stored procedures: Not monitored (tables and views only)
Coming Soon
- IAM role-based authentication
- Redshift-specific metrics (WLM queue status, disk usage)
- Cross-cluster data sharing support
Next Steps
Run Discovery
Scan your Redshift cluster
Set Up Alerts
Get notified of schema changes
