TimescaleDB - Developer Guide

Follow our comprehensive guide to set up an integrated TimescaleDB, Prometheus, Grafana, and Node Exporter stack on AWS. Learn how to deploy, configure, and fine-tune this environment for secure, scalable team collaboration or a robust DevOps monitoring command center in the cloud.

TimescaleDB - Developer Guide


Welcome to the TimescaleDB AWS Deployment Guide. Seamlessly integrate TimescaleDB with AWS for scalable, secure, and automated operations. Gain the expertise to install and configure these tools using our step-by-step AWS deployment guide:

  • TimescaleDB - A powerful PostgreSQL-based time-series database, optimized for handling high ingestion and analytics workloads.
  • Prometheus -  A leading open-source monitoring and alerting toolkit for collecting real-time metrics.
  • Grafana - A visualization and analytics platform for creating dynamic dashboards and insightful reports.
  • Node Exporter - A lightweight exporter that provides detailed Linux host metrics to Prometheus.

This in-depth resource covers everything from provisioning your AWS environment to securely deploying and optimizing your stack for scalability, high availability, and performance. Whether you're building a DevOps observability hub, a performance analytics system, or a secure team collaboration dashboard, our guide ensures you can deploy this monitoring and analytics stack efficiently and effectively within your AWS infrastructure.

Prerequisites

Before you get started with the TimescaleDB AMI, ensure you have the following prerequisites:

Launching the AMI

Step 1: Find and Select ''TimescaleDB'' AMI

  1. Log in to your AWS Management Console.
  2. Navigate to the 'TimescaleDB' in  AWS Marketplace.

Step 2:  Initial Setup & Configuration

  1. Click the "Continue to Subscribe" button.
  2. After subscribing, you will need to accept the terms and conditions. Click on "Accept Terms" to proceed.
  3. Please wait for a few minutes while the processing takes place. Once it's completed, click on "Continue to Configuration".
  4. Select the "CloudFormation script to deploy TimescaleDB " as the fulfilment option and choose your preferred region on the "Configure this software" page. Afterward, click the "Continue to Launch" button.
  5. From the "Choose Action" dropdown menu in "Launch this software" page, select "Launch CloudFormation" and click "Launch" button.

Create CloudFormation Stack

Step1: Create stack

  1. Ensure the "Template is ready" radio button is selected under "Prepare template".

2.  Click "Next".

Step2: Specify stack options

  1. Provide a unique "Stack name".
  2. Provide the "Admin Email" for SSL generation.
  3. For "DeploymentName", enter a name of your choice.
  4. Choose an instance type, "InstanceType" (Recommended: m6i.large).
  5. Enter your TimescaleDB Dashboard “Grafana Dashboard Password”
  6. Enter your TimescaleDB Dashboard “Grafana Dashboard Username”
  7. Enter your Grafana Domain Name “Grafana Domain Name”
  8. Enter your Prometheus Dashboard “Prometheus Domain Name”
  9. Enter your TimescaleDB Dashboard “TimescaleDB Database Password”
  10. Enter your TimescaleDB Dashboard “TimescaleDB Database Username”
  11. Select your preferred "keyName".
  12. Set "SSHLocation" as "0.0.0.0/0".
  13. Keep "SubnetCidrBlock" as "10.0.0.0/24".
  14. Keep "VpcCidrBlock" as "10.0.0.0/16".
  15. Click "Next".

Step3: Configure stack options

  1. Choose "Roll back all stack resources" and "Delete all newly created resources" under the "Stack failure options" section.
  2. Click "Next".

Step4: Review

  1. Review and verify the details you've entered.

2. Tick the box that says, "I acknowledge that AWS CloudFormation might create IAM resources with custom names".

3. Click "Submit".

Afterward, you'll be directed to the CloudFormation stacks page.

Please wait for 5-10 minutes until the stack has been successfully created.

Update DNS

Step1: Copy IP Address

Copy the public IP labeled "PublicIp" in the "Outputs" tab.

Step2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. From there, click on Create record.

3. Add the record name and then paste the copied "PublicIp" into the "value" textbox.

4. Click "Save".

Access Prometheus and Grafana

Once the deployment is complete, you can access your monitoring tools through the URLs provided in the Outputs tab of your AWS stack:

Grafana Dashboard – Use this link to log in, create your Admin account, and configure dashboards. All future user accounts can be managed through the Grafana Admin panel.

Prometheus Dashboard – Access this link to view collected metrics, run queries, and monitor system performance in real time.

(If you encounter a "502 Bad Gateway error", please wait for about 5 minutes before refreshing the page)

Please enter the Grafana Dashboard Username and Grafana Dashboard

Password that you have provided. Ensure both are stored securely for future reference

Generate SSL Manually

TimescaleDB will automatically try to setup SSL based on provided domain name, if that domain hosted on Route53. If its unsuccessful then you have to setup SSL manually.

Step1: Copy IP Address

  1. Proceed with the instructions outlined in the above "Update DNS" section, if you have not already done so.
  2. Copy the Public IP address indicated as "PublicIp" in the "Outputs" tab.

Step2: Log in to the server

  1. Open the terminal and go to the directory where your private key is located.
  2. Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>

3. Type "yes" and press Enter. This will log you into the server.

Step3: Generate SSL

Paste the following command into your terminal and press Enter, and follow the instructions

sudo /root/certificate_generate_standalone.sh

Admin Email is acquiring for generate SSL certificates.


Check Server Logs

Step1: Log in to the server

  1. Open the terminal and go to the directory where your private key is located.
  2. Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>

3. Type "yes" and press Enter. This will log you into the server.

Step2: Check the logs

sudo docker ps

Select the correct container and check logs

sudo docker logs 85

Shutting Down TimescaleDB

  1. Click the link labeled "Instance" in the "Resources" tab to access the EC2 instance, you will be directed to the TimescaleDB instance in EC2.

2. Select the TimescaleDB instance by marking the checkbox and click "Stop instance" from the "Instance state" dropdown. You can restart the instance at your convenience by selecting "Start instance".

Remove TimescaleDB

Delete the stack that has been created in the AWS Management Console under 'CloudFormation Stacks' by clicking the 'Delete' button.

Upgrades

When there is an upgrade, we will update the product with a newer version. You can check the product version in AWS Marketplace. If a newer version is available, you can remove the previous version and launch the product again using the newer version. Remember to backup the necessary server data before removing.


Troubleshoot

  1. If you face the following error, please follow https://meetrix.io/articles/how-to-increase-aws-quota/ blog to increase vCPU quota.

2. If you face the following error (do not have sufficient <instance_type> capacity...) while creating the stack, try changing the region or try creating the stack at a later time.

3. If you face the below error, when you try to access the API dashboard, please wait 5-10 minutes and then try.

4. Check whether the instance storage is full.

  • Log into the server and run the below command

                                                                 df -h

                                                             root volume

  • If the root volume is between 90-100%, it is better to resize EBS volume. Please follow AWS documentation to increase the EBS volume.

Conclusion

The Meetrix TimescaleDB Deployment Guide offers step-by-step instructions to help you securely and seamlessly deploy TimescaleDB on AWS. Designed for DevOps engineers, system administrators, and IT leaders, this guide empowers your team to build a scalable, self-hosted communication platform. Unlock real-time collaboration, automation, and integration capabilities tailored for high-trust environments all with clarity and confidence.

Technical Support

Reach out to Meetrix Support (aws@meetrix.io)  for assistance with TimescaleDB issues.

Discover Seamless Meetings with >>>
Meetrix