Settings
On this page
Instance Details
Navigate to Settings > Instance Details, and enter the following configuration details:
-
Ingest Instance Name: Enter a name for the current instance of Ingest.
-
Web Port: Enter the port on which the Ingest server runs.
-
Icon Text: Enter the text for your instance icon.
The text takes only 2 characters. -
Icon Color: Select the color for your instance icon.
Select Apply to save the settings.
License
To obtain a valid license, contact SingleStore Sales or your SingleStore technical account team representative with the Product ID.
History
Navigate to Settings > History, and enter the following configuration details:
-
Enable Keep history by default, if you want to keep history always.
-
In History Start Date Column, enter the source date for type-2 SCD records.
-
In History End Date Column, enter the history end date for type-2 SCD records.
-
In Open End Date Column (YYYY-MM-DD), enter the end date used for history records.
-
In Max.
Updates in batch, enter the value that determines when combined updates exceed this threshold in a batch.
Select Apply to save the settings.
About Ingest
To view the Version, Build, Host Name, and Ingest Location of your installed Ingest Instance, navigate to Settings > About Ingest.
User-Defined Settings
To add custom fields, navigate to Settings > User Defined Settings.
Note: You can add only one custom field.
Email Notification
To configure email updates, navigate to Settings > Email Notification, and then perform the following steps:
-
To receive email notifications, enable Enable Email Notifications.
-
In Host Name, enter the address of your SMTP server.
-
In Port, enter the port number that the SMTP server is listening on.
-
In Sender, enter the email address from which the notifications are sent.
This must be a valid email address on the server. -
In Recipient, enter the email address to which the notifications are sent.
-
In User ID, enter the full email address to authenticate with the SMTP server.
-
Enter the Password for the email, then confirm it in the Confirm Password field.
Note: Passwords are encrypted within Ingest.
Select Apply to save the settings.
AWS Proxy Settings
Navigate to Settings > AWS Proxy Settings, enter the following configuration details.
-
Proxy Host: Enter the S3 proxy host name.
-
Proxy Port: Enter the S3 proxy port.
-
Proxy User Id: Enter the S3 proxy user ID.
-
Proxy Password: Enter the S3 proxy password.
Select Apply to save the settings.
AWS Credentials
Ingest can access AWS services using either IAM roles or access keys when deployed on-premises.
To access AWS services from an on-premises SingleStore Flow server, navigate to Settings > AWS Credentials, and perform the following steps.
-
Enable Use EC2 IAM Role, if you are using.
-
Select the AWS Region from the list.
-
Enter the AWS access key ID in AWS Key and AWS Secret Key to access the S3 service (if installed on-premises).
For installations using IAM roles, these keys are not required. Note: Keys are encrypted within Ingest. -
If you are using KMS, enter the KMS Key in AWS Key.
Note: Keys are encrypted within Ingest.
Select Apply to confirm and save the details.
AWS Recovery
Ingest supports high availability, which means it automatically saves the current configuration and execution state to S3.
SingleStore Flow keeps a backup of every successful job execution in S3 that makes the latest version available for recovery.
-
In Ingest Instance Name, enter a name for the current instance of Ingest.
-
Check Enable Recovery.
-
In S3 Recovery Location, enter the destination for recovery data in S3, for example:
s3://your_
.bucket_ name/your_ folder_ name/Ingestyour_ _ name -
In S3 KMS Id, enter the KMS ID to encrypt logs in S3.
This is optional but recommended. When provided, logs are encrypted using KMS encryption.
Select Apply to save the settings.
Recovery Utilization
To recover an instance of Ingest, source a new instance of Ingest on a new server or Amazon EC2 server:
-
Download and install Ingest in the newly launched EC2.
Refer to the Install SingleStore Flow. -
Once the EC2 instance is running, the endpoint is an EC2 instance hosting Ingest as a Windows service on port 8081.
The EC2 instance's assigned role must include the required policies. Refer to the AWS Identity and Access Management (IAM) for SingleStore Flow. -
The list of instances is stored in DynamoDB.
Ensure that the EC2 role has the necessary permissions to access DynamoDB and the underlying table containing saved instances.
-
-
Once the EC2 instance is launched, open the Ingest web console by entering localhost:8081 in a Chrome browser.
-
Select Existing Instance.
-
Select the instance you want to restore from the list (e.
g. , Your_
).Ingest_ Name -
Select Select.
-
Ingest retrieves the configuration and saved execution state of the selected instance and restores it.
-
After restoration, SingleStore recommends to stop the faulty EC2 instance (the previous installation):
-
Go to the AWS EC2 console.
-
Search for the Ingest tag (or the tag used to launch the application).
-
Select the older EC2 instance.
-
Navigate to Actions > Instance State, and then select Terminate.
-
Note: Recovery can also be used as a method for partial migration between environments (e.
Recovery from Faults
SingleStore Flow supports high availability and auto-recovery mechanisms in case of faults or failures.
-
EC2 Instance Failures: If the EC2 instance is terminated or affected, Flow saves the last successful loads as a savepoint.
It resumes from the savepoint when restarted on another EC2 instance or AZ. -
SingleStore Connection Issues: Flow retries until successful.
-
Source DB Connection Issues: Flow retries until successful.
-
AWS S3 Connection Issues: Flow retries until successful.
Customers seeking high availability must configure their Ingest instance for high availability and recovery.
In the event of application faults or failures:
-
Enable CloudWatch Logs and metrics to get notified.
AWS CloudWatch events can be used for alerting by writing custom Lambda functions. -
Enable SNS notifications in setup details Ingest and subscribe to the SNS topic via the AWS console.
To monitor EC2 instances:
-
Enable CloudWatch monitoring for EC2 or set up health checks with proper alerts.
-
For disk space, setup details Ingest sends status updates to CloudWatch Logs, including free disk space in GB.
Users can create Lambda functions to raise alarms when space is low.
Refer to Remote Monitoring for more information.
Disk Space Monitoring via Lambda
Prerequisites
-
Create an IAM role with the following policy to allow Lambda functions to call AWS services.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents", "logs:PutLogEvents" ], "Effect": "Allow", "Resource": "arn:aws:logs:<region>:<account_ID>:log-group:<log-group-name>:log-stream:<log-stream-name>" }, { "Sid": "Stmt2", "Action": [ "sns:Publish", "sns:TagResource" ], "Effect": "Allow", "Resource": "arn:aws:sns:<region>:<account_ID>:<topic_name>" } ] }
-
Create an SNS topic (refer to What is Amazon CloudWatch? for more information) and use the ARN in your Lambda function code.
Lambda Function Steps
-
Log in to the AWS console and go to the AWS Lambda dashboard.
-
Select Create Function and enter a function name.
-
Select Python 3.
8 as the runtime. -
Select Create Function.
-
Add a trigger for CloudWatch Log and select your log group.
-
Add the Lambda code for disk check and select the Lambda Execution Role.
-
Select Save.
Here is sample Lambda code to check disk space:
import json
import boto3
def lambda_handler(event, context):
freeGb = 100
cloudwatch = boto3.client('logs')
response = cloudwatch.get_log_events(
logGroupName='Oracle_LogGroup',
logStreamName='Oracle_LogStream',
startFromHead=False,
limit=100
)
for i in response['events']:
msg = json.loads(i['message'])
if msg['type'] == "Status" and msg['diskFreeGB'] < freeGb:
sns = boto3.client('sns')
sns.publish(
TopicArn='arn:aws:sns:us-west-2:689564010160:LambdaTrigger',
Message='Your free disk size is getting low, please contact the concerned team!'
)
Note: Customize the email body as needed.
Time to Recover
Recovery Point Objective (RPO)
Ingest automatically recovers from most failure scenarios that leverages durable services like S3 for unlimited data retention.
Note: No full reload is required, unlike other solutions.
Recovery Testing
After recovery, perform the following tasks before resuming replication:
-
Start the Ingest service.
-
Open the web console in Chrome.
-
Navigate to Dashboard > Source and test the connection for the source database.
-
Navigate to Dashboard > Destination and test the connection for the destination database.
-
If there are any connection issues, troubleshoot and resolve them.
-
Once successful, navigate to Dashboard, under Schedule, enable the Scheduler, and resume replication.
AWS CloudWatch Logs
Ingest comes pre-configured with remote monitoring capabilities that leverage existing AWS technologies, such as CloudWatch Logs and Events.
In addition to integration with CloudWatch, Ingest writes internal logs directly to S3, including execution and error logs from the Ingest console.
-
Check Enable CloudWatch Logs and metrics to get notified.
AWS CloudWatch events can be used for alerting by writing custom Lambda functions. -
Enter the name of the CloudWatch Log Group.
This needs to be created first in the AWS console. To create a CloudWatch Log Group, refer to CreateLogGroup for more information. -
Enter the name of the CloudWatch Log Stream.
This also needs to be created first in the AWS console. To create a CloudWatch Log Stream, refer to CreateLogStream for more information. -
Select Apply to save the settings.
Refer to Appendix for more information.
AWS CloudWatch Metrics
Navigate to Settings AWS CloudWatch Metrics, and perform the following steps.
-
Check Enable CloudWatch Metrics if required.
-
In CloudWatch Metrics Namespace, enter the name of CloudWatch metric.
Refer to View available metrics for more information. -
Select Apply to save the settings.
The events that Ingest pushes to AWS CloudWatch Logs and the metrics console are as follows.
AWS SNS Notifications
Navigate to Settings > AWS SNS Notifications, and perform the following steps.
-
Check Enable SNS notifications and subscribe to the SNS topic via the AWS console.
-
In SNS Topic, enter the Topic ARN or SNS Topic Name.
To create an SNS Topic, refer to Creating an Amazon SNS Topic for more information. -
Select Apply to save the settings.
Refer to Appendix for more information.
AWS S3 Logging
Navigate to Settings > AWS S3 Logging, and perform the following steps.
-
Check Enable S3 Logging if you want to record data to S3 (console/execution logs).
-
In S3 Log Location, enter the destination of the logging data in S3, for example:
s3://your_
bucket_ name/your_ folder_ name. -
In S3 KMS Id, enter the KMS ID to encrypt logs in S3.
This is optional but recommended. When provided, logs are encrypted using KMS encryption. -
Select Apply to save the settings.
Metadata Settings
Navigate to Settings > Metadata Settings, and perform the following steps.
-
Check Enable Operational Metadata, if required.
-
Select metadata database from the Database Type list: AWS Aurora.
-
In Host Name, enter the IP address or hostname of the database server.
-
In Port, enter the port number on which the database server is listening.
-
In Database Name, enter the name of your database.
-
In Database Schema, enter the schema name of your database.
-
In User Id, enter a valid database user ID to be used with Ingest.
-
Enter the Password and confirm it by re-entering it in the Confirm Password field.
-
JDBC Options are optional and can be used to extend the JDBC URL for accessing the database.
-
Select Apply to save the settings.
Last modified: January 29, 2025